They say if you don’t have anything nice to say then you shouldn’t write Music App Stuff #8, which is why it’s coming to you today and not last week. Last week’s now scrapped newsletter was a little on the grumpy side, if I’m being honest. It also had the phrase “dovetailing hegemonies” in the opening paragraph, which was probably a sign it was doing a little too much. Oh, I guess this one does now too. Oops.
I’m writing this on the iOS 15 release date, sitting cross-legged on a blanket in the park by my house, the smell of someone else’s weed wafting pleasantly over on the breeze. Albums 4.2.2, the version that brings iCloud sync support to iOS 15, is “In Review,” and I am glancing at my phone for just a second every minute or so to see if it’s ready for release. In the intervening 59 seconds I am thinking about time. How I spent it this summer, where it went over the last couple of weeks, and what I plan to do with it in the future.
Ah, to be back in June, sketching out my post-WWDC summer plans. Release iCloud sync in July, spend the rest of the summer on an iPad redesign that — surprise! — runs on the Mac too. Release it… what would have been today. If you’ve read pretty much any issue of this newsletter, you know it didn’t quite end up that way. We laughed together about tortured water cycle metaphors. We wept together over The Recurring Crash. Three weeks ago, we got totally wasted at the 4.2 release party and jumped off the roof into the pool.
I am loathe to will my fingers to type even more words about iCloud sync, but it utterly defined the last few months for me. Even as I was readying 4.2 for release, I knew that iCloud sync was totally broken on iOS 15. The Recurring Crash wasn’t just intermittent on 15. It never stopped. iOS 15 devices just wouldn’t sync, period. After posting on the Apple developer forums earlier this summer, I came into the acquaintance of a rightfully indignant Australian anesthesiologist/hobbyist developer having the same issue as me. I finally had confirmation I wasn’t alone. (By the way, if you are looking for an iOS/macOS app to track the anesthesia you administer, his app seems good.)
iOS 15 beta 8, the last beta before the public release, came out the week that 4.2 did, and The Recurring Crash still wasn’t fixed. This meant that not only would new users not be able to sync, but anyone who was successfully syncing on iOS 14 would find themselves in a crash loop after upgrading to iOS 15. With each successive iOS 15 beta, I had been making a little more space in my head for the idea of lovingly handcrafting a bespoke sync engine. After beta 8, I said “ah, fuck, I guess I am doing this, huh,” and made the “custom_sync_engine” git branch. 60 hours/one week of working myself silly later, I pretty much had it done.
I’m swearing off of newsletters about iCloud sync after this, so I’ll just ask you to indulge me this one last dead horse flog of a metaphor. Picture me posing with my god damn trident. I control the water cycle now. I decide when it rains, how much, and where. If there’s a syncing drought, that’s on me, but so is fixing it. The stress of that arduous and meticulous work aside, I found comfort in confirming a core belief: I wanted something done right, so I had to do it myself. Guess I’ll have to unlearn that one another day.
It’s the first day of Fall as I write this last paragraph, sinking into a busted bench a half hour’s bike ride up the river, no weed to be smelled. Albums 4.2.2 is now live in the App Store. Did I somehow squander the summer? One read is that I wasted a huge chunk of it on something I ended up having to scrap. I didn’t get nearly as much done as I’d hoped. I’m behind on my plan for Albums world domination. This week I’m not writing a newsletter too grumpy to publish, so let’s take the more compassionate and realistic view. I couldn’t have built the custom sync engine without the time investment and learnings of the last few months. I ended up able to support iOS 15 on launch day. The Mac app will come out when it comes out because — and this has got to be as good a mantra as any — things take as long as they take.
See you in two weeks.
The life of a developer.... I can only offer solace by saying "I've been there too". I remember the time I rewrote an entire web app in node after having the epiphany that "C# is now cross-platform, I'm going to give that a try... how bad could it be". The answer was: pretty damn bad.
Thanks for going through the slog for us. Albums remains the best way to listen to Apple Music on the iPhone!