I Built a Speed-Listening App

Because 2x just isn’t fast enough

Max Deutsch
iOS App Development
9 min readApr 22, 2016

--

How it started

According to Audible, in the past 4 months, I’ve listened to 23,478 minutes of audiobooks. Everything from Adam Grant’s Originals to The Big Short to the #AskGaryVee book. I’ve also listened to maybe 10,000 minutes of tech podcasts. It’s a lot of audio — which is mostly afforded by my long commute from San Francisco to Mountain View, and my preference to hear the human voice sped up at 2x or 3x playback speed.

23,478 minutes of audiobooks since January 2016

With all this audio being processed by my brain, I started to wonder: Could I train my brain to listen to audio at ultrafast speeds?

The dream was to crunch through a 5 hour audiobook in 20-30 minutes without completely destroying my comprehension.

Seems crazy, but apparently in a 2010 study, blind patients (with zero practice) were able to comprehend 25 syllables per second, which is about 7–8x faster than the average audiobook speed. I’m not blind, but I’m willing to practice.

After a fruitless search for a “speed listening” app during my morning train ride, I determined there was none and that I had to build it. This app also had to double as a “brain trainer” (a real one…I didn’t want to end up like Lumosity).

Before the train ride finished, I had settled on the name Rightspeed (or “Lightspeed with an R” as I keep finding myself saying). The name seemed memorable and suitable — and more importantly, the domain name Rightspeed.co was available (which satisfied my costly domain name addiction).

With the name settled and a respectable domain name purchased, the next step was to build a prototype.

Building the prototype

I wanted to accomplish two things with the prototype: 1) Determine if I could actually build the technology, and 2) Determine if my brain was actually trainable.

I started with the technology, which I thought was going to be easy. AVAudioPlayer — the recommended class of audio player functions from Apple — was one of the first things I learned how to use when I started iOS development. Here was the problem… the “rate property” that is used to control playback speed has a maximum value of 2x (which is probably why almost all apps have a 2x playback limit). I could probably come up with some clever way to loop players on top of players, compounding the rate property, but that would be messy and would require more computing power than my iPhone currently likes to support (especially at higher speeds).

Option 2: Build a custom audio engine from scratch (leveraging some of Apple’s AVAudioEngine class). The real trick was to create something that had infinite speed capabilities and didn’t blow up my phone when I cranked the audio processing up really high.

After building four different audio engines (that consistently crashed my phone), I finally built something that was stable. It was incredibly ugly, but it was functional, and that was all that mattered at this point.

I took the prototype and an MP3 version of Walter Isaacson’s “Steve Jobs” onto my hour-long morning train ride, put my phone in Do Not Disturb mode, and went to work. I started listening at 2x, slowly incrementing the speed up by 0.1x every couple minutes. By the end, I was listening to Steve’s childhood at 4.5x speed and was actually comfortably understanding the sounds my headphones were making.

I was onto something.

Making it Pretty

The tech worked, and so did my brain — so now it was time to make the app look pretty. I opened up Sketch and went to town.

I knew I wanted something dark, yet colorful, and also something that challenged “traditional” audio player designs. Maybe, even something a little retro.

I settled on a design I liked fairly quickly, and spent the weekend writing custom controls in Xcode and “skinning” my prototype to match the designs.

Here’s what I ended up with:

1. The List

Each audio file you upload gets it’s own row that displays the title and author, the time remaining, and a boldly colored progress bar.

2. The Play/Pause Button

I wanted a giant play/pause button. Something about the size makes it very satisfying to use.

3. The Tiny Play/Pause Button

You can also play and pause audio from “The List”, using the tiny inline play/pause button. (Your Apple Watch should also work.)

4. The Timeline Control

I wanted something different than the traditional timeline bar you normally use to scrub through audio. So, I made the entire screen into the timeline control.

5. The “Completed” Animation

When you finish a podcast or audiobook, the “time remaining” counter turns into a checkmark. It’s very satisfying.

6. The Speed Control

You can choose any speed from 1.0x to 10.0x in 0.1 increments. You can even change the speed as the audio plays, with seamless speed transitions.

Unlike other apps, changing the speed will also change the time remaining, so you know exactly how much “play time” you actually have left.

7. The Delete Button

You can delete podcasts or audiobooks you’ve finished by swiping right to reveal the delete button.

With all these pieces built, the Rightspeed app was nearly finished. (Or so I thought… FYI, there’s a big feature to come in a couple sections)

Making a big tradeoff

With almost everything built out, I had one big question left: Where does the audio come from? How do you get audiobooks and podcasts on Rightspeed?

In an ideal world, Rightspeed would just share audiobooks with Audible and podcasts with iTunes or Overcast. This isn’t impossible, but requires the involvement of these other companies, which I didn’t (still don’t) have. (If you’re reading this from Audible, iTunes, or Overcast HQ and are interested, send me an email at max@rhombus.it).

Another option I was thinking about in the prototyping stage was “hijacking audio playback” at the device level. In other words, you would start playing an audiobook on Audible, and then while it’s playing, you would open Rightspeed, which would hijack the device’s playback. You could then use Rightspeed’s speed controls accordingly. Not surprisingly, Apple doesn’t let you do this kind of thing.

The final option was to build my own pipeline of content (i.e. an audiobook store/podcast library). There are definitely APIs out there that make this possible (especially on the podcast side), but I was worried that going in this direction would confuse Rightspeed’s story: I didn’t want Rightspeed to be another podcast or audiobook app that had some cool playback features, I wanted Rightspeed to be positioned as “The Speed-Listening App” for podcasts and audiobooks. So, I wasn’t prepared to go in this direction either.

The outcome: I decided to use iTunes File Sharing as the upload mechanism. In other words, you need to connect your iPhone to your computer in order to add audio files to Rightspeed.

I tried to avoid this outcome for a long time, but (for version 1.0) it makes the most sense (by process of elimination). Of course, I’m not super happy with the fact that a computer is involved — I would prefer that everything was done on your phone — but, over the past few weeks as a user, I’ve found that I don’t mind a weekly mass upload as much as a I thought.

To ensure onboarding is satisfying, I’ve included a demo audio file with the app. That way, you can test out Rightspeed immediately, even if you don’t have a computer handy. Adding the demo file makes the size of the binary (“the app”) much bigger during download, but the instant gratification during onboarding justifies the slower download speed (at least to me, as the founder interested in converting you).

I certainly plan to improve this part of the app in upcoming versions, but for now, I’m going to have to live with the tradeoffs.

Creating the Killer Feature

For a few weeks, I tested the finished version of Rightspeed during my commutes, and realized that something was missing.

It actually wasn’t something with the app, it was something with me — I had no discipline. I so badly wanted to be “the world’s best speed-listener” (I’m still trying, by the way) that I couldn’t wait more than a minute or two before ramping up past a realistic comprehension speed.

If I really wanted to train my brain, I would need to take a disciplined approach, starting at a comfortable speed and slowly incrementing the speed over time. The hope is that the speed increases are so gradual, that I wouldn’t actually perceive the changes.

But, I was too competitive with myself to take this measured approach. I needed to add a “Discipline Button” to Rightspeed.

ASR button hiding at the very bottom of the video

Although it’s not called the “Discipline Button”, the Automatic Speed Ramping (ASR) button in Rightspeed is designed exactly for this purpose. Every two minutes, if ASR is active, Rightspeed will automatically increment your listening speed by 0.1x.

This might seem super slow (at least to me it does), but this is what I’ve found to be most effective. At this rate, during a 30-minute training session, you can work your way up from 2.0x to 3.5x, or from 3.0x to 4.5x. (You shouldn’t be making speed leaps any larger than this during a single session anyway.)

Everyday, at the end of my commute, I surprise myself when I look down and realize that I was listening at 4.6x or 5.4x. I think you will be just as surprised to see how trainable your brain actually is.

Setting a price

While I was building Rightspeed, I had planned on making the app free to download, but would require a $30/year subscription to use (after a one month trial). I was also considering a monthly subscription of $2.99/month.

Either way, I liked the idea of a subscription. After all, I suspected that the people who found Rightspeed valuable, would find Rightspeed really valuable (and thus, would be happy to pay $30/year).

But, then I thought more about myself as a user and customer, and changed my perspective…

I am unequivocally the target market. I listen to hours of audio and have an obsession with “brain optimization” (I’m into blindfolded Rubik’s Cubing, and memorizing shuffled packs of playing cards, and all that weird stuff). And I wasn’t prepared to dish out $30 for Rightspeed (and I really like spending money on these kinds of things).

If Rightspeed was perfectly integrated with Audible and iTunes, then it would be the easiest purchase. But it’s not right now, and so, $30/year felt too rich. I had to put my bias aside and honestly ask myself: For version 1.0, what would I be willing to spend on an app like this? I determined I would be curious enough to spend $4.99 (one time).

If I was just going after the very narrow cohort of people that are exactly like me, I probably would have kept the price there. But, I wanted to attract a slightly larger audience (maybe even convert “regular people” into speed-listening evangelists), and so $2.99 seemed right.

If $2.99 still seems like too much for you, then it probably is. I know this app isn’t for everyone, and it’s not supposed to be.

However, if you value “information processing speed” or brain-powered party tricks, or just can’t stand how slow podcasts sound at 2x, then I feel like $2.99 is a solid price (it’s only 1/5 of one month of an Audible membership after all).

Price justification aside, I feel good about this.

The world’s best speed-listener

I am declaring myself as the world’s best speed-listener (since I don’t think anyone else has ever wanted this title before). But, I challenge you to see if you can top me.

My top comfortable* speed for audiobooks is currently around 5.3x, and for podcasts it’s around 4.5x. (*comfortable means I have a perceived 99% comprehension rate, if I take the time I need to ramp up)

If you want to try to dethrone me, want to be competitive only with yourself, or are just curious, you can download Rightspeed here:

Good luck, and happy speed-listening.

Max Deutsch is an obsessive learner, product builder, guinea pig for Month to Master, and founder at Openmind.

If you want to follow along with Max’s year-long accelerated learning project, make sure to follow this Medium account.

--

--

iOS App Development
iOS App Development

Published in iOS App Development

Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone

Responses (33)