Confusion over iPhone developer programme
Developers reacted extremely positively to Apple’s announcement in early March that it would finally be opening up the iPhone to external developers. Demand has been huge – the company recorded more than 100,000 downloads of its Software Development Kit (SDK) for the smartphone platform in just the first four days. In principle, anyone who has registered with the "Apple Developer Connection" (ADC) programme can download the development environment. It runs on Macs with Intel processors (using a trick it can also be run in a limited fashion on PowerPCs) and offers features including a simulator with which developers can try out their iPhone applications on their desktops.
Users really serious about developing for the iPhone and iPod Touch will, however, need access to the device – in order to use the inbuilt accelerometer, for example. This is not possible using the SDK alone, as some applications can only be installed using a certificate which Apple uses to safeguard programs on the device cryptographically. Certificates are only available to paid up members of Apple’s iPhone Developer Program. ADC members are charged $99 per year for “standard” membership. If you want to develop for internal company use, membership of the “Enterprise" program will set you back $299.
According to various well-known Mac developers, not one of them has yet been officially admitted to the programme. Instead they have received an e-mail which sounds like a gentle rejection – Apple is able to admit only a limited number of developers at present, but will be expending its beta phase and will be in touch when it does. Indeed, according to a forum entry on Planet iPhone, at most ten selected developers appear to have been accepted. Apple has not commented on this. Europe-based developers wanting to profit from the iPhone boom have been dealt a bad hand anyway. To date the iPhone developer program, with access to the device and use of Apple’s “App Store” for distributing applications, is limited to the USA – the vendor does not yet have the infrastructure required to go international.
There is also criticism of the facilities offered by the iPhone SDK. In its developer conditions, Apple categorically states that there should be no background processes. Only one external program can run in the foreground. An application therefore needs to be developed in such a way that it saves all important data when it is closed and when reopened behaves as it had never been closed. An application such as an IM client, which runs in the background and informs users of new messages as they arrive, seems to be impossible on this basis. This has led to heated discussions among developers. In the opinion of programmer Hank Williams, the iPhone is thereby preventing “real mobile innovation”.
But Apple does not appear to have introduced this restriction out of hard-heartedness. As Craig Hockenberry, developer of the popular Twitterific Twitter desktop solution, writes in his blog, background calls, which may also access the internet, consume enormous amounts of power. A prototype version of Twitterific running on a “jailbroken” iPhone proved to be a “huge design failure”, “After doing XML queries every 5 minutes, the phone’s battery was almost dead after 4 hours.”
Limitations in the iPhone SDK affect not only smaller developers, but also giants like Sun Microsystems. Sun has recently announced (apparently without consulting with Apple) that they are developing a Java Virtual Machine (JVM) version to allow Java applications to run on the iPhone. But the Sun development team obviously forgot to read Apple’s developer conditions beforehand. These state that no code can be downloaded and executed unless it uses only Apple’s published interfaces and interpreters. (Ben Schwan) /