Do iOS 2024
iOS Developer Conference
Join us for the 2024 edition of one of Europe's premier iOS developer conferences in Amsterdam, the capital city of The Netherlands.
Workshops: November 12
Conference: November 13-14
We are also looking for sponsors of the 2024 edition of Do iOS. Please reach out, contact info at bottom of this page.
Conference Highlights
Do iOS is back in 2024. After 5 successful editions in 2015, 2016, 2018, 2022, and 2023 we again invite you to join us in Amsterdam to celebrate iOS development in all its aspects.
November 12
Workshop: Getting Ready for Swift 6
Join Daniel Steinberg for a broad exploration of Swift 6 features.
November 12
Workshop: Swift 6 Concurrency Deep Dive
Go in-depth on Swift 6 concurrency with Donny Wals.
November 13-14
Two Days of Inspiring Talks
Connect with peers, share knowledge, and celebrate iOS development in the heart of Amsterdam.
Conference Sponsors
Conference Tickets
If above form does not work for you, likely your browser is blocking pop-ups. Try this link instead.
Conference Agenda
-
2024-11-12 - Workshop
- 09:00Workshop
Workshop: Getting ready for Swift 6
Join Daniel Steinberg for a workshop that is not a deep dive so much as a survey
More info soon…
Daniel Steinberg
Daniel loves to write about, teach and code for Apple platforms using Swift. Daniel is the author of more than a dozen books including the best-selling books A Functional Programming Kickstart, A SwiftUI Kickstart, A Swift Kickstart and Dear Elena. Daniel presents iOS, Functional Programming, SwiftUI, and Swift training and consults through his company Dim Sum Thinking.
Daniel Steinberg
- 09:00Workshop
Workshop: A Deep Dive into Actors, Sendable, Strict Concurrency, and getting ready for Swift 6
Join Donny Wals for a workshop about Advanced Swift 6 Concurrency.
More info soon…
Donny Wals
Donny is a passionate and curious iOS developer, author and speaker. He has written several books on iOS development and has delivered dozens of talks and workshops over the past years. Next to iOS development he’s a huge cat lover and he likes dabbling on his guitars.
Donny Wals
- 17:00Drinks
Drinks
At the end of the workshop all attendees, Donny, Daniel, and Jeroen will have a drink together.
Upstairs on the 5th, in the NEMO Science Museum Restaurant.
- 09:00Workshop
-
2024-11-13 - Conference Day 1
- 08:30Logistics
Doors open
Get into the venue. Mingle and get to know each other.
- 09:00Welcome
Welcome to Do iOS Day 1
We’re happy to have you as an attendee, an amazing line-up of speakers awaits. Before getting started, Jeroen takes you through the practical details of the conference.
Jeroen Leenarts
- 09:15Talk
SwiftUI Architecture - Best Practices and Principles
What if I told you that you might be unnecessarily complicating your SwiftUI apps by selecting an architecture that doesn’t align with the declarative nature of the SwiftUI framework? Instead of battling against the framework, what if you could seamlessly work with it?
This presentation delves into the valuable lessons I learned from my experiences constructing iOS applications with the SwiftUI framework. It sheds light on the strategic choices I made, ones that unintentionally hindered me from fully leveraging the innate capabilities of SwiftUI.
In the course of this talk, you will gain insights into the intricacies of view re-rendering in SwiftUI, master the art of segmenting environment objects, and explore the innovative method of previewing UIKit controllers within Xcode previews, among other topics of interest.
By the time you conclude this presentation, you’ll possess a refined grasp of how to impeccably arrange and design your SwiftUI applications. You will confidently embrace the embedded architecture that SwiftUI offers, enabling you to craft applications with enhanced efficiency and elegance.
Mohammad Azam
Mohammad Azam is a highly experienced and accomplished developer with over a decade of professional experience in writing software. He has played an integral role in the success of several Fortune 500 companies including Valic, AIG, Dell, Baker Hughes, and Blinds.com, where he served as a lead mobile developer.
Azam’s expertise has helped him become a top instructor on both Udemy and LinkedIn, with more than 70K students enrolled in his courses. He currently serves as a lead instructor at DigitalCrafts, a software bootcamp where he trains developers who now work at prestigious companies like Apple, JP Morgan Chase, and Exxon.
Azam is not only a developer and instructor but also an international speaker who has been sharing his knowledge and expertise since 2006. In his free time, he enjoys exercising and planning his next adventure to explore the unknown corners of the world.
Mohammad Azam
- 10:00Break
Coffee
Time for a break.
- 10:45Talk
The Swift Compiler Features the Core Team Doesn't want you to Know About
Swift is the language we all know and love, but do you know the hidden tricks of the dark arts that allow you to perform some real magic with it?
Together, we’ll go spelunking through the underscored attributes, but beware, as they might come back to bite you
Swift is known for being a highly-opinionated language, and for good reason. It keeps us totally safe from a litany of common mistakes that cause serious – often fatal – errors and vulnerabilities in software created with other languages. However, there are times when its restrictions can feel a little bit too restrictive. The good news is that there’s likely a language feature to help deal with those cases, but you need to be very careful in using them
These features are often implemented as Underscored Attributes, which the Swift Core Team keeps around primarily for their own use cases, but they remain intentionally exposed to public code. We just simply don’t usually talk about them. For example, did you know that swizzling isn’t just an esoteric capability of the Objective-C runtime, but actually a language feature of Swift on some platforms?
In this talk, I’ll go over several of the most useful underscored attributes and talk about what they do, why they exist, the problem(s) they solve, and when and how to use them
Michael Hulet
Michael Hulet is a Senior iOS Consultant currently living in The Hague. He’s been building apps for Apple Platforms for more than a decade, including some of the largest apps on the App Store alongside tiny, one-man projects, doing plenty of weird things with the toolchain along the way. In his spare time, he enjoys watching hockey, taking long walks, and exploring the world. He’s currently available for contracting – hire him!
Michael Hulet
- 11:30Talk
Dive deep into modularization
A game-changing approach to structuring large-scale apps
Explore real-world strategies from startups to enterprise-level projects like ABN Amro’s personal banking app, discover how modularization improves scalability, build times, and team collaboration. Whether you’re working with Swift or dealing with legacy code, this presentation will equip you with practical insights on modularizing iOS apps effectively, overcoming common challenges, and optimizing your development process.
Here are some key highlights:
- Real-world Modularization Insights: from startups to large-scale enterprise systems.
- Boost Developer Productivity: Discover how modularization can reduce build times, minimize merge conflicts, and streamline teamwork.
- Architectural Refactoring: Understand how modularization offers a second chance to reassess and improve your app’s architecture.
- Improving Code Ownership & Observability: See how breaking down monolithic apps can clarify team responsibilities and enhance code management.
- Challenges & Solutions: Address common pitfalls like handling dependencies, managing transitive relationships, and preventing bloated binaries.
- Real-World Example: A behind-the-scenes look at how ABN Amro transformed its decade-old monolithic app into a modular architecture.
- Tools & Techniques: Explore alternative build systems such as Xcodegen, Swift Package Manager, Bazel, and Tuist for optimizing your modularization efforts.
Sergei Petrachkov
Sergei is a software engineer at ABN Amro.
This talk is a sponsored by ABN-AMRO.
Sergei Petrachkov
- 12:15Break
Lunch
Time for lunch
- 13:15Talk
Designing APIs: How to ensure Accessibility in Design System components
Explore design systems through the lens of accessibility, understand different abstraction levels, and learn best practices for API design with accessibility in mind.
Explore design systems through the lens of accessibility, understand different abstraction levels, and learn best practices for API design with accessibility in mind. Experience a live demo and elevate your understanding of accessible design and its impact on creating inclusive user experiences.
Today, most apps use some form of a design system with shared UI components, allowing you to quickly create new features that fit your app’s style. Imagine if these components were accessible out of the box, freeing you from last-minute concerns when developing new features under time pressure. But what’s the right level of abstraction to build accessibility into your UI components? The more generic the component is, the more flexibly it can be used in the app, making it difficult to provide excellent accessibility support by default. How should the API be build to ensure the best possible developer and user experience? Discover the answers and see a live demo of assistive technology in action. Elevate your development skills and create apps that are effortlessly inclusive from the ground up.
Feli Bernutz
Feli is an iOS Engineer at Spotify and an advocate for accessibility and usability. At conferences you usually find Feli creating sketchnotes of the talks, but from time to time, Feli also gives workshops where you learn how to create better notes from talks. In her free time, you’ll find her climbing on rocks or doing other kinds of sports outside.
Feli Bernutz
- 14:00Talk
From Side Project to Going Indie
Turning your passion into independence.
Antoine went Indie this year after turning his side projects into six-figure revenue. He shares his journey, strategy, and lessons to inspire you to make the most of side projects.
Antoine van der Lee
Antoine is passionate about contributing to the iOS community, where you might know him from his weekly blog posts on his personal blog called SwiftLee, his newsletter SwiftLee Weekly, SwiftLee Jobs, or RocketSim; a Simulator Enhancing App. He particularly enjoys speaking on best practices for structuring code architecture in a way that creates sustainability, as well as new Swift features and how iOS developers can be more successful in their work.
Before going Indie in 2024, he lead the team at WeTransfer as a Staff iOS Engineer and developed several large-scale apps since 2009 (iOS 4!). His most recent work resulted in a brand new course: From Side Project to Going Indie at going-indie.com.
Antoine van der Lee
- 14:45Break
Coffee
Time for a break.
- 15:30Talk
Embedded Swift: Using Your Swift Skills for Embedded Development
Learn how to bring Swift to embedded systems with ESP32 microcontrollers"
Have you ever wished you could apply your Swift and iOS development skills to the world of embedded systems? Now you can, with Embedded Swift on microcontrollers. In this talk, we’ll introduce you to Embedded Swift, an exciting development that allows you to write Swift code for ESP32 devices.
We’ll explore how Swift can be a compelling alternative to compiled languages like C or Rust, and to interpreted languages like MicroPython or Lua, especially given its seamless integration with C. This compatibility enables you to reuse mature libraries and codebases, and integrate new technologies like the Matter protocol.
Focusing on practical aspects, we’ll discuss the current support for RISC-V based ESP32 chips such as the ESP32-C family and the powerful ESP32-P4. We’ll also touch on considerations for older ESP32 models and the ongoing efforts to support them.
By the end of this session, you’ll know how to get started with Embedded Swift on ESP32 microcontrollers, opening up new possibilities for your Swift skills in embedded development.
Juraj Michálek
Juraj’s motto is to make embedded development simpler with the help of open source. Open source is key for Espressif Systems, where he works with the Developer Relations team to help the community, makers, and professionals understand and effectively use software tools and development practices.
This talk is a sponsored by Espressif Systems.
Juraj Michálek
- 16:15Talk
Batteries of Energy
A good work-life balance, being in shape, performing at work, feeling fit and well-rested, paying more attention to the kids, relaxing more easily.
A good work-life balance, being in shape, performing at work, feeling fit and well-rested, paying more attention to the kids, relaxing more easily. It’s what we all want, but in the hustle and bustle of everyday life, we often fall short. After his career as a speed skater, Jochem Uytdehaage was also confronted with the fact that he could not concentrate on five or six things at the same time, that he was too easily distracted to really perform well. He analysed his experiences both during and after his sporting career and discovered what he calls the ‘Batteries of Energy’.
The spiritual battery is about spirit, drive and purpose; the mental battery is about knowledge, skill and experience. The emotional battery focuses on relation- ships and emotions, and the physical battery is about nutrition, sleep, exercise and relaxation. These four batteries act like communicating vessels and have a major impact on our daily lives. Based on these batteries, Uytdehaage has developed insights and tips & tricks that he will share during his talk.
Jochem Uytdehaage
Two-time Olympic speed skating champion Jochem Uytdehaage, now a motivational speaker, learned hard but wise lessons about energy, balance and vitality during and after his professional sporting career. Twenty two years after winning gold at the Winter Games in Salt Lake City, he shares his experiences, knowledge and insights, and gives practical tips for anyone who wants to live a healthier and happier life with plenty of energy to do your daily job.
Jochem Uytdehaage
- 17:00Drinks
Drinks
At the end of the conference all attendees, speakers, and staff can have a drink together.
Upstairs on the 5th, in the NEMO Science Museum Restaurant.
- 18:00Dinner
Walking Dinner
Food, people, and conversations.
What’s this about then?
Get to know each other and all speakers a bit more at this walking dinner. Dinner is on us!
Join us!
- 20:00Logistics
End
End of day 1
- 08:30Logistics
-
2024-11-14 - Conference Day 2
- 08:30Logistics
Doors open
Get into the venue. Mingle and get to know each other.
- 09:00Welcome
Welcome to Do iOS Day 2
We’re happy to have you as an attendee, an amazing line-up of speakers awaits. Before getting started, Jeroen takes you through the practical details of the conference.
Baggage storage available in a locked room, right next to the auditorium.
Jeroen Leenarts
- 09:15Talk
Passkeys: the why, the what, the how
Learn everything you need to know about Passkeys, why we need them, what they are and how to implement them in your apps
In this session you’ll learn everything you need to know about passkeys. We’ll cover the history of passwords and two-factor authentication and why they don’t always work. We’ll see why Passkeys offer a better solution to modern day authentication and why you should offer them to your users.
We’ll go into depth about how passkeys works and then see how you can integrate them in your apps. You’ll see what you need to do to provide a seamless user experience in your apps. We’ll also see what you need to do in the backend to support passkeys and what solutions are out there to make it easy for you to ship.
Tim Condon
Tim is a Swift developer from Manchester, UK and part of the Vapor Core Team. He’s part of the server-side Swift team at Kodeco and has written the unofficial-official book on Vapor with the founders of the framework. He founded Broken Hands a few years ago and delivers talks and workshops on Vapor and server-side Swift around the world. He also co-organises the ServerSide.swift conference - the world’s first and only conference focused on server-side Swift.
Tim Condon
- 10:00Break
Coffee
Time for a break.
- 10:45Talk
Making Apps Faster With Tools We Get For Free
Let's make apps faster with Instruments!
Instruments is a tricky app to use and the documentation isn’t super clear, but with 30 minutes worth of examples on the latest Instruments, you’ll be well on your way to making your apps launch quick like rising housing prices and run smooth like the jazz music when you’re on hold on the phone.
Apple provides Instruments, an app to find out why your app is being slow so you can fix it, but are you comfortable with it? I’ll go over some examples to show how to use the tool and help make everyone a bit more familiar with it. Let’s all have faster apps!
Samuel Goodwin
I’m an American making software in the Netherlands. When I’m not programming, I’m at the skatepark, making music, or playing with skill toys.
Samuel Goodwin
- 11:30Talk
How to build a second brain using Siri, Google's Gemini, and Firebase
An LLM, a smart assistant, and a BaaS walk into a bar…
Learn how to use vector embeddings and an LLM to implement a knowledge base that you can hook up to Siri to get relevant answers based on data that is relevant to you!
In our fast paced world, there is just too much information, and it often seems impossible to keep up with everything that’s going on.
If you ever felt that you couldn’t possibly remember everything you saw, read, or even didn’t read, come to this talk and I will show you how I build an app that allows me to do just that.
I will show you how I
- used SwiftUI to build a beautiful app that works across Apple’s platforms
- used Cloud Firestore to store gigabytes of data, keeping it in sync across all of my devices
- used Gemini, Google’s LLM, to summarise articles, and ask my app questions about articles
- used Genkit - an AI integration framework - to connect Gemini to my personal data store
- used Siri to provide a natural language interface that allows me to query my knowledge base hands-free
Peter Friese
As a Staff Developer Advocate on the Firebase team at Google, Peter Friese is dedicated to helping developers build amazing experiences and high-quality apps using Firebase on iOS, Android, and the web.
With a passion for empowering developers and fostering innovation, Peter works tirelessly with the Firebase team to make his vision of “cutting short the time to magic” a reality.
Peter is also the author of the book Asynchronous Programming with SwiftUI and Combine: Functional Programming to Build UIs on Apple Platforms and host of the YouTube show Better Safe than Sorry, which explores best practices for building secure apps.
He has written code in BASIC, C, ObjectPascal, Java, Kotlin, Xtext, JavaScript, TypeScript, Objective-C, and a number of home-grown DSLs - but his all-time favourite is Swift.
Peter Friese
- 12:15Break
Lunch
Time for lunch
- 13:15Talk
Powerhouse Programming History
A thrilling deep dive into mostly unpopular names of the diverse community and how they make our world, both coding and the technology of today possible!
An all-inclusive, historic review with an emphasis on diverse individuals that have contributed to the growth of the development field. This discourse will cover topics from the legacy of Ada Lovelace to the origins of the Swift programming language. I share the background on the formation of the first computers, and the individuals who paved the path for the modern development field we know today.
Via Fairchild
I am a software developer specializing in iOS mobile development. I have a passion for the intersection of technology and accessibility. I believe there is a lot of room in technology for more universal design. I am currently working as the technical QA and macOS developer for Uni Industries. I work remotely out of the USA.
Via Fairchild
- 14:00Talk
While we're waiting for Apple Intelligence...why not build it ourselves?
When Apple introduced iOS 18 the most prominent feature was: Apple Intelligence.
The new iPhones are build from the ground up for: Apple Intelligence.
We have finally entered the era where Apple finally let’s us have a piece of the ever-exciting cake that is artificial intelligence!
It is incredibly exciting and also not available, yet. And in Europe, we have to wait even longer (thank you, privacy, duh!). So, instead of waiting patiently while things are being sorted out, why not build it on our own?
There are a lot of open-source tools and AI models out there, so let’s dive into them and build our own Apple Intelligence. We’re diving into tools like mlx-swift, CoreML, doing on-device inference and more. All this while maintaining the privacy of the user by running everything locally. Let’s build our own Apple Intelligence - with SwiftUI and fun.
Stefan Blos
Stefan is a working as a Senior Developer Advocate at Stream. Previously he has been doing freelance work in the fields of native iOS and Android as well as Flutter. Also, he has been working as a Software Engineer in the web and cloud space.
He is passionate about all things Swift and SwiftUI as well as Machine Learning, Web, and AR. He also likes to share what he’s learning and hopes to help others with that through blog posts, talks, and videos.
Stefan Blos
- 14:45Break
Coffee
Time for a break.
- 15:30Talk
The Power of the Swift Macros
Have you ever wished you could catch errors in your code before hitting ‘run’? Now you can!
It’s like having an assistant that helps you write safer code and saves you from runtime crashes. Whether you’re validating URLs or generating boilerplate code, Macros make coding easier and more reliable.
Have you ever wished you could catch errors in your code before hitting ‘run’? With Swift Macros, now you can! It’s like having a super-smart assistant that helps you write safer code and saves you from those pesky runtime crashes. Whether you’re validating URLs or generating boilerplate code, Swift Macros make coding easier and more reliable. Say goodbye to guesswork and hello to smoother development. Try Swift Macros today and level up your coding game!
Mustafa Karakus
Currently working as a Principal Mobile Engineer based in Amsterdam, I have around 12 years of experience in software engineering. Throughout my career, I have gained expertise in both iOS and Android platforms. In my current role, I am responsible for overseeing the development and deployment of our company’s mobile products on both iOS and Android platforms. I am passionate about staying up-to-date with the latest developments in the field and constantly strive to improve my skills and knowledge.
Mustafa Karakus
- 16:15Talk
Ship your app on a Friday… and enjoy your weekend!
You have been hard at work getting a critical business feature ready and Apple has just approved your version but it’s Friday afternoon. You want to ship your app but surely you shouldn’t ship on a Friday, or should you?
Join me as I share tips on making smooth, automated and risk-free releases!
There are two parts of the release process that you need to get right to ensure you get your changes to your users in a timely manner and to ensure that their experience is not degraded when using the new release: bundling all changes from the previous release and uploading them to App Store Connect and as soon as the app is released, monitoring the new version’s stability and quickly reacting if the user’s experience is degraded.
While these two parts of the process might seem easy at first glance, they have their complications. Depending on the size of your team or your app, you might be archiving your apps and uploading them to App Store Connect manually or, even if you have them automated using a CI/CD workflow, this might only be run fortnightly or monthly, increasing the chances of something going wrong.
You might also only be testing for debug configurations of your app not testing the changes on builds with release configuration. This can lead to missing API keys, values or what’s even worse, even whole frameworks leading to runtime crashes!
On the other hand, let’s say you have uploaded your app to App Store Connect successfully and you hit the release button. As soon as the first users start downloading the new version, you see a new critical crash and you want to stop the adoption of the new version and submit a hotfix version. But you would still need to do all of this manually and you would need to wait for Apple to approve the new build, even if you expedite the review process. How could you make this better to save you response time and effort and mitigate the negative impact on your users?
In this talk I will show you practical examples of things you can build to make your releases as smooth and as safe as possible. From creating nightly builds which test the release workflow and continuously deploy changes for alpha and beta testers to check, to implementing automatic fallback mechanisms built entirely in Swift to be able to immediately rollback to the latest stable version (without having to wait for Apple to approve the new build), just as if you would do for a website or backend service!
After this talk, you will be excited to ship new versions of your app!
Pol Piella
Hi! I’m Pol, I am a Senior iOS Developer at Glovo. I have been in the industry for more than 6 years now and have worked in apps and products that have been used by millions of weekly users. Aside from my day job, I like writing and tweeting about iOS development in my personal blog and newsletter and work on my own apps QReate, NowPlaying and Helm.
Pol Piella
- 17:00Logistics
End
End of day 2
- 08:30Logistics
Conference Speakers
Antoine van der Lee
@twannl
Via Fairchild
@codingmilf
Feli Bernutz
@felibe444
Stefan Blos
@stefanjblos
Mohammad Azam
@azamsharp
Donny Wals
@donnywals
Peter Friese
@peterfriese
Jochem Uytdehaage
@uytdehaage
Tim Condon
@0xTim
Samuel Goodwin
Pol Piella
@polpielladev
Mustafa Karakus
Michael Hulet
@mhuletdev
Sergei Petrachkov
Hosts
Two hosts will guide you through the day. They will introduce the speakers, ask questions and make sure you have a great time.
Jeroen Leenarts
@appforce1
Daniel Steinberg
Support
During the day a number of individuals will be available to assist you with any questions you might have. Anything you need help with? Come talk to anyone of the Do iOS support team.
Jolanda
Conference & Workshop Support
Conference Location
Do iOS 2024 will be in the Nemo Science Museum, Oosterdok 2, 1011 VX Amsterdam.
Amsterdam, one of many capital cities in Europe. Known for its canals and unique architecture.
Nemo Science Museum Oosterdok 2 1011 VX Amsterdam