Amidst all the hype of the Sun to Oracle transition over the last week, some of you may have missed a certain announcement by a Cupertino-based firm regarding the imminent release of a computing device they say will fill the gap between netbooks and laptops. The Apple iPad is not, as some onlookers first suspected, a innovative feminine hygiene product, but a tablet device promising to offer (to quote Apple CEO Steve Jobs) "the best browsing experience you've ever had".
But "the best browsing experience" does not include web plugins it seems, as despite the iPad's 1024x768 screen, 1Ghz processor, and support for wireless connectivity, it is destined to be bereft of Flash, Silverlight, and (everyone's favourite in this neck of the woods) Java.
These omissions, particularly Flash, have caused some degree of controversy online, but why is Apple thumbing its nose at plugins?
Since the iPad product announcement the Flash debate has been raging across the blogosphere, on both pro-Apple and pro-Adobe sites. As you'd expect, the Adobe fans point to the prominence of Flash on the web, its use for games, video, and rich interactive content. This is undeniably true -- even Jobs' own carefully crafted iPad introduction quickly stumbled across a couple of examples of missing Flash content as he demonstrated browsing the web, although he was careful to ensure the tell-tale blue Lego logos were quickly scrolled out of view.
Apple fans respond by echoing Steve Jobs' own alleged comments that Abobe are lazy and produce crash-prone software. The iPad is better off without Flash. they say, because data gathered by Apple's crash reporting tools has shown the plugin is the single greatest source of Safari crashes, and its video playback is far too CPU-hungry.
Besides, isn't HTML5 the future?
These responses ignore a few simple facts. For a start Flash's high ranking in the crash report statistics could surely be explained by its overwhelming popularity on the web. Plugin systems, by their very nature, seem to be particularly prone to crashing -- for reasons far too numerous to list here trying to embed one application inside another, seamlessly and without either tripping the other up, has always been a particularly difficult trick to pull off. This is especially true of desktop software, where the thick and complex code glue that usually binds the two independent GUIs together and keeps them in sync often has to keep up with the erratic actions of the user. The question is this: when the stats are adjusted to account for popularity, is Flash any worse than other plugins?
And as for Flash's video playback being slow, the reason for this, according to Adobe (click "Product Details"), is because Apple refuses to expose the required APIs for hardware optimised decoding -- presumably they would prefer everyone to take the QuickTime route for video.
But what of the final charge against Flash, that it's obsolete now HTML5 has arrived? This relates specifically to Flash's use on sites like YouTube to play video. Even if for argument's sake we accept this as true, it ignores Flash's other numerous features, and it doesn't explain why Java is also missing.
i-Apologists have a simple answer for this: Apple is trying to defend the freedom of the web by taking a stand against closed source. They paint Apple is a knight in shining armour, with HTML5 its Excalibur, engaging in an ideological crusade against the evil forces of proprietary software (non-Apple proprietary software, naturally!) that seek to enslave the good citizens of the web. To defend everyone from the tyranny of Flash and its fellow freedom-hating plugins, Apple (our hero!) has banished them into the wilderness -- anyone suggesting this is a bit like fighting totalitarianism by burning all books that don't advocate democracy will be thrown in the dungeons! (Although these being Apple i-Dungeons, they probably have nice shiny walls and brushed metal trim on the thumb screws...)
The iPhone's limited 3G connection at least presented a plausible excuse for its lack of Flash -- but on the iPad (a Wi-Fi device being promoted as "the best browsing experience you've ever had") its continued non-presence looks more than a little absurd. Is this really the result of Steve Jobs' desire to keep the web open? I, for one, doubt it!
Apple makes substantial profit from selling software through its app store; this revenue stream would be severely compromised by rival (and free) application and media playing platforms like Flash, Silverlight, or our own JavaFX. We've become accustomed to walled gardens on cell phones, simply because of the limited nature of the hardware and networks (although how long this will last in the age of the smart phone is anyone's guess), but the iPad is distinctly not a phone, it is being pitched into the space between netbooks and laptops, an arena where the consumer does not expect to encounter walled gardens. (And remember, this is an artificial barrier, not created by the technical limitations of the device but the desire of the manufacturer to drive content towards their revenue creating services -- perhaps the iPad should be renamed the i-Pay?!)
Ultimately it could be said that Apple is just exercising its right to put out a products as it sees fit, and this is undeniably true. And consumers, after all, don't have to buy the iPad! But if we're talking about freedom of expression here, surely it is my (and other's) right to exercise free speech by commenting on their decisions, or indeed asking questions about the wider issue: should companies like this be allowed to arbitrarily block software applications and platforms from their devices?
A decade ago Microsoft was dragged into court by the US Department of Justice for taking advantage of its privileged position as an operating system maker to heavily promote and favour its own products. But Microsoft at no point banned Netscape, Java, or other competing products from Windows computers. It tried to influence new users towards its own products by pre-installing them and giving them high visibility on the desktop, but ultimately the end user was free to ignore the Microsoft choice and install an alternative instead. Not so with the iPad, it seems!
I guess what I'm trying to say is, while I admire the style and innovation Apple bring to each product, the political baggage they're starting to accumulate is really beginning to turn me off. And perhaps I don't like the message it sends out should the iPad prove to be successful -- that manufacturers, not consumers, should choose which software platforms run on their devices. As the Java community finally seems to be on the verge of getting the client facing tools it needs (JavaFX and its associated designers/editors), perhaps I dread the thought of being locked out of the next generation of devices.