
AppForce1: news and info for iOS app developers
Weekly podcast discussing the latest updates, tools and events relevant to iOS app developers. I will also have a couple of reoccurring show sections to spread the word on fellow iOS developers doing fun and interesting things. On top of that I am working hard to do interviews with people relevant to iOS app developers. Think peers, teachers, bloggers who will have an open discussion with me so you can see what passion, hard work and a great community can do for your personal work and success.
Latest episodes

Aug 31, 2022 • 11min
Recorded from a hotel room in Denver
Send us a text360iDev has been an enjoyable experience thus far. I still have the final day of the conference ahead of me when I record this. But I must say, it is awesome seeing so many familiar faces. The weird thing is, I'm seeing most of them for the very first time in real life. Special shoutout to Josh, Azam, Mikaela and Leo. It is great to be able to meet you, for real finally. What I also noticed is how different the conferences are. I've been to AppDevCon, SwiftHeroes, Techorama.be and 360iDev this year and each had a totally different vibe. And each had its own strengths. Experiencing these conferences reaffirmed my resolve to push for another edition of the Do iOS conference in November. I got the first offer letter from a venue and am awaiting a second to ensure I get a good deal on the whole thing. A fun thing to know about organizing an event, the room is a small line item compared to the catering. Once I have the venue booked it is time to do some final number crunching and decide on a ticket price. It will probably be a lot lower than you might expect, which makes me super happy.This week’s articles.PSA: iOS 16 is a huge opportunity to promote your appLock screen widgets in SwiftUIBuilding widgets for iOS applications with WidgetKit and SwiftUIA Beginner's Guide to NavigationSplitView in SwiftUI for iOS 16Custom Metrics with MetricKitHow to capitalize the first letter in SwiftExtensionKit and XPCSharing cross-platform code in SwiftUI appsMaterial for 360iDev.Stream makes it easy for you to seamlessly integrate real-time experiences into your application. Check out their Swift tutorial to learn how you can get started adding video or in-app messaging to your apps! Lead Software Developer Learn best practices for being a great lead software developer.Support the showRate me on Apple Podcasts. Send feedback on SpeakPipeOr contact me on Mastodon: https://hachyderm.io/@appforce1Support my podcast with a monthly subscription, it really helps.My book: Being a Lead Software Developer

Aug 23, 2022 • 56min
David Barnhard, co-host of SubClub by RevenueCat
Send us a textThis episode I am talking to David Barnhard from the SubClub podcast.Interviewing a fellow podcaster is always a blast. Not much audio cleanup todo once done.David runs the SubClub podcast for RevenueCat. I reached out to David months ago and only just now did we get to a recording session. So this was set in motion long before the sponsorship a few weeks ago became a thing.Make sure to check David's app business called Contrast as well.Stream makes it easy for you to seamlessly integrate real-time experiences into your application. Check out their Swift tutorial to learn how you can get started adding video or in-app messaging to your apps! Lead Software Developer Learn best practices for being a great lead software developer.Support the showRate me on Apple Podcasts. Send feedback on SpeakPipeOr contact me on Mastodon: https://hachyderm.io/@appforce1Support my podcast with a monthly subscription, it really helps.My book: Being a Lead Software Developer

Aug 21, 2022 • 10min
Full on trip prep mode
Send us a textTwo weeks since my previous episode. I had my reasons. My family and I went on a trip visiting family in Luxemburg. We slept over monday till friday and I was just not able to record an episode.Of those two weeks the first one was quite warm in the Netherlands. We actually had the first heatwave in the Netherlands this year. year. Nothing too terrible temperature wise, but the related drought is no fun. Again not as bad as other parts of the world, but it is noticable everywhere you go. Also, upstairs, where I record my podcast episodes is not a fun place to be with these temperatures.As mentioned, the second week was family time, which was a really fun time. I got to spend the entire week with my family with dedicated attention without having work in he back of my mind too much.Not thinking about work is hard right now. Only a few days from now I am travelling to Denver to visit 360iDev. I still want to do a lot of checks on my slides and presentation. I am going to be representing Stream there, so… No pressure, right?Considering my travel plans for the next week, I am unsure how/when I will be able to do episode 89. I actually might do something with my DJI Mic while I am in the US. It sounds like a great opportunity to do some fun recordings that are immediatly usable for my podcast. Who knows. Keep an eye on my feed and you will not miss a thing.This week’s articles.Implementing a main thread watchdog on iOS · Jesse SquiresLenses and prisms in Swift - The.Swift.Dev.The easiest way to manage multiple Xcodes - Testable 🍏Shared with You implementation and testing explained - SwiftLeeMastering grid layout in SwiftUI | Swift with MajidCheat sheet on VoiceOver gestures for iOSImplementing Password AutoFill for an iOS applicationSwift.org - Server Guides Now on Swift.orgFaster StoreKit testing by syncing in-app purchase productsiOSConfStream makes it easy for you to seamlessly integrate real-time experiences into your application. Check out their Swift tutorial to learn how you can get started adding video or in-app messaging to your apps! Lead Software Developer Learn best practices for being a great lead software developer.Support the showRate me on Apple Podcasts. Send feedback on SpeakPipeOr contact me on Mastodon: https://hachyderm.io/@appforce1Support my podcast with a monthly subscription, it really helps.My book: Being a Lead Software Developer

Aug 10, 2022 • 34min
RevenueCat and Josh Holtz
Send us a textI have a talk with Josh Holtz about his work at RevenueCat and what RevenueCat can do for you as an iOS app developer.In-App Subscriptions Made EasyThe world's best subscription apps use RevenueCat to power in-app purchases, manage customers, and grow revenue on iOS, Android, and the web.Stream makes it easy for you to seamlessly integrate real-time experiences into your application. Check out their Swift tutorial to learn how you can get started adding video or in-app messaging to your apps! Lead Software Developer Learn best practices for being a great lead software developer.Support the showRate me on Apple Podcasts. Send feedback on SpeakPipeOr contact me on Mastodon: https://hachyderm.io/@appforce1Support my podcast with a monthly subscription, it really helps.My book: Being a Lead Software Developer

Aug 9, 2022 • 11min
Building team boards (in Notion)
Send us a textRight after my vacation it was heads down mode again. At my work, we had a sort of restructuring of the group I am a part of. And this meant a lot of things have changed in how my day to day looks. I now lead developer experience at Stream within Developer Relations. This involved setting up a lot of project related things. From Developer Experience we work very closely with developer advocacy and because of this we chose to set up a shared task board. This way we can easily hand over work or share the workload for specific tasks.I already had a lot of podcast work I needed to do last week, so I couldn’t fit a recording session for my regular episode. But, I do have a really cool special episode I did with Josh Holtz from RevenueCat. Keep an eye out for that one later this week. If all goes well, it should be done soon. For reasons I am not sharing yet, I put in some extra effort to the RevenueCat episode. I hope it will be an inspiring episode.Let’s dive into this week’s articles.Using Measurements from Foundation for values in Swift ChartsEager Grids with SwiftUIFlow Navigation With SwiftUI 4. Implementing the new NavigationStack…Localising a modularised applicationUsing Xcode- Creating Reusable and Shareable Color PalettesExperimenting with Live ActivitiesSupporting universal links in a SwiftUI applicationCommon Swift Task Continuation ProblemCocoaHeadsNL MeetupsCoding is like riding a bikeStream makes it easy for you to seamlessly integrate real-time experiences into your application. Check out their Swift tutorial to learn how you can get started adding video or in-app messaging to your apps! Lead Software Developer Learn best practices for being a great lead software developer.Support the showRate me on Apple Podcasts. Send feedback on SpeakPipeOr contact me on Mastodon: https://hachyderm.io/@appforce1Support my podcast with a monthly subscription, it really helps.My book: Being a Lead Software Developer

Jul 26, 2022 • 12min
Obsessing over Obsidian
Send us a textObsidian note takingArticles of this week:Slicing Environment ObjectGlobal Routing Using Navigation StackAsset Catalog and Dark ModeDelay an async Task in Swift using the new clock APIsBackground tasks in SwiftUIThe Trade-offs of Using Mirror API to do Code Reflection in SwiftHow to create a list with Compositional LayoutCode generation using Swift Package PluginsFirst Experience With Transferable Implementing Drag And Drop In SwiftUIStream makes it easy for you to seamlessly integrate real-time experiences into your application. Check out their Swift tutorial to learn how you can get started adding video or in-app messaging to your apps! Lead Software Developer Learn best practices for being a great lead software developer.Support the showRate me on Apple Podcasts. Send feedback on SpeakPipeOr contact me on Mastodon: https://hachyderm.io/@appforce1Support my podcast with a monthly subscription, it really helps.My book: Being a Lead Software Developer

Jul 19, 2022 • 46min
Gabriel Savit, co-founder at Runway after working as iOS developer
Send us a textLearn about why Gabriel and his co-founders got started with Runway. He started out as an iOS developer, but things quickly progressed from there.Gabriel on Twitter: https://twitter.com/GabrielSavitStream makes it easy for you to seamlessly integrate real-time experiences into your application. Check out their Swift tutorial to learn how you can get started adding video or in-app messaging to your apps! Lead Software Developer Learn best practices for being a great lead software developer.Support the showRate me on Apple Podcasts. Send feedback on SpeakPipeOr contact me on Mastodon: https://hachyderm.io/@appforce1Support my podcast with a monthly subscription, it really helps.My book: Being a Lead Software Developer

Jul 16, 2022 • 54min
Third party dependencies
Send us a textShoutout to Jason Zurita for his article https://jasonzurita.com/the-hidden-cost-of-dependencies/What are third party dependencies? Explain the distinction between: 1st party, for iOS devs, anything in the iOS SDK.2nd party dependencies, stuff integration from service provider you rely on. (You could call this a subset of 3rd party dependencies you really can not do without.)3rd party, stuff you integrate because it saves your time or it is convenientRisks with 3rd party code How to find third party dependencies Licensing an the app store GPL is “difficult”An Apache or MIT type license is reasonable If you are unsure, read up a bit on licenses. https://opensource.org/licensesHow to choose to adopt a dependency Just link it won’t doReview the dependency and project health on Github. What quality checks does the project have in place?How does the support by the dev(s) look to you?Would you pay for this feature set if it wasn’t available for free? If yes, WHY ARE YOU NOT SPONSORING THIS PROJECT?How to deal with dependencies in the long run? Stream makes it easy for you to seamlessly integrate real-time experiences into your application. Check out their Swift tutorial to learn how you can get started adding video or in-app messaging to your apps! Lead Software Developer Learn best practices for being a great lead software developer.Support the showRate me on Apple Podcasts. Send feedback on SpeakPipeOr contact me on Mastodon: https://hachyderm.io/@appforce1Support my podcast with a monthly subscription, it really helps.My book: Being a Lead Software Developer

Jul 11, 2022 • 1h 2min
Jeroen Leenarts, podcaster, self published author and CocoaHeadsNL chairman
Send us a textWait, what is going on here? Kim Arnett as a host? Interviewing Jeroen? What is going on here? Listen to Kim interview me. Enjoy!Have a look at Kim's Twitter @kaydacode and her online shop with many cool stickers and other items!Stream makes it easy for you to seamlessly integrate real-time experiences into your application. Check out their Swift tutorial to learn how you can get started adding video or in-app messaging to your apps! Lead Software Developer Learn best practices for being a great lead software developer.Support the showRate me on Apple Podcasts. Send feedback on SpeakPipeOr contact me on Mastodon: https://hachyderm.io/@appforce1Support my podcast with a monthly subscription, it really helps.My book: Being a Lead Software Developer

Jul 7, 2022 • 16min
Tools of podcasting, well atleast what I use
Send us a textWelcome to my podcast. Different one again. Today I'll tell you what I use for podcasting and why I use these.Hindenburg Journalist ProPixelmator ProAudient Evo 4Samson Q7Audio Technica ATH-M50xMacBook M1Expert Mouse TrackballIQunix L80 with Cherry MX Brown switches <- I use an Atreus by KeyboardIO nowOWC Thunderbolt DockLG 27UL850-W, 27 inch 4K UHD IPS LED MonitorBuzzsprout Podcast hosting (Affiliated link)Riverside.fm (Affliated link)Agenda - Date-focused note taking (Affiliated link)Some cables and standsIf you have any question on the above, please let me know. I love talking about gadgets. But that is not what my podcast normally is about.Stream makes it easy for you to seamlessly integrate real-time experiences into your application. Check out their Swift tutorial to learn how you can get started adding video or in-app messaging to your apps! Lead Software Developer Learn best practices for being a great lead software developer.Support the showRate me on Apple Podcasts. Send feedback on SpeakPipeOr contact me on Mastodon: https://hachyderm.io/@appforce1Support my podcast with a monthly subscription, it really helps.My book: Being a Lead Software Developer