Monday, 12 April 2010

Why the Apple 3.3.1 policy is bad for consumers, economic arguments

Sorry, I make an exception and talk some politics in this blog. Computer programmers over the world are upset about the new Apple policy 3.3.1, for a background see this Wired article.

The counterarguments are usually from a technical perspective, see for example this post from 37 signals.

I want to give some economic arguments, hopefully that is a language that politicians understand.

Higher costs for consumers argument A.

Claim A1. Apples restriction on allowed programming languages decreases productivity.
Claim A2. This increases the cost of software development.
Claim A3. This will increase the cost of software products.
Claim A4. Consumers will have to pay more for software.

I think claim 2-4 are obvious, given claim 1.
For some scientific support for the claim 1 that not all programming languages have the same productivity, see the the 2000 IEEE paper An Empirical Comparison of Seven Programming Languages(draft PDF)
The following statements summarize the findings of the comparative analysis of 80 implementations of the phonecode program in 7 different languages:
– Designing and writing the program in Perl, Python, Rexx, or Tcl takes no more than half as much time as writing it in C, C++, or Java and the resulting program is only half as long.
– No unambiguous differences in program reliability be- tween the language groups were observed

There are more productive languages than C and C++. I believe Objective-C is similar to these languages, but even if Apple Objective-C is more productive, there can not really argue that there might not ever be another language, language X, that is more productive.

Higher costs for consumers, argument B.
B1. Of the worlds programmers, there are some X percent that know the Apple approved languages, some Z percent that know other languages.
B2. If the Z percent are not allowed to develop software for the iPhone, the supply of programmers are less than Z + X.
B3. Lower supply gives higher prices.
B4. Higher prices for software development, well see claim A2-A4.

Now it would be interesting to see what evidence Jobs have for his claim:
We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.

I will not be surprised to see the European Union taking actions against Apple soon, not only because of section 3.3.1, but given the iPhone platform and the ways companies are not allowed to compete with the built-in software. Remember EU and Microsoft. Apple: please start to behave like gentlemen.


  1. This is only an argument if you accept the implicit assumption that lower cost is the only benefit to consumers.

    Apple's position is that language translation layers impede the rate at which new technologies on the platform are adopted. By banning them, Apple can improve their technology and platform faster. Technology improvements usually result in higher productivity from the users of the technology.

    If the value of the consumer's increased productivity is greater then the increased software costs, then Apple is right. If not, then you're right. But without weighing the economic benefits of Apple's policy, your argument that the consumer will suffer is unfounded.

  2. But what arguments/facts/scientific evidence does Apple have for this argument? I can see no reason at all why language translation layers hinder Apples possibilities to improve their platform. It is not Apple that needs to keep up with new API:s and no one is asking Apple to support/code the language translation layers. These might be problems for the vendors/open-source projects that provide the language translation layers, but not Apple. Apple can just provide a new API for Objective-C when they improve their platform. We are not asking Apple for "support", like bundling java, just that they should not ban others from using the technology they provide. I'd say contrary that language translation layers say for example 3D-graphics has improved the rate of adoption of the iPhone. Less games, less adoption rate of the iPhone platform. Less languages -> less software -> lower rate of adoption. I have no idea what they mean with this statement, it would be interesting to see if someone can explain. What makes it easier for Apple to do if language translation layers are banned?