2022: A Break, a Breakthrough, and a Breakdown?

2022 was a bit of a weird year for me that I think kinda breaks down into 3 distinct parts.

  • A break
  • A breakthrough
  • And… a breakdown?

A Break

Since switching to iOS development and launching Dark Noise in 2019, I’ve been working pretty consistently hard on side project work. I wanted to establish myself in this platform and this community so I could avoid getting pulled back into web development like previously always ended up happening. Dark Noise and my podcast Launched were both mechanisms to keep pushing on both the technical/product side and the community side of things. This was especially important when the pandemic showed up and made connecting with the community much more difficult.

But 2022 was different. I was finally able to travel. We had just bought a new house at the end of 2021. And maybe I was a little burnt out? I’m not quite sure the full alchemy of reasons, but from the beginning of the year to the end of the summer my side projects really took a back seat.

I did keep producing Launched thanks to a schedule that pulled me along and a lineup of guests I was, quite frankly, extremely proud to have on. But Dark Noise development slowed to a crawl. I spun up a couple new app ideas that I ran out of steam on and never released.

And it had an impact! Dark Noise sales were down pretty significantly the first half of the year. I had no major releases in that period and being a paid up front app meant that really hurt.

Dark Noise yearly sales graph

Dark Noise yearly proceeds (released in August 2019)

This might all sound negative but I took advantage of this break and honestly I think I needed it.

I finally got to travel! I finally met coworkers for the first time in San Diego, vacationed with my wife without kids for the first time since the pandemic, went to Europe for the very first time (with the kids!), and finally got to meet folks in the iOS community in person at WWDC 😱.

Flighty Passport showing all flights I took in 2022

My Flighty Passport showing all of my 2022 flights

Also in between traveling, Apple reached out asking for a demo version of the Dark Noise Mac app. And now every Apple retail store in the world has a demo of Dark Noise pre-installed on all of their display Macs! 😱

A Breakthrough

Two things happened at the end of summer that changed my side project trajectory.

Dark Noise Returns

The first is simply Apple’s OS release cadence. The nice thing about Apple’s release cadence is it sort of forces me to get a release pulled together by a certain date. This year, that meant I needed Dark Noise to be ready with iOS 16 support and features like the new Lock Screen widgets in September with a follow up release in October to support the new Dynamic Island and Live Activities.

This release kind of woke me up from the side project blues and got the gears going again with regards to Dark Noise development. This was partially fueled by extra time I now had because of the other breakthrough I had at the end of summer.

Launched With Help

In August I decided I needed some help with Launched. Editing the show was simply taking too much of my limited side project time. I wanted to hire an editor, which meant I needed money. I didn’t want to take on selling sponsorships myself given I was already stretched too thin so I started putting together a pitch deck to see if I could find a network that would let Launched join.

Looking over the pitch deck stats I basically chickened out thinking the numbers were probably too low for anyone to consider and never even reached out to anyone. Instead I simply tweeted them out and moved on.

Surprisingly, this ended up paying off! Jonathan Ruiz had recently ended his show, Everyday Robots, and reached out to offer to edit the Launched. I took him up on the offer and every episode since has been edited by Jonathan.

I cannot express how big of an impact this has had. I am pretty precious with the edit of that show, but Jonathan has been outstanding. And the time it’s freed up has allowed me to pour more time into growing both the podcast (I’m gearing up to start taking on sponsorships) and turning Dark Noise into a potentially fully viable business into it’s own.

A Breakdown

Note: ok this headline is a pretty hyperbolic for the sake of keeping the “break” theme but you have to admit it’s pretty catchy yeah? 😅

The end of 2022 has been… turbulent to say the least. The tech industry has suddenly gotten a little unstable. And Twitter, the platform that the hosts the community I’d invested so much in, was imploding. There are also some personal career things I can’t discuss here that put me, an extremely risk averse personality, into hardcore de-risking mode.

I started putting together action plans. What do I do if I get laid off? How much runway do I have to find another job? Can I grow that runway if my side projects are making more money? Could my side projects be the other job?

This brewed a pretty weird concoction of excitement mixed with anxiety that’s launching me into 2023 with a pretty clearly defined set of short term goals.

  • Switch Dark Noise to a subscription model.
  • Monetize Launched with a combination of sponsorships and membership/Patreon.
  • Invest in the local (St. Louis) iOS community by starting some kind of meetup.

I feel like my goals have usually been more high-minded and “personal growth” focused in years past. It feels a little crass for a major theme to essentially be “make more money” but this is where I am. We’ll see where 2023 takes me, but either way I’m at least coming into it with a side-eye towards handling uncertainty.

iOS 15 Support with Dark Noise 2.6

Dark Noise 2.6 comes to the App Store today with full support for iOS 15!

Extra Large Widgets

New Extra Large Widgets

iOS 15 introduced a new widget size exclusive to iPad and Dark Noise 2.6 adds support for these new big sizes. Now you can fill your iPad with 16 wide button noises, or a whopping 32 square button noises in a single widget!

And of course these widgets support all of the themes and customizations you’ve come to expect from Dark Noise widgets.

Shortcuts

New Shortcuts Actions

Due to limitations in iOS 14, Shortcuts actions with parameters could not play audio without opening the app up in the foreground. This led to a confusing array of Shortcuts actions provided by Dark Noise. Shortcuts actions with parameters for setting up a timer or volume (began with the word “Start”) had to open the app in the foreground to start a sound, and shortcuts with no parameters (began with the word “Play”) were limited but could play sounds in the background.

With iOS 15 things are dramatically simpler. New “Play [Noise]” Shortcuts actions can play noises in the background and have parameter options for customizations.

There is also a new Shortcut action called “Find [Noise]” for advanced Shortcuts users. This action accepts a string parameter, searches Dark Noise for a matching noise, and outputs a Noise object that the new “Play [Noise]” action will accept as an input.

This allows for more advanced automations where you want to dynamically pass in a string for which noise you would like to play. To be honest I’m not entirely sure what the main use case for this is, but I’ve recieved enough requests for it that I thought it was worth adding. I’d love to hear from anybody who uses it to see what they’ve built!

Bug Fixes and Improvements

A new timer view using iOS 15’s new half sheet popover and some minor bug fixes round out the update. This year’s iOS beta cycle has been… busy to say the least (I moved into a new house!). Things are finally settling down and I’m getting back to work on Dark Noises next major feature!

Dark Noise for Mac

Dark Noise has come to the Mac App Store! The sleek UI and large selection of ambient sounds you know and love are now easier than ever to use while you work.

Mini Player

Big Sounds Mini Player

Taking advantage of the Mac platform, a new innovative “adaptive toolbar” UI allows you to shrink your window into a Mini Player to keep Dark Noise quickly accessible while taking up very little screen space. Dark Noise for Mac also features full menu support with keyboard shortcuts to feel right at home on your Mac.

All your favorite features

Themes

All of your favorite Dark Noise features are here including timers, custom mixes, widgets, and multiple themes. And with iCloud syncing, all of your custom mixes will automatically be available on your Mac.

Get it now!

Dark Noise Family

Dark Noise for Mac is now available on the App Store here as a universal app including the iPhone and iPad versions. Existing Dark Noise customers will be able to download Dark Noise for Mac for free.

Overviewer Week 1

Overviewer app icon

Last week, when I released my new app Overviewer, I honestly thought it was a pretty niche product and was just hoping it would find the few other teachers out there who it could help during this wild year of virtual learning. With that in mind, I didn’t really do much in the way of marketing like I did with Dark Noise. But it turns out, there’s more interest in turning an iPhone into a document camera than I thought! 😅

As is tradition, I’d like to go through some quick metrics for the app launch and see if there’s anything. Let’s start with the basics:

  • 📈 181,000 “App Units Sold” 🤯
  • 📍 17,170 Sessions (opt-in only metrics)
  • ⭐️ 192 ratings avg 4.8 stars
  • 📝 57 reviews
  • 💥 0 crashes 😁 (opt-in only metrics)

Alright, we need to address that ridiculous 181,000 “App Units Sold” number because… that’s kind of unbelievable. When something looks unbelievable there’s probably a reason.

The first sign something weird was happening was actually immediately after launch when the app supposedly got 32,000 downloads in the first hour. And while “sessions” metrics are only available to users who have opted in to allow developers to see their analytics, 17,170 seems way lower than what you would expect if there were truly 181,000 users.

It turns out, school districts have access to something called the Volume Purchasing Program (VPP) that allows them to purchase apps for distribution to all Apple devices in their districts. When an app is free, admins can “purchase” as many licenses as they want and some folks on Twitter said they would “generally buy at least 3x the number of devices I could possible deploy to and then deploy as needed”.

So most likely these huge numbers of “purchases” are school admins grabbing way more licenses than they’ll actually use just to cover their bases. If we break down unit sales by “device” I think we can see this in the data.

7 Day Unit Sales by Device

Here you can see about 157,000 units were purchased on “Desktop” while about 24,000 were from iOS devices (and 5 on iPod touch 😆). Overviewer isn’t available on the Mac, so I think it’s safe to say those 157,000 are actually from volume licensing and only a small fraction of those ever end up downloaded to a device. But the 24,000 from iOS devices are probably mostly legitimate downloads.

Press

These numbers are way higher than I was expecting! So what happened? Unlike with Dark Noise, I didn’t try to build up a big TestFlight group or reach out to the press beforehand, but I did make a simple presskit and wrote up a blog post with the story behind the app.

Pretty quickly after releasing my blog post, 9to5Mac, iMore, and Knapsack all wrote up articles about the app. This led to a lot of follow-on articles from loads of smaller blogs around the world. Then later in the day, The Verge wrote about the app! 🤯 I’m going to be honest here, seeing that pop up in my feed almost broke me. I was literally shaking.

I have 2 theories for how I got all this press.

  1. I’ve already built a little reputation with Dark Noise and some relationships that put me on some tech writers’ radar right out of the gate.

  2. I told a compelling, relatable story that fit a broader narrative for the world we all live in right now.

If you don’t already have a reputation or relationships with anybody in the press, there’s not a lot you can do for the first point. I would say making a decent press kit and cold emailing writers is probably the best you can do here.

Point 2 wasn’t exactly something I did on purpose, but it was pretty clear as more articles came in that the story - “Nerdy Dev Makes App to Help Teacher Wife with Virtual Learning” - was the thing a lot of folks were keying in to. It fits neatly into the narrative we’re all currently living through, where we’re trying to come up with interesting solutions to our pandemic world.

I think telling a compelling, relatable story when announcing your app can go a long way to help you get the word out there.

I also made a tutorial video to try to help explain how the app works, and I think this may have inadvertently added to the personalized story behind the app since I’m the one personally showing the app off on camera.

Sources

Overviewer Sources Metrics

Here are the sources metrics from App Store Connect. As expected The Verge and 9to5 did a lot of the heavy lifting on the Web Referrer side, but the size of Facebook in the App Referrers initially surprised me. I searched around and found that a lot of people (usually teachers) were sharing The Verge article on Facebook. Presumably, since the Facebook app has a built in browser, any links from The Verge to the App Store would actually be counted as coming from the Facebook app.

Thanks 🙏

I guess I’ll wrap up by saying thanks to everyone who shared the app with any teachers or educators they know who might find it useful. Seeing that this little app I made is being used in the real world and helping teachers and kids learn during this wild year is extraordinarily fulfilling. I’ve also heard from some people using Overviewer for tabletop gaming with friends over Zoom which is totally awesome and not something I had considered at all.

If you haven’t yet can download the app for free on the App Store here. And as always, if you have any suggestions for how to improve the app, or if you find another alternate use for it outside of virtual learning, let me know!

Launched Year 1

One year ago today I released my first episode of Launched. While January 2020 feels like a different world than January 2021, I still think 1 year in is a good time to assess how the project is going compared to my initial goals. And just as I did after week 1, I’d like to run through the metrics and see if there are any interesting findings.

But first, some quick vanity metrics!

  1. ⬇️ 53,666 Total Downloads
  2. ⏱ 27 hours 33 minutes of total content
  3. 🐦 1,067 Twitter Followers
  4. ⭐️ 5.0 Rating on Apple Podcasts1

Great Expectations

Let’s start with expectations. In my Launching Launched post I explained the 3 main reasons why I started the show.

Any project that’s going to require a significant investment of your time deserves to have this question answered: Why? For me, there is one “altruistic” answer and two selfish ones.

  1. I want this to exist and genuinely think other devs and creators would find it beneficial.

  2. I think it could help me raise my profile in the community which would help with future app launches and all the nice benefits of having a strong network.

  3. I’d get to meet and talk to a bunch of interesting people whose work I really respect.

My understanding is that the vast majority of podcasts fail to reach a substantial audience, so 1 and 2 may never happen. But 3 is a benefit I get either way, so in the end, I felt it was worth giving it a shot.

I’m counting #3 as an unambiguous success ✅. Just look at this guest list! I still can’t believe I got to talk to all of these people. Not only with huge inspirations for me in the iOS developer community but also internet creator heroes I’ve been looking up to for years and years like Seth Worley and Myke Hurley.

For #1, I’m giving myself a pass as well. The show exists ✅ and I’ve heard from more than one listener that they find it beneficial ✅.

#2 is a bit trickier to measure. Based only on listener metrics I’m not sure how much the show has “raised my profile” as we’ll see in the next section, but I think there’s no doubt it’s helped benefit my network within the iOS community. In a year devoid of networking events, I’ve been able to have regular long conversations with developers I admire every other week.

Metrics

Because Launched is an interview show my expectation for downloads was a lot of variation in each episode (since each guest brings different sized audiences along) but hopefully slow growth over time since each guest’s audience would hopefully bring a few new subscribers.

Something like this: Launched Expectations

Instead, here are the downloads for every episode in year 1. It’s separated by day 1 of release to day 90 of release since the most recent episodes haven’t been out as long and it wouldn’t be accurate to compare total downloads. So you can compare all of the “7 Days” download numbers (green) for each episode for example.

Launched Year 1 Metrics

This wasn’t at all what I was expecting 😅. After the spikyness of the first 5 episodes (which was unique in that I released an episode every day), it pretty much completely leveled off into a nearly flat line. Very few spikes and almost no valleys.

I have to admit that, despite all my lip service about my goals not being about audience size, this was a little disappointing. Admittedly I didn’t do much in the way of marketing after the initial launch, nor do I really know what options I even have (feel free to reach out if you have any ideas 😁). I think I just incorrectly internalized that if I could bring on interesting guests and keep at it regularly that I would probably grow, despite intellectually knowing that the vast majority of podcasts don’t reach that big of an audience.

There is some hope, however! Episode 20 with Brian Mueller was the first episode after an extended “Back to School Break” and it saw a pretty big bump in downloads (I don’t have 90 day numbers for it yet though). And it looks like each episode after has sustained a larger average than before the break.

Time will tell if this is a trend or a fluke, but it does feel nice to see a little boost in the audience size.

And here’s the user agent and location metrics:

Launched Listener Data

I don’t have much commentary to add here other than pointing out that Overcast having a bigger percentage than Apple Podcasts is, I think, evidence of the nerdy, iOS centric profile of my listenership 😅.

Also, as someone who lives in a small midwestern American city, it’s very cool to see how many countries people are listening from!

Diversity

One of the areas where I’ve failed my original ambitions is ensuring a diverse list of guests. Of the first 24 episodes, 14 are white men, and only 3 episodes have women guests.

I think my failure here comes before scheduling and booking. My problem is I don’t know or follow enough diverse indie developers.

Everybody I bring on the show is someone whose work I genuinely admire and look up to. And I really don’t think the right thing to do is to bring on token diverse people, so I need to expand my network to find the folks doing interesting work who come from different backgrounds than me. I don’t know what the best method for addressing this is though, so if you’ve read this far and you have any ideas please let me know!

Wrap Up

Overall I’m really proud of Launched. I think I’ve produced a high-quality show featuring interesting guests filled with fun and educational conversations. It’s honestly a lot of work, but for now, it’s worth all of the effort.

2020 threw a curveball at everybody’s life and for me Launched helped get through it. It provided the excuse to connect with a lot of developers I was really hoping to get to meet at conferences and meetups that no longer happened this year.

To all of you who listen, I can’t thank you enough.

  1. In the US. I don’t know how to aggregate international Apple Podcast reviews