This week at Omnidrive we have been discussing the impending launch of the new Apple iPhone, and what our response as a company should be in terms of support. As some developers know, targeting mobile platforms at the moment is difficult for two reasons. The first is that the development environments are so fragmented between different operating systems (and even within different version of the same operating system). The second reason is that some carriers have a stranglehold on what can and can’t be installed on ‘their’ devices. Verizon is no different to what AOL was 10 years ago, and some of their practices (such as disabling external memory slots, mp3 players or dial-up networking by hacking the devices firmware) are very controlling and anti-competitive. Application development on the web and on desktops is now easier than ever, as operating systems have become almost redundant with the advent of new platforms that provide open abstract layers such as bytecode.
There are many reasons why developers and users prefer open systems and platforms over tightly-controlled proprietary environments, and why open API’s, platforms and protocols usually prevail over closed and proprietary alternatives. This is especially true in modern computing history, as can be seen in how IBM and Sun have re-invented themselves and in the success of open source (and companies that have been built on open source software). When I see the iPhone and how it has positioned itself in the market, I see a position and attitude that is decades old coming back to haunt us. In the iPhone, Apple have provided consumers a mobile device that is as close to a desktop computer in capacity and capability as we have ever seen. The processing power and storage capacity is equivalent to what we had on our desktops not too long ago, and the phone runs an almost full version of a very powerful operating system. The key disappointment is that only Apple, and Apple alone, are able to take full advantage of the capabilities of the iPhone - as they have locked all third party developers out of everything bar the browser. While having OS X on the device is very excited, what difference does that make to a developer (or even a user) if we don’t have full access to the system? Apple’s definition of an iPhone API is letting their users visit other websites, albeit in their browser, which isn’t extensible and provides no support for even Java or Flash.
For Apple it means that they have been able to easily port iTunes, Safari and the Dashboard with it’s widgets - but they are locking it up so that only they can take advantage of the full capability of the device. For developers and users we can publish our own widgets, or users can go to our websites and run our web applications - nothing more than that. This is not too dissimilar to the console market, and even there the situation has improved especially on thee XBOX 360. No other company would be able to get away with releasing such a closed system in a market that is dominated by somewhat accessible platforms - Apple have not only gotten away with it, but have been praised in the process.
There have been a number of application providers who have pre-emptively launched iPhone applications on the assumption that such an application is just a web application running in Safari at a set screen resolution of 480 x 320 pixels. There is no installation process for these applications, and it is likely that these applications will not be able to add their own icon to the iPhone home screen - for the user these applications will be nothing more than a bookmark in their web browser. There is no distribution mechanism, there is no application discovery path and there is no way for a developer to extend or alter any aspect of the iPhone at all. Apple have announced that Core Animation, a cool new technology that allows developers to easily create and manipulate graphics and media on OS X, will be included in the iPhone - but again there is nothing that suggests that this technology will be available to anybody else other than Apple and it’s chosen partners.
One of the most interesting, somewhat controversial and disappointing aspect of development for the iPhone is that there will be no support for either Java or Flash on the iPhone. Flash technology has been the catalyst for some of the best (and worst) experiences and applications on the web - especially around video and other media. I can only think that the reasoning for not including either technology is for Apple to further protect its own applications. Without Flash or Java, you won’t see third party applications that provide any form of rich functionality in terms of music streaming, video streaming or richer interfaces. Such applications would obviously threaten iTunes and the iTunes store - as well as the other formal relationships that Apple have with iPhone launch partners such as Google (YouTube). So developers are not only limited to the web browser, but again are limited to providing applications that can be implemented in only HTML and Javascript alone.
When somebody eventually publishes a hack for the iPhone, and I am sure that it will happen within days, I would hasten to guess that the reaction from Apple to the first citings of Flash on the iPhone, and then music streaming services such as Pandora on the iPhone, will not be very friendly. The same can be said for the first hacks that will allow third-party applications to be installed, with new custom versions of the home screen, the menus, interface and other customizations. I can only imagine that after going to so much trouble to providing an Apple-only environment on their new device that Apple will go to a lot of trouble to protect their closed platform. Just as there are hacks for the iPod such as user-replaceable
If you frame your thinking about this device in terms of the interests of Apple and their intention of driving further usage of their own applications on the device, and in turn further profit, you can see why some of the design decisions were made. Apple know that the mobile device market is a tough one, and that margins in the mobile hardware business are thin and risky - so they see it as having no choice other than to be in total control of both the platform and the user. This is what Verizon and other networks do, and this is what AOL used to do. The potential of the technology in the hands of third party developers is killed in favor of business interests, and it seems that so far with the iPhone most of us are blind to this (and plenty of these people are the same people that chastise Microsoft at the slightest misgiving)
My biggest disappointment is that the same hackers and technologists who cherish, support and have fought for the openness of the web, open standards and open platforms are blinded to the proprietary nature of the iPhone. I can only hope that Apple will eventually come around and open the iPhone up, but this will only happen if it is driven by the users and the development community. Apple have tested our reaction here by coming out at the launch of the iPhone at very extreme closed position - and so far they have won us over, giving them no reason so far as to why they should change their way.
It can be argued that it is well within Apples right to control the iPhone as to how they see fit - after all, they went to all the trouble of developing, manufacturing and releasing the product. But I just can’t buy their public justification for some of their decisions, such as the lack of Flash and Java is said to be because of security issues - the same for not allowing applications. Why would the security circumstances differ just because of a smaller form factor? Just as the mobile world began to show signs of awakening and opening, the iPhone is nothing more than a step backwards. If we don’t accept it on our desktops, then why should we accept it in our handhelds. In the end is up to the users as to which mobile world they want to live in - either one that is dominated by a single company from top to bottom, or the better world of accessible, flexible and free platforms where innovation and development can flourish.