When everyone’s angry at Apple, it’s up to developers to save the day

Doug Ross
Skills Matter
Published in
5 min readJan 29, 2019

In late 2018, Apple went on the defense in a US Supreme Court hearing which explored claims that Apple uses its iOS App Store system to keep prices high through a 30 percent commission lumped on to app developers.

Bloomberg reports that these prices were initially absorbed by app developers, but were soon passed on to consumers, resulting in app price increases.

The story attracted significant attention in the media because consumers saw this indirect subscription system to the App Store as a breach of trust. They were not made aware of this cost when purchasing their phones.

According to an App Annie 2017 study, Americans spend 87% of their time on apps when using a phone (as opposed to mobile browsers), with this figure staying relatively the same across major economies (with Mexico peaking at 93%). App Annie also predict the revenue from mobile apps to reach $101.1 billion in 2020.

It was reported that in the lawsuit against Apple in November last year, Chief Justice John Roberts was alone among the nine other supreme court justices in his perceived support of Apple’s desire to shut down the antitrust law suits.

A decision isn’t expected until late spring, if not later, but the result will have significant ramifications — if Apple wins, consumers will have much less power in future antitrust lawsuits. If the tech giant loses, its 30% commission may be scrapped and app prices may see a significant fall as a result.

With apps dominating the majority of our phone use, beyond the crazy-pill fact that we are still calling these things ‘phones’, should consumers expect to pay anything at all for their apps or does their need to be a new wave of thinking about how we value our apps?

Graham Lee sees much of the responsibility in offsetting consumer expectations of cheap apps sitting squarely on the shoulders of app developers, and that there is a current threat to the app development ecosystem where developers of high-quality apps are forced out of the market.

Author of a range of software-related books, including Test-Driven iOS Development, APPropriate Behaviour, and Object-Oriented Programming: The Easy Way , Graham is speaking at this year’s iOSCon in London on how developers’ approaches to testing can influence how the worth of apps are eventually communicated to consumers. He talked to us about how he sees the current app ecosystem, and his own programming practices that can help address a lack of transparency for consumers.

“Developers give most or all of their app to users for free, with in-app advertising or ‘premium features’ unlocked by in-app purchase,” Graham tells us. “Even so, revenues are not high, and some developers are reporting significant refund rates.”

However, Apple reports that, since 2008, app developers have made a collective $120 billion in sales from the App Store, and at least a quarter of this sum was brought in just over 2018, indicating a significant jump of 28% in developer revenue last year. Regardless, some major app developers such as Netflix and Spotify have for a long time been shouting about Apple’s 30% commission.

Perhaps rightly, consumers generally do expect that the main function of the device they have spent so much on outright, apps, should be at least low cost features. Graham Lee sees a parallel with how cars were once sold and the app market today.

“Even if an app works well, and performs well, and does everything you want, and never breaks, you can’t find that out until you’re already committed. The safest thing to do is to minimise exposure by minimising commitment, and that means not spending any money.

“This situation was described by economist George Akerlof in his 1970 paper, The Market for Lemons. Akerlof used the example of the used car market to show that if customers can’t tell the difference between a high-quality or low-quality car (a peach or a lemon), they will only pay lemon prices for any car.

“My assertion is that people are paying lemon prices for peach apps, and that if this goes uncorrected it will eventually force the peach developers to exit the market.”

The fix?

“We can be more transparent with our customers and give them more information, so that they learn to trust the developers who are open about the quality of their products.”

How developers can use testing to strengthen consumer confidence

Graham teaches and promotes two principles to strengthen apps so that developers can be transparent in their confidence towards consumers.

“I’m talking about two processes that extend ideas developers will be familiar with from Test-Driven Development. The first is property-based testing. The sorts of tests we write when we’re doing TDD say that ‘if you pass exactly this input x to this method, then the output you get is exactly y’. When we’re writing property-based tests, we say something more like, ‘for every input that looks like this family of things X, you’ll get something out from the collection of all things Y that have these properties”. That’s where the word property in property-based comes from. Now the test phase in your continuous delivery pipeline can generate hundreds of examples that look like X and check that the answer looks like Y.

“The other thing is design-by-contract. That’s where we bake those properties of the inputs and outputs right into the software we’re building, rather than having them as a separate artefact used just for testing. Now, whether you’re running your tests, trying your app out locally, or even in production, the assumptions you made when you designed the software are right there and can be tested. So even if you’re running on some customer’s phone and find a case that doesn’t match the properties you expected, you can find out about that.”

“The really powerful thing, with both PBT and DBC, is that you are now saying, ‘this thing is always true if you use this’. That’s a much stronger statement about the behaviour of your code! The immediate advantage is that you can treat this as an executable form of documentation that’s much more useful than a set of regular unit tests.

“The bigger picture is that the increased confidence you get from your pipeline and your telemetry can be translated into stronger statements about what your app does and what situations it works in, helping you inform customers more about its quality and avoid breaking their stuff when you make changes.”

🌆 Graham Lee is discussing this idea of going beyond TDD at iOSCon in London in March. 👍 For news and articles from Skills Matter, subscribe to our newsletter here.

--

--