Accidental Tech Podcast: Landmines, Pitfalls, and Bottomless Pits →
The results of my Node.js experiment, Apple’s developer marketing survey, and getting back into the iPad.
I’m Marco Arment: a programmer, writer, podcaster, geek, and coffee enthusiast.
The results of my Node.js experiment, Apple’s developer marketing survey, and getting back into the iPad.
I often get asked about supporting chapter marks in podcasts. After consideration and research, I’ve decided not to support them in Overcast for the foreseeable future.
The least important reason is that it would be a nontrivial amount of work. There isn’t just one standard: to please most people requesting it, I’d need to support Apple’s original (and undocumented) Enhanced AAC, MP3 Chapters, and Podlove Simple Chapters, all of which are very different. All of them would need to be coded from scratch with low-level file-parsing code, since there aren’t any existing libraries I know of on iOS, and none of them except Podlove Simple Chapters could work on Overcast’s web player.
A bigger problem is the additional UI and control complexity required for navigation between chapters. I already need to account for two “seek” actions in each direction — seek by n seconds, and go to previous/next episode — and that’s already uncomfortably and imperfectly crammed into the limited capabilities of most off-screen control interfaces, including car controls, Bluetooth devices, headphone clickers, CarPlay, and Control Center.
These systems are all designed with, at most, the same 2–4 seek controls that CD players have: previous track, next track, and sometimes, continuous rewind and fast-forward. We’re able to map our four actions onto them, although the difference from their traditional roles still confuses some users.
Chapter support would require adding a third action for each direction (go to previous/next chapter) for six total seek actions, which would even further complicate the control systems and interface. Since none of them support more than four seek actions, I’d need to add obscure gestures or clunky preferences to optionally substitute these actions into the current schemes. And since most podcasts don’t include chapter marks, those gestures would either be disabled most of the time or would confusingly fall back to a different behavior. It’s not impossible to do this, but it’s probably impossible to do it well.
A few podcast apps support chapters and accept this complexity, but many of Overcast’s customers chose it specifically because it has fewer options and simpler controls. Increasing the control complexity may cause Overcast to lose too many fans.
None of those are the biggest reason. I could get over all of those costs if there was strong enough supply or demand. But there’s neither.
The vast majority of chapter-support requests come from a very small, very persistent group. (And I like them. But there simply aren’t very many of them.) Most listeners, by far, don’t seem to demand them, possibly due to the awkwardness of using them in many listening contexts.
The supply side is even worse. They place a big enough burden on podcast producers — especially since Apple removed all support for their creation from GarageBand — that it’s simply not worth including them for the tiny portion of listeners who request them. Making podcasts already has too many steps and takes too much time, and the last thing producers need is another manual, time-consuming step, especially one that their editing tool of choice most likely doesn’t support.
Some have argued that not supporting chapters in Overcast is itself restricting supply and demand, but Overcast simply isn’t that powerful — it has only been out for 6 months, and podcast chapters failed to gain traction for almost a decade before that.
So for now, chapter support simply isn’t worth its costs. If supply or demand substantially change in the future, I’ll gladly reconsider.
https://marco.org/2015/01/03/getting-help-with-app-reviews-and-rejections
Quietly buried in the Apple Developer News feed on December 30th, this is the entirety of the text:
iTunes Connect is now available after the holiday shutdown. Please remember, if you need to appeal an app rejection or request that the review of your app be expedited, the fastest way to get help is to contact the App Review Team through the Contact Us form. To view app rejection details and ask for clarification, visit Resolution Center in iTunes Connect. We look forward to seeing the innovative new apps you’ll create in 2015.
I can’t tell whether this is a mea culpa for the recent app-review turmoil or a passive-aggressive threat. It’s weird either way.
https://marco.org/2015/01/04/apple-lost-functional-high-ground
Apple’s hardware today is amazing — it has never been better. But the software quality has fallen so much in the last few years that I’m deeply concerned for its future. I’m typing this on a computer whose existence I didn’t even think would be possible yet, but it runs an OS with embarrassing bugs and fundamental regressions. Just a few years ago, we would have relentlessly made fun of Windows users for these same bugs on their inferior OS, but we can’t talk anymore.
“It just works” was never completely true, but I don’t think the list of qualifiers and asterisks has ever been longer. We now need to treat Apple’s OS and application releases with the same extreme skepticism and trepidation that conservative Windows IT departments employ.
Geoff Wozniak went back to desktop Linux after almost a decade on OS X (Update: He appears to have taken the post down). It’s just one person’s story, but many of his cited reasons resonate widely. I suspect the biggest force keeping stories like this from being more common is that Windows is still worse overall and desktop Linux is still too much of a pain in the ass for most people. But it should be troubling if a lot of people are staying on your OS because everything else is worse, not necessarily because they love it.
Apple has always been a marketing-driven company, but there’s a balance to be struck. Marketing plays a vital role, but marketing priorities cannot come at significant expense to quality.
I suspect the rapid decline of Apple’s software is a sign that marketing1 is too high a priority at Apple today: having major new releases every year is clearly impossible for the engineering teams to keep up with while maintaining quality. Maybe it’s an engineering problem, but I suspect not — I doubt that any cohesive engineering team could keep up with these demands and maintain significantly higher quality.2
The problem seems to be quite simple: they’re doing too much, with unrealistic deadlines.
We don’t need major OS releases every year. We don’t need each OS release to have a huge list of new features. We need our computers, phones, and tablets to work well first so we can enjoy new features released at a healthy, gradual, sustainable pace.
I fear that Apple’s leadership doesn’t realize quite how badly and deeply their software flaws have damaged their reputation, because if they realized it, they’d make serious changes that don’t appear to be happening. Instead, the opposite appears to be happening: the pace of rapid updates on multiple product lines seems to be expanding and accelerating.
Update: I regret the attention this got, as it wasn’t my best work.
An important nuance that the many sloppy rewrites of this article keep getting wrong (intentionally for sensationalism?): I’m referring to marketing as a priority, not “the marketing department”. I have no idea about the internal workings of the marketing department and how it does or doesn’t influence the company’s direction. Marketing priorities seem to be a bit too influential, such as requiring a new major OS with every iPhone release, or a new OS X every year, for their marketing benefits. ↩︎
People keep asking me whether a high-level executive change — Tim Cook, Phil Schiller, or Craig Federighi — is needed. I don’t know, of course — none of us really do — but I suspect that’s not really the problem. What seems to be the problem is the overall apparently agreed-upon prioritization put forward by the entire executive team.
This probably isn’t a “fire someone and fix it” problem — it’s simply an issue of poorly weighted priorities that can most likely be adjusted with the current personnel. ↩︎
https://marco.org/2015/01/05/trey-anastasio-tiny-desk-concert
A great entry in a great series. Cat Stevens and T-Pain (really!) are great as well.
Last night, I wrote a quick post about Apple’s software quality. Originally, it was just a link to the Linux post. I had too much commentary, so at the last minute, I changed it to an article and came up with a quick headline. I’d been toying with the idea of the “moral high ground”, but that was too harsh and incorrect, so I went with the “functional high ground”, thinking almost nobody would get the reference and it would uneventfully breeze through my geek friends’ RSS readers like most of my posts.
This morning, my words were everywhere, chopped up and twisted by sensational opportunists to fuel the tired “Apple is doomed!” narrative with my name on them. (Or Tumblr’s name, which was even worse.) Business Insider started the party, as usual, but it spread like wildfire from there. Huffington Post. Wall Street Journal. CNN. Heise. Even a televised CNBC discussion segment.
All of them using my name, and a few of my words, to create drama, fan the flames, and get some views.
And there were a lot of views. The small fraction that came back to my site still pushed it past the pageview totals for any posts I wrote in 2014. You might think this is a dream come true for a blogger, but it’s horrible.
Instead, I looked back at what I wrote with regret, guilt, and embarrassment. The sensationalism was my fault — I started it with the headline and many poor word choices, which were overly harsh and extreme. I was being much nastier and more alarmist than I intended. I edited some words to be more fair and accurate, but it was too late. I can’t blame the opportunists for taking the bait that I hastily left for them.1
Most of my posts go effectively nowhere, but occasionally, one will unexpectedly go really far — and this blew past everything I’ve ever done. When that happens, there’s no chance to revise, no room for error, and no way to stop it.
If there’s any flaw, it’s an unstoppable nightmare of embarrassment and guilt. Most people, myself included, aren’t accustomed to that level of scrutiny. Those who are usually have PR training, editors, and handlers to protect them from publishing flippant blog posts before they go to bed.
Instead of what was intended to be constructive criticism of the most influential company in my life, I handed the press more poorly written fuel to hamfistedly stab Apple with my name and reputation behind it. And my name will be on that forever.
Had I known that it would go as far as it did, I never would have written it.
I now need to write everything with the fear that any hastily written article might end up on TV, with the most extreme word in the article singled out with my name on it forever.
I’ll keep writing — I can’t stay away. But academically, it’s not worth the risk.
I think “nosedive” is what I regret most. It suggests that Apple is quickly and suddenly falling to an imminent doom, while I intended to express a more gradual progression causing long-term reputation damage. ↩︎
I love this:
Available today, the behemoth is completely meant to be a desktop replacement — the 18.4” screen, bulk of the mechanical keyboard and massive 350W power brick make it portable only in the most literal sense.
Compaq did it first, but this one is more portable, even if only slightly.
I tossed one on the grill. It hit with a satisfying sizzle. Gobbets of lovely fat began to bubble out. A beefy smell filled the air. I browned a bun. Popped a pilsner. Mustard, ketchup, pickle, onions. I threw it all together with some chips on the side and took a bite. I chewed. I thought. I chewed some more. And then I began to get excited about the future.
I don’t know how well it’ll work yet, but I’m interested.
A big win for Facebook’s alternative PHP engine.
I ran Overcast on HHVM for a while last summer, but there were still too many bugs and incompatibilities for my comfort. There’s still a while to go before it’s a drop-in replacement for everyone — as you can see, Wikipedia required a lot of custom work from HHVM’s developers — but it’s making progress.
Still, I question whether alternative runtimes and custom language extensions for a very old, limited, and flawed language are worth the trouble, incompatibilities, fragmentation, and potential instability for sites with fewer engineers and less of a PHP investment than Facebook and Wikipedia.
Having experimented with Node and Go over the last two weeks, I can’t help but think that most PHP developers and sysadmins would be better off either sticking with official PHP, because it’s much easier and safer to rely on, or beginning a migration to a more widely supported new language that’s likely to have a longer useful lifespan.
A large investment in HHVM or Hack today seems to be worthwhile only if you’re paying much more for PHP CPU usage than engineering salaries, you have a lot of unused engineering capacity to migrate to and maintain the new setup (which takes more effort than official PHP because it’s so bleeding-edge), and your codebase is so large that it’s infeasible to start migrating away from PHP.
https://marco.org/2015/01/09/a-teenagers-view-on-social-media
From Andrew Watts’ insightful piece, I couldn’t be more satisfied with this perception of Tumblr:
Tumblr is where you are your true self and surround yourself (through who you follow) with people who have similar interests. It’s often seen as a “judgment-free zone” where, due to the lack of identity on the site, you can really be who you want to be. The only Tumblr URLs I know of people in real life are my close friends and vice versa.
Plus, it’s simple in Tumblr to just change your URL if anyone finds you. Your name isn’t attached to that profile at all so without that URL it is pretty difficult to find you again, especially for the typical parent snooping around. This really helps make the site a place where people can post and support others posts.
This is exactly as we designed it, and exactly as we hoped it would be used. To understand why, it helps to remember the social-web context of 2007, when we made the core social features: MySpace was still very popular, Facebook was taking off, and social networks were it. And social networks want your real name, photo, and as much personal information as you’ll give them.
Social networks are designed around who you are and who you know. They’re for 24/7 contact with your family, classmates, friends, bosses, coworkers, ex-classmates, ex-bosses, ex-coworkers, ex-friends, ex-family, and exes, in a medium that doesn’t leave much room for humanity, filtering, subtlety, and nuance. Some people love it; I only see the irrelevance, drama, and baggage that comes with it, and being politically impossible to un-“friend” many of them.
As a teenager, I escaped from these real-life people, problems, and social statuses to the internet — the last thing I wanted was to be surrounded by them there, too.
Tumblr didn’t start as a social network — it was only a blogging platform for its first few months, and blogging was still the primary focus for its first few years. The blog world was always merit- and interest-based, with one-way following (and minimal focus on follower stats) and easy availability and widespread acceptance of pseudonyms and anonymity.
Tumblr was designed around what you say and what you’re interested in, and it lets you choose whether, how, and how much to reveal your identity on a per-blog level. That was a deliberate, designed decision because that’s the kind of product David and I wanted.
I’d hate to ever have a world in which traditional social networks are the only option, leaving no refuge for people who want or need to escape.
Adventures in Go, Apple’s software-quality issues, my blogging issues, and the rumored 12-inch MacBook Air.
Our 100th Episode Spectacular!
Nobody ever wants to talk about money.
But current and prospective indie app developers could really use more information on the subject. I’ve seen some very informative and helpful posts from developers revealing their revenue numbers, including:
I’ve decided that the potential educational and market-research benefits to others of adding Overcast to the mix will be greater than the risk of people thinking I’m an asshole for doing so. I hope this is helpful to anyone researching the indie iOS market or thinking about entering it.
Overcast is a podcast player for iOS that I launched on July 16, 2014 after working on it full-time for about 15 months. It’s a free download with a single non-consumable in-app purchase, “Unlock Everything”, at the $5 tier.
It had a perfect launch that far exceeded my expectations — it was the best launch an indie developer could possibly hope for, with tons of great press, a mid-level App Store feature, and thousands of tweets on launch day.
For calendar year 2014:
Per month, excluding the launch month (since it’s an extreme outlier):
Some graphs from Appfigures:
Expenses are relatively low, with total server and hosting costs at about $750 per month. (For comparison, my family’s health insurance costs almost twice that.)
The biggest expense in 2014 was a trademark-coexistence agreement to use the Overcast name that cost about $12,000, and I believe the name was worth the cost. (My other names sucked.) I then trademarked Overcast for a few thousand dollars to secure it for my own use within the agreement, and I have trademark applications pending on Smart Speed and Voice Boost3 — anyone is welcome to copy those features, but I simply ask that they call them something else.4
Having a free app with IAP seems to be a smoothing filter on sales — as you can see from the downloads-vs.-IAP graphs above, downloads are correlated to IAP sales but vary much more, with the daily revenue staying in a smaller range than the downloads.
The biggest unknown in the App Store is what happens after the launch has settled down. I don’t know what 2015 will bring, or where sales will bottom out. (With past apps, February was always my worst month, and not just because it has fewer days.) Promisingly, sales in the last 6 months have stayed within a fairly narrow range and aren’t showing a clear downward trend, although the bumps in November and December can be easily attributed to temporary boosts from Serial and Christmas.
Overall, I’m very satisfied with Overcast’s finances so far. It’s not setting the world on fire, but it’s making good money. For most people, the App Store won’t be a lottery windfall, but making a decent living is within reach for many.
After the self-employment penalties in taxes and benefits, I’m probably coming in under what I could get at a good full-time job in the city, but I don’t have to actually work for someone else on something I don’t care about. I can work in my nice home office, drink my fussy coffee, take a nap after lunch if I want to, and be present for my family as my kid grows up. That’s my definition of success.
Apple made $70,343 from Overcast in 2014. ↩︎
This is sales that occurred in 2014 — the actual amount of revenue received in Overcast’s bank account in 2014 was less due to the roughly 2-month delay between when sales occur and when the money arrives. ↩︎
All three are pretty narrowly claimed, as required by most modern trademarks. I can’t stop someone from making a weather app named Overcast, for example, unless they tried to confuse people into thinking it was my app. The trademark is mainly useful when requesting takedowns of fraudulent clones and keyword squatters. ↩︎
The marketing of Smart Speed, in particular, could be an entire blog post on its own. How do you market the biggest differentiating feature of your app when, by design, you can’t even tell when it’s on? ↩︎
Compelling analysis and correlation of App Store revenue data from Charles Perry, half of one of my favorite indie-developer podcasts:
I didn’t actually expect App Store revenue to obey the 80-20 rule. In fact, I expected it to be a much sharper curve, representing even greater disparity in the distribution of revenue than the 80-20 rule would suggest – maybe a 90-10 split, or even a 95-5 split. As it turns out, the revenue distribution curve of the App Store is even sharper than I imagined. …
Luckily, there’s a lot of money to be made in that long tail.
Had I known my data would help something like this, I would have released it sooner.
The great thing about estimates like this is that even if they’re only accurate within a wide error range, they’re most likely in the ballpark by enough to make the conclusions that matter: namely, that there’s a lot of money being made in the App Store, and a lot of opportunity for independent developers, that we’re not seeing on the top-25 lists.
Huge update to one of my favorite tools for audio nerds and producers. It’s amazing how much clunky hardware and complex software can be replaced with just this one app.
Don’t miss Jason Snell’s take as well.
Paul Graham:
If something that seems like work to other people doesn’t seem like work to you, that’s something you’re well suited for.
“Who wants a stylus? You have to get ‘em, and put ‘em away, and you lose ‘em… yuck. Nobody wants a stylus.”
Great test and demo of Smart Speed by Evan Pederson.
I haven’t done a large-scale test of how much time Smart Speed saves across all known podcasts on average, but on the shows I listen to, it usually averages about 15% faster than normal. I can tweak the parameters to be more aggressive and go a bit faster, but the savings aren’t worth the less-natural pacing. (I listened with Smart Speed full-time myself, trying different values, for almost a year before Overcast’s release.)
I see Smart Speed as getting one more notch on the speed meter for free. Whatever your preferred speed setting is for other reasons (pace, sound quality, intelligibility), Smart Speed tends to get you roughly the actual speed of the next highest one.
Whether it’s worth answering email, learning new languages, using Apple’s money to solve problems, and the British Isles.