Stephen Withers
Thursday, 08 April 2010 11:52
Opinion and Analysis
Page 1 of 3
A fresh round of controversy has exploded concerning the way Apple forbids third-party developers from using private APIs in iPhone OS.
Apple's software development kit (SDK) for the iPhone, iPad and iPod touch describes a wide variety of APIs (application programming interfaces) that expose functions and features to developers.
But if developers try to use undocumented (aka private) APIs, the resulting applications will most likely be rejected by the App Store approval process. About the best outcome developers can hope for is "OK, but make sure you remove that in the next version."
The latest round of controversy was sparked by an
observation by Marco Arment, lead developer of Tumblr and Instapaper, that the iBooks app uses private APIs, including one that provides a true brightness control.
Arment's concern is that "I won't be able to offer some features that iBooks has (such as a true brightness control), but my customers will expect them, making my app inferior to Apple's in key areas."
Consequently, Apple's apps would be advantaged over third-party products in the same segment. But as Arment noted, the Pages, Keynote and Numbers apps reportedly do not use private APIs, so it doesn't seem as if the company is seeking an unfair advantage.
So why do private APIs exist in iPhone OS? And why doesn't Apple want third-party developers to use them? Please
read on.