Last week, the Runway team gathered together at a masia outside Barcelona to collaborate, connect, brainstorm, hack, eat too much good food, play too many rounds of Quiplash, and go out on a boat in the Mediterranean to get sunburned. Members of our crew live in NYC, LA, Seattle, CDMX, Baja, the Canary Islands, Montevideo, Boston, Austin, Dallas, Lisbon, and Valencia. That's a lot of different locations for a small team, which is why we organize an offsite twice a year. Itâs the only opportunity for everyone to meet up in person for some quality planning, hacking, and hangout time. Weâre very excited for all the work and features that will come out of this past week. Â
But this isnât the âWhatâs Runway been up to this month?â newsletter. This is the Flight Deck. Each and every month we bring you perspectives on the mobile landscape, peeks into how other mobile teams and developers get things done, links to new YouTube channels that arguably should have already existed a decade ago, interesting stories from mobile engineers, and lists of events weâre either going to or that you may otherwise find interesting.
Read on for this monthâs highlights.
Posts we liked
Splitting Up a Monolith: From 1 to 25 Swift Packages
Ryan Ashcraft breaks down the challenges and tradeoffs in modularizing his popular Foodnoms nutrition tracking app into more than two dozen Swift packages. He considered refactoring for a long, long time before actually doing it, which is what pretty much everyone does before they refactor anything. Learn why he finally moved forward, how long it took him to do it, and how it turned out.
Introduction to using Kotlin Serialization
ZhangKe takes a look at Kotlin Serialization, a cross-platform serialization and deserialization library. It can serialize the object tree into several common formats, natively supports Kotlin, and has strong extensibility that â according to ZhangKe â can satisfy almost all business scenarios. Read on to see if it would work for your own business scenarios.
What if your feature was a Command Line Tool?
When working with UI, it can be ambiguous as to how the business logic should fit into the actual interface. But, according to Tjeerd in 't Veen, thinking of features as Command Line Tools can help you reason out how all functionality and states should be available without the distractions of UI to think about. In this way you donât put the cart before the horse, and are sure to get your functionality right before building the UI around it.
Apple Developer YouTube channel
This isnât a post we liked, but is instead a whole wall of videos we liked. Is it shocking that Apple, arguably the most media savvy tech company of the past 30 years, didnât have its own dev-focused YouTube channel until a month ago? We think so, but itâs nice they have it now.
Android Developer YouTube channel
Only fair to point out that Android has their own dev-focused YouTube channel too and itâs been around for 16 years, or approximately 192 times longer than Appleâs. To be fair, Google does own YouTube. Which, thinking about it, may be why Apple waited so long to create theirs.
Posts we wrote
The hidden and not-so-hidden costs of inefficient mobile releases
An inefficient release process automatically makes you inefficient at building great products. Some of these inefficiencies cost you in obvious ways (youâre not shipping as quickly as you could be) and others in hidden ways (youâre quietly building up technical debt that will one day come back to haunt you). What exactly does a bad (or âjust OKâ) release process cost your team?
How to implement fastlane match in Swift using the App Store Connect API
Fastlane match can sync your code signing credentials over git, and renew credentials for one or all of your apps using the App Store Connect API. But fastlane == Ruby and what if you donât want to deal with Ruby right now, or ever? You could just use Runway or, if not, Â Jared Sorge shows you how to implement fastlane match in Swift.
New motion pictures for our About Us page
While in Barcelona we took the opportunity to film new profile pics for everyone on the team. I say âfilmâ because there is more to these images than initially meets the eye. Give the portraits a few seconds to see what each of them gets up to.
Featured feature
Managing the work that makes it out with any given app release is tricky.
Late-arriving changes increase bugginess in releases, so teams typically try to establish a stabilization period or âfreezeâ to prevent new work from entering the diff while testing and other release prep is finalized.
But you canât just lock the release branch and call it a day. You still need to ensure important late-arriving changes and fixes are able to make it into a release. The mechanics of that requires some Git wrangling, which can waste time and be error prone, but it also raises more complicated issues. When are late changes allowed? Is anyone and everyone allowed to squeeze work into a release if they feel like it?
Upcoming events
Where to find Runway over the next several weeks:
Deep Dish Swift (May 5th to 7th)
San Francisco SLUG (May 9th)
SwiftCraft (May 23rd to 24th)
droidcon San Francisco (June 6th to 7th)
One More Thing Conf (June 10th to 14th)
Weâll be hosting happy hours at most of these events, co-hosting our first from this list with RevenueCat following Deep Dish Swift day 2 on May 6th at 6pm. RSVP to join in.
Also, our good friends at Codemagic are hosting a couple of Flutter- focused meetups in New York on April 30th and Chicago on May 1st. Check them out if Flutter is your sort of thing.
Youâve arrived at the end of this newsletter. Bored? Wish you had something else to read? Go back and read through our archive of the eight previous Flight Decks.