The Update Slump

I am certainly not the first to experience it, but if you were looking for hard data on the update slump, look no further. Below are two iTunes Connect App Analytics charts from before and after I released an update in the App Store.

Several things could be happening here.

  1. Lack of reviews turns buyers away.
  2. Latest version crashes a lot and is getting negative reviews.
  3. Updated keywords/description with new version destroys SEO.

I can’t prove number 1, but judging by these charts, I don’t think it’s number 2 or 3. Product page views and crashes are pretty consistent, implying people are finding the app, but not pulling the trigger on purchasing it.

"App Analytics, 9 September 2016 through 9 October 2016"

"App Analytics, 10 October 2016 through 14 November 2016"

Because I’m not the first to see this trend, I think it’s safe to say this is because of my lack of reviews. Five stars to no stars is a rough way to go.

If you’ve purchased the app and would like to help out, please write a review.

Convincing Myself

To buy a new MacBook Pro. Apple is unlikely to drop the price of this MacBook Pro or update its specs for at least 12 months, if not 18 or 24. Given that, right now is the best possible time to buy one. Every month I wait, I’ll get less value for the same price. If I buy it now, I can start getting some value from it rather than suffer through another several months of slow MacBook usage.

Exploit Prices

Zerodium’s Exploit Acquisition Program:

Product / Exploit Type New Price Previous Price
Apple iOS 10 (Remote Jailbreak) $1,500,000 $500,000
Android 7.x/6.x (Remote Jailbreak) $200,000 $100,000

An iOS remote jailbreak exploit is worth 7.5 times as much as an Android jailbreak exploit.

We know prices get set by supply and demand, so what drives up the prices for iOS? A greater demand or a lower supply?

I’ve never been interested in remotely exploiting someone’s phone, but I can muster a few guesses as to why someone would: to steal credit card data, distribute ransomeware, or form a botnet, to name a few. Are any of those worth more on iOS than Android? I don’t see how given Android’s greater market share. I expect the demand for Android jailbreak exploits to be greater, and thus drive the price up.

If we’re conservative and say the demand is equal for iOS and Android exploits, then the supply for iOS jailbreak exploits must be lower, implying they are more difficult to produce. I don’t know if any Apple engineers are patting themselves on the back, but this is a major testament to the iOS security team.

Ceramic Jet Black

Brian Roemmele via Quora:

Why is Apple moving to Zirconia Ceramics?

  1. Strength
  2. Radio Transparency
  3. Heat Conducton[sic]/Dissipation - with Alumina / Aluminum Nitride
  4. Scratch resistance
  5. Ease of manufacturing

The Apple Watch Edition Series 2 only comes in white, but it stands to reason a ceramic iPhone would come in both black and white. I’m a little surprised Apple would release the Jet Black iPhone this year rather than surprise us with a brand new color along with the ceramic housing.

Headphone = VGA?

Apple may wield significant sway in the industry, but is it enough to get other phone vendors to remove headphone jacks? In an apples to oranges comparison, HP and Lenovo still make laptops with VGA output. They may not be phone vendors, but I think it’s safe to say, if you really like headphone jacks, you’ll be able to buy a phone with one for a very long time.

Swift Subclassing

I’ve enjoyed watching the debates, but haven’t sided with one team yet. It’s hard to believe that you can be productive with subclassing unavailable by default, but looking at the Swift I’ve written the past couple of years, subclassing has not been my tool to solve problems.  Other than classes like NSManagedObject and UIView, I have hardly any subclasses, and each instance could use protocol extensions and remove the need for subclasses.

Even though I’m not convinced final by default is the best option, the evidence is pointing to it. I love Swift and am looking forward to spending more time in Swift 3 over the next year. Only real experience in the hands of developers will tell us if this is the right decision.

2FA Backups

Read the reviews for Google Authenticator. Here are a few good ones:

If you have saved codes don’t update.

23 Mar 2016

Lost all my codes in a backup/restore

9 May 2016

Lost all sign-in data upon upgrading.

7 July 2016

Losing your two-factor authentication codes is a very serious problem, whether it’s from losing your phone or an app update gone bad. See Github’s answer on what to do if you lose your 2FA code:

If you’ve lost access to your account after enabling two-factor authentication, GitHub can’t help you gain access again.

After reading these reviews, I realized a bad update could lock me out of Gmail, Github, Dropbox, AWS, and many other services. I save recovery codes in 1Password, but if I need to regain access away from my computer, I’ll be SOL.

Rather than rely on luck and recovery codes, I’m changing how I use 2FA. From now on, all 2FA codes will go in Google Authenticator and 1Password. This combination gives me the speed of Google Authenticator and the peace of mind knowing my codes are backed up in a second app.

App Store Search

The App Store needs more smarts and better search…

– Om Malik in Should Apple Buy Netflix?

A common refrain, but I have yet to see an objective measure of it. Does App Store search really suck, or are developers upset their apps aren’t ranked as highly as they think they should be?

I devised a simple experiment to try to answer this question.

The Setup

Pick Three Apps

I’m looking for apps with similar profiles. Ideally I could find 3 apps in different categories, each paid upfront for the same price, and all updated around the same time.

  1. Popular game that’s not a household name.
  2. Wide-appeal app in a crowded category (not a game).
  3. Obscure app in an obscure niche.

Perform several identical searches in the App Store and on Google. Google searches are prefixed with site: to filter results. Searches are performed on an iPhone 6s running iOS 10 Beta 5.

Queries are from the following categories:

  • Exact name
  • Partial name
  • Misspelled name
  • App topic (not category name)

The Experiment

The Apps

Game: Alto’s Adventure - $3.99 paid upfront. Last updated 2 June 2016.
Crowded Category: Clear - $4.99 paid upfront. Last updated 27 October 2015.
Obscure: The Red Ace - $4.99 paid upfront. Last updated 27 January 2016.


Alto’s Adventure

Query App Store Rank Google Rank Does App Store Search Suck
altos adventure 1 1 No
alto 1 1 No
adventure - 1 Yes
alltos adventure 1 1 No
aldos adventure 1 1 No
ski game 1 1 No


Query App Store Rank Google Rank Does App Store Search Suck
clear 1 1 No
cleer 11 - No
todo app 31 2 Yes

The Red Ace

Query App Store Rank Google Rank Does App Store Search Suck
the red ace 1 1 No
red ace 1 1 No
thered ace - 1 Yes
the read ace - - No
card counting 7 5 No
blackjack trainer 20 15 No

* A ‘-‘ denotes the app was not found in the first 50 results.


App Store search has a few weak spots compared to Google, but not enough to blame your app’s discoverability issues on “the App Store needs better search.” Even as Apple improves search, increases discoverability, and better curates lists, you can’t rely on it to generate all of your customers.

Should Have Been 1.0

Anytime you think to yourself “The 2.0 update to Product X is great. This should have been 1.0”, you’re probably wrong. You’re not wrong that 1.0 was subpar, you’re wrong on the assumption that 2.0 could have existed without the release of 1.0.

Picking on watchOS for a minute, we all know 1.0 was slow, clunky, and certainly not Apple-like. But is that proof that it was released too early? Would Apple have known that one of the best features of the Watch was fitness tracking when only a handful of engineers were wearing them? Would Apple have known that some spare memory capacity existed without millions of people recording usage patterns?

Regardless of how much user-testing and dog-fooding a team does before a product launch, it will never have the same impact as real users with the product in real situations.

I, for one, am happy watchOS 1.0 shipped when it did. 3.0 wouldn’t be as great without it.

Planning is Everything

Plans are nothing. Planning is everything.

– Dwight D. Eisenhower

Something we started at Hudl shortly before I left taught me this, but I never had the fun quote to match it until recently.

We had something we called “Design Reviews” that a developer would do before starting work on a new feature. The developer would write an internal blog post detailing the problem, the proposed solution, and alternative solutions the developer discarded. When it was complete, it was posted publicly for other developers to read and make comments and suggestions. The power of these Design Reviews wasn’t from the comments and suggestions as you might think. It came from preparing and writing the blog post.

As an indie for two months now, I realize I’m not taking my opportunities to plan like I should. This is a reminder to myself to spend a little extra time planning before tackling a new feature. I don’t need to write down the plan or show it to anyone, but the act of planning will be a significant boost over what I’ve been doing lately.

10 Year Update

My biannual update on the Marco Arment 10-Year Challenge.

In the past six months, I’ve managed to change quite a few things. The biggest change was leaving my job at the end of May. After several months of trying to work on projects in the evenings and weekends, I decided it was necessary to go full-time on the projects if I wanted to see any real progress. Thirty days in and I can feel a significant difference in what I’m able to accomplish. Motivation is high and the progress is fun to watch.

Current Projects

The Red Ace

Haven’t made any changes on it other than an update Swift to 3.0. I am experimenting with pricing a bit to see if I can change my App Store rankings or weekly revenue. At the end of the experiments, I’ll write a piece on how the experiments performed.


I’ve worked on these on and off for the past few months, but have been picking up steam since leaving my job. I got my first announcement out via the Elm Weekly newsletter. I’m planning a few more staged rollout pieces. A retweet from the @elmlang account or @evancz (the creator of Elm) could boost my audience a bit. Most important is to keep producing the episodes weekly.

Sidenote: If you want your link in an email newsletter, subscribe to it and hit reply. There are real people on the other end who are happy you’re providing them content they don’t have to find themselves.


iOS 10 has me pretty excited to build a particular workout app for the Apple Watch and iPhone. I prototyped on the developer Beta 1, but ran into just enough bugs to shelve it for the time being. Beta 2 was just released, so I’ll be back on that shortly.


An Elixir and Elm web app that I’m hoping can carry me for a lot longer than smallish iOS apps. It’s to the point where I am beginning some user experience research and will have the earliest alpha testers on board soon. It’s clear there is a market for it, but not clear if my solution is fitting that market yet.

Apple's New Headphones

If Apple removes the headphone jack from the next iPhone, we’re going to need some new headphones. Let’s explore the possible options Apple has for pairing and charging to see if we can come up with the best strategy before Apple tells it to us.


It is possible the new headphones will be wired and will plug into the Lightning port on your iPhone. This will work great for your phone, but ideally you would still be able to plug into your Mac.

I don’t know the technical aspects of how thick the wire between the earpieces and the iPhone would need to be, but if it were as thick as the standard USB-Lightning charging cable, that would be pretty obnoxious. On the plus side, it would not tangle easily.

Option 1

The iPhone 7 box contains the iPhone, the USB-Lightning charger, and the headphones. The headphones can only be plugged into your iPhone. Nothing else.

Perhaps Apple has data that shows the current EarPods are plugged into a Mac for 2% of all EarPods usage, and Apple is ok with those people carrying around an old pair of EarPods to listen to their Mac.

Plausibility: High.

Option 2

Apple provides a female-female Lightning adapter (same one that is shipped with the Pencil) with the headphones. This allows you to listen to your Mac by plugging the headphones into the adapter, and the standard USB-Lightning cable between your Mac and the adapter. Apple has already shown it is willing to ship an adapter just like this, but there will be much complaining about how easy it is to lose. This also assumes you’ll have a USB-Lightning cable on you when you want to listen to your Mac, but that seems like a reasonable assumption on Apple’s part.

Plausibility: Medium.

Option 3

Apple does not give us an adapter, but the next generation of Macs will have a female Lightning port. Certainly possible, but I don’t see this happening. Unless a female Lightning port on the Mac has some other use, it’s hard to see it getting added.

Plausibility: Low.


The biggest challenge here is being able to quickly pair the headphones with the device you want to use. Gruber makes some good points thinking through the Pencil pairing and charging strategy.

Option 1

Headphones have a male Lightning plug. Charging and pairing to your phone are a snap with this option. Charging via anything else is going to require the female-female adapter mentioned in the Wired Option 2. Pairing will require that same adapter or the old-fashioned method of going through System Preferences. This option seems the most likely to me. Apple should prioritize the ease of connecting/charging to an iPhone more than any other device.

Plausibility: High.

Option 2

Headphones have a female Lightning port. This is the best option for easy charging. Plug them into the wall or a Mac with the USB-Lightning cable everyone already has. Apple could then provide a male-male Lightning cable to support charging via an iPhone. If that cable is long enough to reach from your pocket to your head, listening while charging is now possible. Pairing works by plugging them into whichever device you want to listen to.

Plausibility: Medium.

Option 3

Headphones include both a female and male connection. This solves the charging and pairing problems with no additional adapters or cables, but it’s so inelegant. I don’t see it happening.

@joshuamarino envisioned a unique approach:

@gruber @jsnell like so.

But that introduces a new problem. If each side acts independently, and either the male or female side can be used to charge and pair, one now has to charge/pair both halves.

I may be mistaking @joshuamarino’s intent here and he’s only try to show off a way to get a male Lightning plug into the headphones. If that’s the case, this is more reasonable.

Plausibility: Low.

Option 4

Charging base. This would provide inductive charging for the headphones like the Watch. As long as the headphones are resting on the base, they are charging. The base itself would probably feature a female port like the Magic Mouse.

This option makes pairing the most difficult. Do the headphones pair with whichever device the base is plugged into? I doubt it. If someone has a base, it will often be in the same place on their desk, plugged into their Mac to provide a consistent charging location. This means pairing is done manually via System Preferences.

If the base does provide pairing to whichever device it is plugged into, it will either need a male Lightning plug, or a male-male cable to enable pairing with your iPhone.

Plausibility: Low.

The Answer

I’ll tell you in September! I’d love to see wireless headphones from Apple and Option 1 looks to be the most likely. I love my Jaybird X bluetooth headphones, but I’ve stopped trying to pair them to my laptop because un-pairing and re-pairing is such a pain. If Apple can make pairing as simple as the Pencil, I’ll be very happy, and I promise not to lose whatever adapter I’ll need to make it happen.

The Marco Arment 10-Year Challenge

I wasn’t doing anything they couldn’t do.

Marco threw down the gauntlet in Pragmatic app pricing. Anyone can run a sustainable, indie business with a patronage pricing-model, he says. It only takes 10 years of hard work to do it.

Proving whether he is right or wrong is pretty hard to do. Maybe it’s all hard work. Maybe it’s pure luck. Hell, maybe it only takes five years of hard work, and Marco just kind of sucks at it. Either way, I’m going to try to prove it. And not by convincing you with some incredibly efficacious essay. Rather, I’m going to start my 10 years of hard work today.


I may have a slight head start; I have an app in the App Store. The Red Ace has been in the store for just over a year and has been downloaded 394 times.

I have a job. An excellent job. It pays the bills and gives me the freedom to work on small projects without having to worry about sustainability. I’d much rather stick with a full time job than go down the freelancing route.

Next steps

I need to build products and build an audience. I’m not 100% sure how to do that, but I’m guessing Marco wasn’t either 10 years ago. So until I know how to do it, here’s my plan:

  • Build cool shit.
  • Write about the cool shit I build.
  • Apply to speak at conferences.
  • Make a guest appearance on a podcast.
  • Keep self accountable with semiannual updates.

Odds are, I’m going to fail long before 2026. Building cool shit is hard. Writing about it is hard. Making time to attend conferences is hard, let alone speak at several. If you want to see Marco proven wrong, I invite you to follow along. If I fail, you can add it as a data point to your argument, “See, Marco! Not just anybody can do it!”

January 2026

I’m not measuring success by whether or not I can support myself via an app with a patronage pricing-model; that seems a little short-sighted. I’ll be successful, if in 10 years, people complain about my decisions and tell me “Of course it works for you, but it won’t work for me.”


Why is everyone so mean? Put a link in your Twitter profile? Find a rel=nofollow attached to it. Want to link to your iOS app’s site via the app’s iTunes web page? Get rel=nofollow‘d. Drop a spam link in the comments of a blog you’ve never read before? BAM NOFOLLOW. What is so bad about allowing search engines to know two things are connected?

Look at some of Google’s policies with regard to nofollow links:

  • Untrusted content: If you can’t or don’t want to vouch for the content of pages you link to from your site — for example, untrusted user comments or guestbook entries — you should nofollow those links.
  • Paid links
  • Crawl prioritization

Which category does my Twitter profile link fall under? It’s certainly not paid. And it doesn’t fit the “Crawl prioritization” definition Google writes. So why is it considered “untrusted content”? Note: I’m not talking about links in tweets. Only profile links. Am I suggesting Twitter should review the site linked in every profile? Of course not, but what do they have to gain by nofollowing them? Sure, they’re helping prevent spammy profiles from going up by witholding Google juice, but what else? Don’t they have the spam thing figured out yet?

What about Verified Accounts? Can they evade the nofollow tax? (At the time of this writing, no, they cannot.) Spam isn’t a problem with verified accounts, so why not?

Same goes for an iOS/Mac app’s App Store web page. This is a lot like a verified Twitter account. The App Store review team already looks at the sites linked to an app to make sure they aren’t offering a cheaper price outside of the store. Is it harmful to show search engines a definitive connection between the app author’s site and his/her app?

The Good

Stack Overflow’s model of removing the nofollow attribute after a user has gained 2000 reputation is wonderful. It’s like an automated verification system that trusts its users.

Hacker News only nofollows links in comments.

Product Hunt is like the good ol’ days. Couldn’t find a nofollow anywhere on it.

If these highly-trafficked sites can give us honest people some link boostage, why can’t they all?