Warning this article may contain opinions of the author that you and iTWire don't necessarily agree with. Don't let them get away with it - have your say with a comment!

No. 1 Story

Construction needs cloud flexibility

Australia’s embattled construction sector could benefit from cloud based information systems that can be switched on and off in lockstep with individual projects – with the exception of those organisations based in remote areas like the Kimberleys.

read more

iPhone OS API controversy reignited by iPad developer

Opinion and Analysis

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.