Reminiscing about Dark Sky
I talk to one of the developer's behind everyone’s favorite OG weather app.
Doing something a little different this week: I’m having a conversation with a developer friend (Todd Heasley) about the favorite thing he’s ever worked on (Dark Sky).
Why? Because the two favorite things I’ve published here, so far, have been about what other people have done. Like this experience in Croatia where a piece of technology worked flawlessly on top of a 2000-year-old fortress and this story about the pink shirt crew at WWDC who legitimately made WWDC so enjoyable.
What is Dark Sky?
Dark Sky was a weather app that provided incredibly accurate weather forecasts. It was also visually stunning (for its time) and was one of the first stand-out hits on the App Store (500k monthly active users and was acquired by Apple in 2020). People LOVED this app. They loved it so much that they would, perhaps, send you death threats for “messing with their app.” More on that later.
How do I know Todd?
I know Todd from our time at Hodinkee together. But before he was my boss at Hodinkee, he was the iOS developer at Dark Sky from 2017-2018 and he was instrumental in its overhaul and redesign.
But ok, enough exposition. Let’s get to it.
This conversation was done over Zoom.
Todd lives on the East Coast and Daniel lives in LA.
When & how did you join Dark Sky?
I joined five years after they launched. I was a fan. I contributed to the Kickstarter and I was a religious user. It was my favorite app in the early days, and I was getting frustrated. I could tell that it was starting to die because they hadn't updated it in like three years. The design still had beveled corners and it looked very dated. And so I reached out to the company. I found Adam Grossman’s email address (the founder), I emailed him, and I said, “Hey, what's up with your app? It needs a second life. You can't let it die like this, it's got legs. There's so much more it can do and this app has to live.”
And so I was basically just that annoying customer.
Wait, what loll. That worked? You told them that their app was dying, that it looked old, and that you were the guy that should freshen it up?
Yeah, he went for it. I don't know why. He was just like, “that sounds great”. And so phase one was just doing some work for the app to keep it in good standing with the App Store. But then phase two, after I'd already worked on the app a little bit, it was now, “we got to start over from scratch and totally rewrite this thing.”
And then you followed up on your original suggestions with a full rewrite, lol. This is why engineers love you and the C-suite hates you.
Well, we had to get off of contracts and third-party stuff that we didn't own, fast, for business reasons. And it had to be rewritten because it was still Objective-C, and it had grown organically so there was a lot of tech debt. It needed to be a new app with lots of new functionality. It was going to do a lot of stuff it didn't do when it first launched because it was four years of catching up technology-wise.
Was there any pushback from any of the OG team?
I think once I started showing prototypes and real code, everybody was sold. And that's when it got cool. That's when everybody else got sparked on the rewrite idea because who doesn't want to do a totally new coat of paint?
And it made a very big statement because it was so unlike anything else that was happening. Like, they built their own weather service. Of course, they were using standard models and data from all the various weather institutes. But they had an in-house guy who was, I don't know if this is relevant to what we're talking about here anymore, but he was a mathematician so he could do the actual math of everything. So it was, the idea was that we would just jump from the past into the future and get there ahead of everybody else.
I’m uniquely aware of this API because it was the GOAT interviewee take-home assignment: “Make a weather app with the Dark Sky API.”
The first new code I wrote at Dark Sky was a WeatherKit library, both for the new app to use and as a first-party integration for the API. It still seems bananas that there wasn't an SDK, given that the API was largely paying our salaries by the time I joined. I regretted how I left WeatherKit; I started down a GraphQL rabbit hole with the second version… I kept trying to get the interface right, even as a private citizen, until Apple turned off the Dark Sky API forever.
Ok, so a rewrite is a pretty big undertaking. Was there any point where you felt in over your head?
This was my third rewrite of a thing. And I was not scared. I was like, “I’m not going to be beaten by a weather app,” you know? I can totally rewrite. But it was longer than it should have been (it took a full year). I think we did seven full redesigns in a span of six to eight months. Like, full working prototype redesigns, and the one that eventually shipped was the third one we did.
Why so many redesigns?
One of the big challenges with Dark Sky was that the user base was so big already, and it was so passionate. And I don't want to say they were mean or bad, they were just so passionate, so devout, and it was important to them that you didn't change their thing.
But, at the same time, the app had stalled out because there was no new user base. So we had to make big changes to get new buyers (i.e. moving from one-time purchases to subscriptions). But we didn’t want to piss everybody off. So it was like trying to walk a tightrope.
But I'm attracted to difficult customers. Like at Urban Outfitters, I learned that, in retail, the Quebecois are the toughest customers on the planet. They're not negotiating. And Big Cartel was artists and they have really, really high expectations. Really high standards. But Dark Sky was a different kind of user than I've ever experienced. And so that’s how you get seven redesigns — when you're going from something that people already love but are trying to grow it and in some ways move on.
Here’s a fun piece from Mac Stories in 2018 discussing the redesign:
Dark Sky Update Consolidates Weather Data in a Single Vertical View
How did you guys celebrate when it finally shipped?
We went out and had two beers at the bar around the corner, and then went back to work. It was one of those things where we knew we were going to launch it, but we didn't know how it was going to go. And it actually took multiple weeks for things to roll out and for shit to hit the fan.
dhour:
How so?
Todd continued:
I got six death threats.
dhour:
What? Seriously?
Todd continued:
Yeah like, “What are you doing? What did you do? I'm gonna figure out where you live and come kill you because you changed the way these weather notifications work.”
dhour:
Get the fuck out of here. Seriously?
Todd continued:
And there were, I have a count somewhere, but there were somewhere between six to ten thousand customer support tickets and a lot of it was people writing in, “You ruined it” or “This isn't for me”.
Did anyone offer legitimate constructive criticism?
Yeah, a couple of people took the time to write multiple coherent paragraphs where they explained what they needed and I would write back and say, “Hey, would you be willing to give me a little more information about this? Or tell me how, how you would do it?” And so, taking that and getting educated — those were proud moments. Just taking those lessons and fixing it and making it work the way that people needed it to work.
What do you mean by “getting educated”?
So doctors and first responders were using our specific push notifications because the app ignored the silent switch. So they would put their phone on Do Not Disturb at night and still get extreme weather notifications. But that was a happy accident! And so a bunch of smoke jumpers in California wrote in and were like, “You caused a serious problem because our notification didn't go off. You wrecked our life.” And it's like, “Well yeah. Because it respects Do Not Disturb now.”
But we had no idea that anybody was using it anywhere near that technically. And, of course, we all had to be like, “disclaimer, disclaimer, disclaimer”. We are a weather app, not a 911 infrastructure tool. We never, never promised you that.
But at the same time, we did go back and listen and fix it for them.
What’s another proud moment for you?
I thought I did a really good job with the accessibility. I thought the voiceover was dialed, and then, again, I got an education and how people actually use VoiceOver, and then I dialed it some more. And so I can say today that Dark Sky had some of the best battle-tested voiceover work. I'm really proud of that.
From a cold email hire to death threats. What a wild story. Thanks for sharing it with me.
BONUS: Inside the Developer’s Studio
James Lipton, the host of Inside the Actor’s Studio, would ask his guests a set series of questions at the end of each episode. And because I’m a dweeb and I fanatically loved that show, I’m going to do something similar but with developer-specific questions. Enjoy the nerdery.
What push notification brings you joy?
That's a good one. Well, so this ties into Dark Sky because my favorite notifications of all the time were, “It's about to rain, starting in five minutes”. And there was an old Apple Watch ad where people were standing in a bus stop and a woman looks at her watch and it says, “Rain starting near you”. And she opens her umbrella, and the rain starts coming. The app worked like that for a number of years. So yeah, that's my favorite push notification of all time.
What push notification makes you angry?
Every time Apple is pushing some Apple TV show that I don't want to watch. I’m waiting for the notification that tells me about the show that I’m actually watching like John Oliver. But it's just again and again, “a new episode of Shrinking is up”. I'm not gonna ever watch that.
What’s the last app you downloaded?
Oh, it's not very exciting. I just got Fiber Internet so I need the app to configure it. That's the honest answer.
What’s the last app you deleted?
Probably this Fiber Internet app as soon as I'm done configuring the router. But the true answer is that I deleted the Microsoft Teams app from my phone minutes after I finished up my last gig.
Is there an app that brings you joy?
My favorite app of all time is Acorn by Gus Mueller. I needed an image editor (to replace Photoshop), and Gus Mueller wrote one all by himself, and it was amazing. It still doesn't have an animated GIF palette, you know, the timeline editor. But I've been bothering Gus about that for fifteen years now. I just used it right before this call actually.
You can read more about Acorn here in an Apple feature:
https://apps.apple.com/us/app/acorn-7/id1547371478
And lastly, is there a developer (or designer) out there that you think deserves more shine than what they’re getting?
I don't know the developer’s name (Silvio Rizzi), but I've been using this cooking app, Mela. I think the developer is a solo developer. But it's an ultra-minimalist cookbook app. All the other recipe apps try to structure the recipe and do a lot of auto conversions, magic, and all that stuff. This doesn't do any of that. It's just like you make a list of ingredients and you write a paragraph of text explaining what to do. It's not over-designed so it’s perfect for me.