
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

May 25, 2022 • 44min
Lea Marolt Sonnenschein, coach and creator of Jrny app
Send us a textSeems I made a muting mistake on my part of my episode with Lea. Please re download the episode if you have issues. It should be fixed now.Meet Lea, you might have seen her online before. If she's doing a talk at a conference near you. JOIN THAT SESSION You will not regret it.Lea is working on Jrny an app based coaching system. Lea bootstrapped it with shoestring and not much more, a fun insight in how an idea can be validated. Just by doing the work.Register with JRNY to see if JRNY is a fit for you. (Highly recommended. 👍)JRNY - career coaching for everyone, powered by AILea at RayWenderlichLea on TwitterStream 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

May 23, 2022 • 25min
WWDC prep, talks, and a bunch of articles…
Send us a textLet's get ready for some conferences. Techorama, AppDevCon and 360iDev. Ready or not…Articles of this week:Fold/Unfold | Xcode TipsHow to use a different Swift toolchain in XcodeUsing the isEnabled environment value in iOS 14Mastering TimelineView in SwiftUIUse textCase() to make Text uppercase or lowercaseHow to Start iOS Development Career Part 2 - Learning Swift LanguageCLIs are products tooUnlisted App Distribution on the App StoreCocoaHeadsNL events:June @ Stream, Wed, Jun 15, 2022 MeetupWWDC @ Q42, Mon, Jun 6, 2022 MeetupMonday tweet Donn WalsStream 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

May 20, 2022 • 52min
Twitter space about a lot of NON iOS things
Send us a textIn a recent Twitter Space, Stefan and I decided to dig into a log of things that interest us beyond just iOS development.Some links:Audio / podcasting DJI MicShure Beta 87aTrackballs Kensington Expert Wireless, but want to get my hands on a Profit ErgoKeyboards KeyboardIO AtreusHomebuild Lily58KeyboardIO Model-100Stream 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

May 17, 2022 • 23min
Hey my voice is back, sort of…
Send us a textLost my voice there for a bit. It wasn't that i was unable to speak, but I was sounding so raspy and just horrible. I couldn't make myself inflict that upon you, my listeners.Lots of catching up to do, so I have a whole bunch of articles for you this time. Enjoy!DJI MicThe SwiftUI Series by Jordi BruinCocoaHeadsNL meetupsArticles of this weekMeasuring app performance in SwiftHow to change SwiftUI font sizeHow to style SwiftUI text FontDivider in SwiftUI - Everything you need to knowOn iOS applications architecture. A short opinion pieceQuick guide on toolbars in SwiftUIBinary targets in modern Swift packagesHow to let user select file from FilesMake Swift Playgrounds 4 Apps: First StepsA flexible way to handle and alert errors in SwiftUIPlaying With SwiftUI - Implementing A Customizable And Animatable Circled Checkmark View – SerialCoder.devHow to Start iOS Development Career - The 5 Steps PlanModeling errors in SwiftLog in to Websites with ASWebAuthenticationSessionLibraryContentProvider in XcodeBegiStream 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

May 12, 2022 • 1h 3min
Mark Moeykens, aka Big Mountain Studios
Send us a textMark created Big Mountain Studios with a reason. A lifestyle business. At some point he discovered his lifestyle and his business didn't match anymore. So he decided to change up a few things in his business. You will also learn a lot about what motivates Mark and how/why he started Big Mountain Studios.You can find Mark online on:Twitterhttps://www.bigmountainstudio.com/As discussed in the episode, this year Mark moved all his paying subscribers over to the service of Coding with Chris.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

May 12, 2022 • 41min
Alexei and me at the Enginears podcast
Send us a textHear my totally business voice. Alexei and me representing the Stream team. I really liked how it turned out. It is a bit of an oddball episode compared to my regular ones. But I think a lot of fun nonetheless.https://enginears.io/podcast/Stream are the #1 chat API for custom messaging apps and started off building activity feeds and slowly started introducing chat messaging API’s which feeds large-volumes of their traffic. Jeroen and Alexei took us on a journey to understand some of the challenges around latency, scalability and mobile performance.A great discussion which feeds into end-to-end challenges of the platform and why they are critical to one another, especially in an API first product.We discuss vertical v horizontal scaling through different API/chat activities.Building 3 SDK’s for mobile and importance of CX.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

May 12, 2022 • 53min
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 Complexity (thank you Jason) Managing versionsTry updating a dependency in a Node’js codebase.Build times, more code == more waiting3rd party code problems are often now your problems OSS frameworks only have a guarantee until the door3rd party code often intertwines deeply with your implementation if you are not very careful REALM or other data serialization libs are a great exampleSecurity You choose to adopt all this third party code including all its warts, problems, issues and hidden problems. Enterprises often require a 100 percent review of any third party code. There is a reason big corps at some point try and loose as many dependencies.Third party dependant developer syndrome (this is a fun one) Not invented here syndrome should also be avoided thoughHow to find third party dependencies CocoaPods index.Swift Package Index, mention we sponsor them. Only mention this once briefly We also sponsor TuistGithub and Google searchLicensing 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? Often you have to adopt the whole dependency as a whole at some point. Openly: Publish pull requests, maybe even become a maintainer.Privately: Take the source, snip out anything you do 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

May 2, 2022 • 11min
It feels good being able to travel again
Send us a textIt is amazing to get back to in person events again. Totally worth all the hassle of arranging hotels, travel and family life at home. Also a big shout out to Mikaela Caron and her YouTube channel.News / EventsTwo Ways to Unit Test Notification Center in SwiftHow to code sign on CI along with Xcode auto signQuick guide on local notifications for iOSSwiftUI Supporting External ScreensExploring data with Swift TabularData and DataFrameCocoaHeadsNL NieuwsMay @ Maxdoro, Wed, May 18, 2022, 6:00 PMWWDC @ Q42, Mon, Jun 6, 2022, 7:00 PMJune @ Stream, Wed, Jun 15, 2022, 6:00 PMCommunity activitiesAppDevConMikaela CaroniOSDevUKApp Builders 2022 - Labs EditionAppdevcon is a conference by app developers, for app developers.SwiftConf - International Swift and iOS ConferenceSwift Community Awards – Hacking with SwiftStream 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

Apr 29, 2022 • 34min
Twitter Space: Motion Scape
Send us a textNotes based on Stefan's companion blog postKindly share and like this to support us and the project:Release tweetGithub repositoryStar the repo, it allows us to work on itLinkedIn post about releaseMac App Store LinkThe starting point?Amos created tutorials around animationsSpring animation tutorialProblem: How to test animation easing before using them in SwiftUISolutions for web:https://easings.net/https://cubic-bezier.com/Stefan created a little example with some controls that set parametersHow did we approach it?Open-sourceStart with the bare minimumInclude a few examples, add parameters to play around within a very simple UIAmos created most of the animationsStefan created the skeleton of the Mac appTested by people from our team (via TestFlight)Similar app got released: CouvertureFuture plans?Move process to GithubSee what people would like/contributeMore animation examplesImprove UX (Example: Timing curves - the ability to adjust control points with the control handles of the graph)Listener Requested LinksSwiftUI Animation LinksSwiftUI Animation on UdemyBook (old buy mighty)Mark’s SwiftUI animations bookLearn Core Animation with Kite100 Days of SwiftUI (Day 32 - 34)SwiftUILabSwiftUI Animation InspirationStream SwiftUI Spring animationsSwiftUI animatiStream 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

Apr 26, 2022 • 10min
King's day and some nice content
Send us a textIt is the day before King's day. So party time in the Netherlands.The difference between checked and unsafe continuations in SwiftCorrectly playing audio in iOS applicationsUsing DocC on GitHub PagesAsyncThrowingStream and AsyncStream explained with code examplesiOS Scene Delegates and External ScreensCocoaHeadsNL June 15 @ StreamStream 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