EP 001 28 min
Aspiring Finishers
Drew and Dan break down real-world software development—what’s working, what’s not, and where things are going. Topics range from app development and AI to conference takeaways (Deep Dish Swift), technical deep dives, and the occasional detour into reverse engineering and industry absurdities. Practical, opinionated, and grounded in actual experience.
Rundown 5 segments
Watch
Plays from youtube-nocookie.com. Open on YouTube
Links for things mentioned in this episode
- Dan’s new Swift blog, Certainly Swiftcertainlyswift.com
- Drew’s YouTube live stream coding channel, @DrewBensonCodesyoutube.com
- 9 to 5 Mac’s story on 4-star reviews:App Store ratings ‘broken’ as your 4-star review could hurt a developer9to5mac.com
- Dan’s social check-in (and Swarm replacement) app,, The Midstapps.apple.com
- Relay Team Finder - releasing in August - for Aspiring Finishers
- Deep Dish Swift 2026deepdishswift.com
- Adam Tow and his great talk on being adaptable, The Long Game: 30+ Years as an Indie Apple Developertow.com
- David Beck’s talk, Surviving in Low Connectivitydavidbeck.co
- Chad Etzel’s awesome talk on Reverse Engineering the macOS Genie Animationjazzyapps.com
Thanks for joining us!
Clips from this episode
TranscriptAuto-generated, so it may contain errors.
Good morning, Drew.
Good morning, Dan. How are you?
Good morning, everyone. This is Drew and Dan in the Morning, our first episode of the podcast called Drew and Dan in the where talk about whatever comes to mind, software development in the modern age of AI, frameworks, news, tools.
And it is definitely morning. So in case you're wondering, because I've got a coffee cup, which proves morning.
This is Drewan. It is. I actually do not have coffee. I've had my coffee. It's late enough in the morning that I, but maybe an early afternoon coffee will be fitting. So, Drew, you and I go back how many years? I feel like 2018 maybe.
I feel like, yeah, about 2018, sounds right. Yeah, I think we met at a Swift Meetup iOS developer. that the one you started or was that some other one? I don't recall.
It was. It was ⁓ certainly Swift. I have a little bit of a, a love affair. If you can put that word is ⁓ to word certainly. I like the word certainly. I recently started a podcast called certainly Swift, ⁓ not podcast, a blog, blog. And I named it certainly Swift. I like the word certainly. And ⁓ so yeah, started a meetup and you and I met there, you and one other person were the only attendees to the first one. ⁓ And ⁓ ⁓ meetup. came and went, but here we are today with our first podcast. And ⁓ it will perpetuate because the internet is forever.
Forever, yeah. Exactly. I'm Drew. I've been doing, well, I started programming when I was about 10. I've been an iOS software developer for the last ⁓ whatever, years, something like that. Mostly iPad apps, apps, and try to work on my own projects, because those are the most interesting, most of time.
Yes, have the most connection with those. did you start with at age 10? Do you remember what you were programming? OK.
Oh, geez. Yeah, absolutely. Fourth grade, fifth grade. I don't know. Something like that. My teacher, guess it was I think it was in fourth grade, but it was the fifth grade teacher had this gotten this Apple two plus in the classroom. And, you know, there was a couple of games on there, like a typing tutor thing and Oregon Trail eventually showed up. But I was interested in like, how does it work and the basic programming language and eventually did like assembly and. And I went to college for computer science, took a wild couple of detours and some other directions, and then got back to ⁓ software.
No, nice. I actually didn't know you worked in assembly language at one point.
Yeah, a while we can talk about that. ⁓ Maybe not today. We don't want to get everyone off right away on the first episode. ⁓ let's see. You had a news item you wanted to ⁓ start
That's very cool. No, no. I did. I ran across some news this morning. talked about, well, the title of the article, and we'll link to the show notes, it's from 9to5Mac. App Store ratings broken as your four-star review could hurt a developer. And I thought was interesting because you and I talked about it on our way back from Deep Dish Swift on the drive. it goes into how we want to prompt users or nag our users to to rate and review the app. I'll just quote from the article quick here. Review prompts are the difference between a great app getting five positive reviews and thousands of positive reviews. I would never recommend to a developer to not implement the APIs. It's the app store editorial suicide for most apps, since Apple tends to only pick things up when they have that body of review data. So what I read just from ⁓ one little paragraph is like, you need reviews to get your app featured by Apple. I've never had an app featured by Apple.
Now are we talking about ratings, like click the star button or actually reviews type out words?
⁓ Well, said, if you go on in the article, it talks about how a four-star rating ends up being a negative review. And if you take it from the standpoint that three being the default rating, meaning the app performed as expected, I'm reading the article here, four being better than perspective and five being perfect. Like there's nothing you can do to make this app better, which I always thought like, is it really perfect?
Right. See, I personally don't think that's true at all. I actually had a rule for a while for my kids that they were not allowed to download anything with less than four and half stars because it was used to garbage. So I think, you know, four and a half is the baseline, honestly. And I think it gets that way because of the way apps prompt people. mean, I know, I believe it's still against Apple's rules, but what they usually do is they say, hey, how do you like our app? And if you say, oh my God, I love it. and they say, we're rating here for us. And you say five stars. You go, they go, ⁓ my God, that's awesome. Would you like to rate it on the app store also? And then you get five stars on the app store and ⁓ a review would really help us. hopefully you do that. But if you say anything less than five, they usually will say, ⁓ no, what's the matter? What could we do differently? Maybe put in a little box for you to type something, but definitely don't send you to the review prompt. ⁓ that's why everything you want to be that, that's why everything's almost in that four and a half and up if it's any good.
Interesting, right. Right, right. I actually never thought about that. But you say Apple doesn't, they prevent those kind of patterns.
I think that that is not the terms of their App review guidelines. I think they'll call that like gaming it or something.
Right. Sure. Yeah. Or you're filtering out negative reviews. So you never even prompt that. anyway, I thought it was an interesting article about how if you have a 4.1 star rating on the App Store, any four star review is going to decrease that average. So in other words, leaving a four star review is essentially leaving a negative review, which I'd pretty happy with a four star review. Actually, at this stage in my apps, I'd be happy with any review or users. ⁓ that's another Anyway, it's an interesting article about is the rating system kind of broken should they switch to a thumbs up or a thumbs down rating, which I think is they talk about with maybe Facebook switched to that model years ago. Netflix is what they cite in 2017 and YouTube switched to two of that, thumbs up, thumbs down back in 2009. So maybe the one to five star rating system is out of date.
Maybe. Maybe so, huh, that's interesting. Let's see what's next here. What have been working on, Dan? What kind of things you've been working on lately?
Yeah, that's my news. Well, ⁓ a ⁓ brief history. I've not been developing as long as you. And I started about 10 years ago when Swift was introduced. Actually, I guess that's 12 years ago now, because Swift came out in 2014. And that's I got on the development train, if you will. I started learning software development because of Swift. I'd always been curious about it. had a dabble with Linux ⁓ many years ago. that I had a Linux box in my house, a separate computer that I just had Linux installed on. FreeBSD is what I installed, but I didn't know where to go with it. And I didn't really find my footing until Swift came out. And then when SwiftUI was introduced, I jumped right on that. And then in 2023, I started developing for the backend using Vapor, Swift on the server. So that's my history. And the current event is two main apps that I focus on, a social network app that is called the MiTST. that uses a location-based, like a map, map-based posting for the social network. And then I'm working on an app for my wife where she is a very avid runner and has difficulty finding teams to join for these relay races that she does because, you know, she'll have a 12-person relay and she can fill eight or 10 slots, but is usually ending up a person or two short. So... I'm working on an app called Relay Team Finder that helps match runners to teams and vice versa. The midst is live on the store. Relay Team Finder is not, but my wife is running a relay in August in Minnesota. And I set a personal deadline to have that app out and live by the time she does that relay. she can advertise it to her teammates, of course. ⁓
Now, are either of these live right now on the store? All
using my wife as marketing and for testing ⁓ live testing if you will. ⁓
Right, okay. Well, that, I mean, that sounds like it makes sense. You're hooking up people that, so you got people that want to be on a team, people that are a race, they want to be in a race, but they don't have a team to be on. So they're looking for a team. And then sometimes you've got a team that's probably short people. They're looking for runner, racer, whatever you call them, runners, racers. What do you call them?
Yeah, racers, depending on how fast you run. You're either just running or you're racing. But I think at her speed and, quite frankly, my speed, I'm not racing. I'm just trying to finish. Yeah, yeah. I will finish the app. ⁓ aspiring, But will finish the app. It's one definitely has a, there's a little bit of a market out there.
Potential finishers, we'll call them. aspiring finishers.
Marketing is a whole other aspect, of course, that I'm not ⁓ versed in, but ⁓ we ⁓ talk about using AI for marketing purposes at point in our discussion because that is an angle that I'm considering using.
That definitely makes sense. I don't know if we have time for that today, but let's see. the other thing we did recently, yeah, Dan and I have been getting together for really, I don't know, a bunch of years, like you said, just kind of off and on, meeting up for coffee, talking about nerd things and programming and fixing problems and helping each other out. And it's been good. And recently we went to Deep Dish Swift 2026 in Chicago. And that was fun. That was fun. I will say I haven't been to a conference since before COVID of any sort. think I went to the last Swift by Midwest in Chicago and it was like the final one. And I went to the, I think that was the last in-person WWDC, you know, before COVID and everything changed the world. So hopefully I am not, you know, a bad omen and this Deep Dish will continue on after this one. ⁓
⁓ no, I never even thought of that. No, certainly not. Yeah.
Yeah, I hope I was kind of concerned about that. You I don't want that. But it was it was I was I was talking we so we're both from the Minneapolis area we drove to this conference and I was talking to Dan a little bit on the way back that I really feel like this conference had a pretty good a really a really good balance of talks. I've been to some sometimes where there's like, you know, all technical and nothing else and other ones that are so non-technical, you're like, come on. And this, I think, had a really good balance. were some that went pretty deep technically, which were cool. And there were some that were more about if you want to be an indie developer and just experiences in that area and recommendations and things to try and things that helped other people. And besides all that, we also met a lot of really cool people, at least I met a lot of cool people. Dan probably knew him already. ⁓
It was my fourth time attending the conference. I've gone every year and I was happy that you came along with me this year, Drew. So it was a lot of fun having a conference buddy, because I've been to some conferences and I have a conference buddy and others that I don't. And it's always fun to have a conference buddy.
You It is. is. Yeah, but I think ⁓ of the things that they addressed that was really right up front and center in the keynote, the opening was just the state the industry today in terms of, you know, there's a lot people really concerned about AI. ⁓ And a lot of people that feel like it's, you this is the best thing ever. This is making it so much more productive for this or that. And other people that feel like this is the end of my profession. What the hell am I going to do? so there's a lot of anxiety and mixed emotions and, ⁓ you know, and from that perspective, I say, I would say they had a few talks that really touched on sort of, you know, those emotions and your feelings and how is it, you know, ⁓ ways you could sort of approach it and thoughts on the topic. And ⁓ do you Think about that.
the presenters was Adam Tau and his was called Playing the Long Game. And ⁓ think that was very relevant and it put me a bit at ease knowing from his and he talked a lot about the Newton platform, Apple's Newton device that some listeners may or not be familiar with depending on how old you are. ⁓ I remember the when it was out. I never had one, but I remember when it came out and ⁓ He talked about how he was all in on the Newton. And then after Apple killed the Newton, it was like he had the protest he attended, or he organized. I think he said he organized a protest. He certainly participated in it. ⁓ he was so passionate about this platform, and then it was just taken away. as ⁓
The protests, you were talking about Newton protests or something, right? I had never heard of that, but that's interesting.
And one of the reasons that I love software development is the fact that it's constantly changing. There's constantly things to learn. And that change is both great and can be stress inducing. And I think the change of AI is, as they discussed in the conference, is somewhat stress inducing because it's not just a change of a platform or a paradigm. It's a change of the job, an employment possibility. And I've recently put myself out there for freelancing and
Right?
And I feel like I maybe couldn't have picked the worst possible time to become a freelancer because there probably is very little to any freelancing available because people losing their jobs due to AI. also his talk talked about, let the platform define you. ⁓ Keep eyes open for what is coming next, what opportunities are coming next, because there is always something coming next. ⁓ And took that to heart, thinking about
Ha Right? Right?
the WWDC coming up this year, I'm really going to have my eyes open for what are the new platforms, what is the new direction that are moving in software development and try to embrace that change rather than be of that change or resist that change. ⁓ As as I don't lean too on AI, I ⁓ want maintain foundational skills as a developer, but I also want to embrace the change that's coming.
Yeah, exactly. I think that was, I think ⁓ Adam's talk was very good that way. He had a lot of really good points of basically his, I think, what does he say? 30 plus years as an indie Apple developer. It's a long time. he definitely switched, know, people would say, several times significantly. that's... ⁓ That's key. You one of the things about the AI and how much it's transformed the work people are doing already today. Cassidy Williams, the opening keynote speaker, said in her talk, you know, she's I think she's at GitHub, right? Is that what it was? Yeah, get up. And she said, you know, their own engineers have doubled the number of PRS that they submit over some period of time. Co-pilot is now the number one contributor. across GitHub. And then this was the numbers that I wrote down because they just struck me. OK, she said they had one billion commits in 2025, which I think that's a pretty large number of commits. I can't really think about that number. All of GitHub, one billion commits in 2025. Now, here's the part that's crazy. Right now, they are getting 205 million commits every
don't remember that. Wow. This is to all of GitHub. Okay.
Week. Every week.
⁓ my god.
So that is 10 times last year, right? 205 times, let's say 50, I know there's 52 weeks, but 200 times 50 is 10,000 if I'm doing math on a live recording. But yeah, that's a lot though. That's, I know it's not, yeah, it's whatever I said. Yeah, it's a huge, it's a huge uptick though. And you know.
That's a lot. That's a lot. I'm gonna let you do it.
That's crazy. And one of the things she pointed out, know, a lot of people also, well, many, several different people mentioned that, you know, we're all just kind of struggling to like keep our heads above water and you feel like you have to keep on top of each that's happening. And, and if you don't, you're falling behind, you're to be lost. and she kind of helped reframe that a little bit where she said a recent stack overflow survey. Now this is stack overflow, right? developers mostly. Recent Stack Overflow survey said 85 % of developers have touched AI. Microsoft said that 15 % of all humans have touched AI and only 1 % of humans actually use it regularly. So this is still very much the leading edge even though it feels like we're just drowning in absolute newness continually and constant change.
50-50. Well, as developers, think we're kind of in a funny little echo chamber because AI is so relevant to what we do. Whereas in other industries, it still be a toy or maybe an assistant of ⁓ way. trying to think of an example. My wife is a teacher. I don't think used AI at all. If maybe or twice maybe looked at chat GPT on the website.
Right?
She is not in her orbit, if you will, whereas we are inundated with it. So we have a little bit of a distorted perspective as to how the popularity of this tool.
Yeah, yeah, think that's true. mean, my kids know about AI. My wife knows it exists, but never does anything with it, except for maybe Google's insights or whatever when she searches for something. ⁓
You can't avoid it there. Well, another talk that was interesting on the technical side of things that was given by David Beck, I wrote down his talk title was Surviving in Low Connectivity. And that was a very interesting talk for me because my app does rely on a network connection just for posting as a social network. It obviously relies on the internet for most of its functionality.
Let's see, what else did you take away from that deep dish?
And he gave some good insights. The most useful to me was that if you have low connectivity, it's hard to tell and hard to test for because just using the iOS simulator to simulate connectivity is not necessarily reflective of what happens in the real world. ⁓ He's developer for
And you're talking about the, what is that thing called, the tool that goes with the simulator or you can have it on your iOS device that is, ⁓ network ⁓ conditioner. ⁓ yeah.
Yeah, it- Right. Yeah, it's like. Yes, nice. Yes. ⁓ Which honestly, I haven't really played with because can only attack so many things in one day and I haven't really played with it. But he ⁓ a way to help your app survive in low connectivity was focus on what your ⁓ app is uploading, not necessarily the download issues, but upload issues. And ⁓ if making network requests, look at your headers. What are you sending in your header? And if you can reduce that any margin, that ⁓ really help if you are in a low ⁓ connection or poor connection ⁓ with your app. And so I need to dive deeper into that. I only made notes about it. haven't actually worked on that because, ⁓ only, I mean, it was a week ago that we got back from DeepDash Swift. So ⁓ haven't tackled.
Right, right. One of the ones that stuck out to me that he talked about too, which was he was talking about the difference between ⁓ HTTP one, HTTP two, HTTP three. know, HTTP one was just like one connection for one request. then, you know, and then they added the thing where you can do one request and then keep the connection open and do another request. And HTTP two like multiplexes them. So you can have multiple requests going simultaneously, but they don't need to complete in order. ⁓ And then HTTP3 uses this other protocol instead of TCP, something called QUIC, which I don't really understand yet. But the thing that was interesting is he was talking about compression. And he said in HTTP2 and HTTP3, headers are automatically compressed. And he something about the headers aren't recent. If there's a recent or something, did you follow part?
Yeah, I remember him talking about that. I'd have to look back at that or look deeper into that because it was something about don't just resend and resend and resend because you're just jamming the pipeline. was an interesting point to make, ⁓ don't know. My of network requests isn't deep enough ⁓ to know my app is resending and resending. I think it just sends once. And then and there's just a timeout that's going to happen. So and it'll fail
Mm-hmm. Right, and I know when you use URL session, it'll automatically retry, I think everything, not post request, but I think everything else, pretty much, I think it's retried. And one of the things he was also saying is make sure that whatever you're sending is retryable, and that, and by that I mean that if it shows up twice, it doesn't mess anything up. Like let's say you send it twice, and you know, don't want to all of sudden be duplicating somebody's post because the message got there twice or whatever.
That's right. Right, right. ⁓ so URL session.
⁓ But he also was talking about the compression. said, you know, the responses are normally compressed, the replies coming back to you. But he said the request, like your outgoing request is usually not compressed, although you normally can ⁓ compress which is, I didn't realize that either. So that might be ⁓ a to save a little bandwidth.
Yeah, things to look into. was very insightful because he made the point to show that he actually went out as a developer. He went around for a full day with a Dasher, somebody delivering food and how the app works in these different areas of the town that he's in. And sometimes they're in a building or in an elevator. And is the app still functioning? I mean, these are real world tests. I admired that, that they do that at DoorDash.
Right. Yeah, yeah, he went into a lot of detail, which was great. We're not going to hit every little piece here, but ⁓ the one other thing I was just thinking of that he had said was that, you usually when your app just working, you usually have some connectivity. ⁓ what it is, is you have some reasonable downstream coming to you connectivity and a very, very low upload connectivity and speed.
Well, no.
And in kilobits, like small amount. And he was saying, if you need to have certain requests that really need to get through, that really the only way to do that is to make space for them in your own sending of messages. maybe don't retry everything super aggressively. Or actually, for the things that matter a little less, send them back to back. And make sure there's a spot. So if you have. something that is important that you can get it through. And that's what he said he was working on for I guess the Dasher, for DoorDash, Dasher part of that system.
It was a great conference. I loved it. I always leave energized from the talks, from meeting new people just being in a room with people that are creating things, tackling problems, ⁓ talking about the that people had and the failures. ⁓ It's a very inspiring conference, which is why I've been year after year, and I'm already looking forward to next year as well. These conferences are very inspiring. ⁓ They're tough to schedule around and work around, they're expensive to go to, no doubt, unless you can get your company to pay for it, which would be nice. But I am my own company, so it's me. It's me paying for it, but I really enjoyed it.
Right. There was, who was it, Chad Etzel, ⁓ reverse engineering the Mac OS Genie animation, and this was the last talk or presentation before the closing keynote. this was, he of over the top on this, I'll say. ⁓
Yes. He did.
He went into, you it started out as kind of like, he was almost like a dry comedian, almost like kind of starting out real slow and real just kind of detailed, oh, I tried this and that wasn't it. And then he shows some demo he did, which he obviously spent a lot of time on and talks a little bit more, does it again. And went all the way through until he had really figured out how to make that little, oh, and if anyone doesn't know, the Mac OS Genie animation, that's what we call it when you minimize the your window in Mac OS, just takes like the window content and it goes down into the, into the little, yeah, into the dock. Right, right.
sucks down into the dock. Yeah, I'm doing it right now. Yes, he went into the most math I've ever seen or heard about Bezier curves. It was really well done.
That's it, curves. He says, all that as he occurs are a pile of lerps in a trench coat. That's what I wrote down.
That's right, what was a LERP? Did you write down what a LERP was?
Lerp, yeah, it's linear interpolation. See, I knew what that one was, actually. That's linear interpolation. It's basically saying, hey, if you have a value here and one here, linear interpolation is basically, give me the value that's some percentage between these two, wherever they are. And whether this value is just like a line, like this is six and this is 10, 50 % would be eight. So if you'd give it the 50%, it would give you eight back. But you can do it with not just two points. You could do it with like a two-dimensional location.
Aha, okay.
coordinates or three dimensions or more or whatever, but yeah, basically, I don't know. That's what he said. He said a lot of things that made a lot of sense when he said them and a lot of them now are sort of out of my head. ⁓
Sure, yeah. Well, seeing it on screen, it was the most fun I've ever seen math be shown. I'm not a math, I'm not a mathematical person at all, and it was a great demo with math.
Yeah. And ⁓ the end of his talk, he was going to just give us an example showing, hey, look, I've done this reverse engineering of this thing. And so he had. dummied up a demo app that looks like macOS. I forget, he had it that said macOS some version alpha, whatever is available. And then he clicks it and it looks like it's load something up and it's like, ⁓ it's running on my iPad. See macOS on my iPad. And it was like, I mean, it's fake, but he had like the, he had the menu bar and the dock and he had icons and he had windows. And you could click one of those things that would open and have things that it enclosed and he had messages supposedly appearing and.
on it.
We spent a lot of time on that demo at the end and it was super, super amusing. Yeah.
Right. I, I don't know how he did that. It was very well done. It was like the Mac OS running on his iPad. It was, it was very well done.
Yeah, he implemented a whole lot more of Mac. It's like, and here's Mac OS, you know, for my example. It was just kind of a lot. I'm not sure who was the most amusing, if it was that or if it was Mustafa
Yeah.
Yusuf's CloudKit presentation where we all learned, what do we do, Dan? Force unwrap, because we don't make mistakes. All right, no errors.
Force unwrap all the time. Yes. We don't make mistakes. And network errors never happen. And you'll never reach a fatal error. Fatal errors and force unwraps everywhere. was not to do, but he did it in really entertaining way. The crowd was laughing a good part of the presentation. That was ⁓ very funny use of live coding demo. I don't use CloudKit the way that he was demonstrating it, but... ⁓
You Yeah. Yeah.
but he was doing like a manual CloudKit sync implementation.
Right, right. Just kind of letting you get into the sort of nitty gritty there. Yeah. Well, I think that's it for today. What are we going to Do have any teaser for next time?
I think we could get into a deep dive of either the project that you're working on, which we could keep a secret, or part of the project that I'm working on that I've already said what it is. But ⁓ think we could get into a deep dive. Yeah, I think that's a good next step to go from here.
Okay, so an interesting deep dive next time then. All right, well, thank you everyone for humoring us for 30 minutes. We'll see you soon.
Thank you. Talk to you later, Drew.