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.


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


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.


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.


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.


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!


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 

Meet Overviewer

Overviewer app icon

Today I’m releasing Overviewer, a totally free new iOS app for teachers that can turn your iPhone into a document camera on Zoom or other video conferencing apps. It’s proven difficult to explain what the app is actually for if you don’t already know what that is, so let’s start with a quick explanation of a document camera (or visualiser for our UK friends).

Document Scanner

iOCHOW S1 Document Scanner - $219

A document scanner is essentially a mounted webcam pointed straight down on a desk that can project or stream a top-down video of anything the presenter wants to physically show on their desk. Many teachers use these now instead of the old overhead projectors for showing worksheets, working through math problems, ect while teaching.

My wife is a Kindergarten teacher and when COVID hit she had to figure out how to teach a bunch of 5 and 6 year olds how to draw letters over Zoom. Initially she made her own document camera using her iPhone and the default camera app. Zoom has a wonderful feature where you can share your iPhone’s screen by plugging into your laptop with a lightning cable or even wirelessly over AirPlay but when you open the camera app there are two issues.

  1. There’s a bunch of buttons and chrome around camera view so it looks clunky
  2. The camera app doesn’t actually rotate when you turn it sideways (just some of the labels) so you can only share your phone in portrait mode which means huge black bars on each side of the zoom call and a tiny video stream of what you want to share.

So being the dorky husband that I am, I quickly built an app that does nothing other than show what the phone camera sees with zero chrome, and properly rotates the whole app so that you can share it in landscape on zoom. This did the trick and she actually used it! But over time she’d point out little annoyances and I’d add a feature here and there to make it a smoother experience like a button to turn on the flashlight to light the desk, and one for forcing a rotation change. I also went ahead and fully supported streaming it over AirPlay as a sort of learning experience and before I knew it I had an interesting little app on my hands.

I figured this may be useful for other teachers out there so I gave it a fresh coat of paint, a fun icon (with alternates of course 😄) and put it on the store for free. To be honest, I’m not really sure how many people will find this useful. It’s pretty tailor made for exactly my wife’s use case but I would think that would be a pretty common one for teachers to be in right now in our current virtual teaching world.

So if you’ve made it this far, here’s what I’m asking of you. I know most of you probably wouldn’t use this yourselves, but if you know of any teachers or educators in your life that this may help, tell them about the app. It’s totally free for a reason! If getting this into the store makes one teacher’s life easier this year I’ll consider this whole side-project a success 😁.

I also made a little video tutorial to show how it works. This video is specifically for use with Zoom, but the same principle should apply to any video conferencing app that lets you share an iPhone screen.

There's also a link to this video inside of the app as well.

You can download the app on the App Store here. If you have any suggestions for how to improve the app, or if you find an alternate use for it outside of virtual learning, let me know!