How dogfooding helps Duolingo build a better app, everything you need to know about Swift 5.10, and the hidden and not-so-hidden costs of mobile releases.
Spring has sprung for some of us and with it comes spring cleaning. The big news this week is that Microsoft just announced they’ll be completely shutting down App Center next year. This isn’t entirely unexpected given the platform has been in maintenance mode since 2022 (though considering they only very quietly mentioned it was in maintenance mode, you may be surprised to learn that). But hey, it was a good 10-year run, and it’s novel having a reason to mention Microsoft instead of Google or Apple at the beginning of this newsletter. Each and every month in the Flight Deck we bring you perspectives on the mobile landscape, peeks into how other mobile teams and developers get things done, technical guides to optimizing your app for performance, and descriptions of any new features we might have shipped or even old features we shipped a while ago that are newly relevant in light of another company shutting down one of their platforms. Read on for this month’s highlights.
In this three-part series, Victor Caveda shares BestSecret’s experience transforming their legacy Android CI into a modern Docker-based CI running in the Cloud. See how they moved from Jenkins to GitLab CI, dockerized their Android tasks, and optimized for performance.
Everything you need to know about Swift 5.10 With Swift 5.10, Apple has closed some large gaps that existed in Swift Concurrency’s data safety features, which means the compiler will be able to catch more thread safety issues by more thoroughly enforcing actor isolation and Sendability. Donny Wals takes a look at the two new features that make this possible.
How dogfooding helps us build a better Duolingo Blanca Zhang writes about how the 70% of Duolingo employees who dogfood their app help them thoroughly test new features and app improvements, providing their mobile teams with a large data sample to monitor, and making it easier to squash bugs and fix other performance problems before they ever reach any users.
Web Distribution, available with a software update later this spring, will let authorized developers distribute their iOS apps to EU users directly from a website owned by the developer. But there are a number of catches, the biggest of which being that to qualify you must already have an app in the App Store that has seen at least 1,000,000 downloads within the EU.
Do you feel a little glimmer of joy when you get a really nice 2FA number like 787000 or 123450? Then read how Jacob Bartlett made it possible to capture that joy by building an app that notifies you when you receive cool 2FA numbers, allowing you to set your own definitions for “cool” numerical patterns and to store them for the sake of wistfully looking back on them later.
Your team’s release work continues until you’ve verified that the new app version is stable and performing well for all users, with no negative impact on revenue or other key metrics. In this guest post I wrote for Amplitude’s blog, I look at how to monitor your mobile release health holistically so you don’t miss any of the varied signals that might indicate something is wrong.
Wallbox’s Android and iOS apps are an integral part of their EV charging solutions, and Runway is an integral part of each and every app update they ship to their users. Their release process used to stress out and overburden the few people who could coordinate and execute a release from beginning to end. Now, it runs almost as if no one needs to be involved at all. Hear how Wallbox used Runway to help make this happen.
Keeping a close eye on version-specific user ratings can be a good way to catch problems before too many users encounter them. Runway’s Rollouts surfaces this for you out of the box, but what if you don’t use Runway? See how to leverage a Swift client to calculate this info with data pulled from the App Store Connect API.
Runway’s newest feature, Fixes, helps mobile teams better manage and protect their release diffs by applying real guardrails around late-arriving changes. Now, teams have a consistent way to escalate and review late-arriving work, and then pull those changes into the release automatically — but only if they get OK’d. Read all about how it works.
Runway featured feature
With Microsoft sending App Center off to the big deleted server in the sky, there’s no better time for us to feature our own free, powerful, and appropriately-named build distribution platform, Build Distro.
Seamlessly share WIP builds as early and as often as you want, with whomever you want, using branch-based, PR-based, team-based, or even dedicated personal “build buckets” for everyone on the team.
Why should you use Build Distro?
Simple to set up, with a clean, easy-to-use interface.
Lets you separate different build favors, scoped for specific folks across your team.
Integrates with your CI/CD to automatically group builds based on branches, workflows, and authors.
Makes it easy to install builds via a QR code in the platform or posted on PRs, or via Slack.
Keeps testing, staging, and production builds clearly separated so you never accidentally release the wrong build.
Your scrolling has come to an end. Close your eyes, take a deep breath, relax, and move right along to the next email in your inbox. We’ll see you back here next month.
Please note that any typos or formatting issues in this email were done on purpose for aesthetic effect, maybe as part of an inside joke you didn’t get, and definitely not an embarrassing accident.
Runway, 535 Throop Ave, Brooklyn, NY 11221, United States