Thoughts on Apple

The recent buzz on Steve Jobs' Thoughts on Flash has brought it to my attention too many times to ignore, and so I will take my own turn at stabbing holes in it. The whole thing can be summarized with the following comment I made to a friend: Apple ranting about Openness is too ironic for me today.

In the letter, Steve Jobs opens with the phrase Apple has a long relationship with Adobe. Jobs' company NeXT, whose BSD-based operating system NeXTStep formed the basis of Apple's OS X was also intimately related to Adobe, whose PostScript language was the basis of NeXTStep's chosen display technolgy, Display Postscript. This was shared with SunOS 5, in the form of integration into Sun's X Window server, but to the best of my knowledge, NeXTStep is the only OS to use it as the basis for all graphics operations. Apple's increasing distance from Adobe, and Adobe's insistence on licensing terms unpalatable to Apple, led to the development of Display PDF, a lighter, less-capable, less-encumbered version of Display PostScript.

Jobs has flip-flopped obviously and publicly in recent years; most notably to this diatribe, he claimed that multitasking was undesirable on the iPhone, while it was a key feature introduced in iPhone OS 4.0; he claimed that the iPod and iPhone had ideal form factor for reading books because eBooks were too heavy, but has since released a larger-format device called the iPad. There are any number of reasons why Flash is desirable on the device, and all of them point to convenience for users. There are also several reasons why you wouldn't want Flash on the iPhone, but all of them require that your name be Steve Jobs.

One reason that Steve says he doesn't want Flash on the iPhone is that all of Adobe's Flash-related products are "proprietary". Then he begins the next paragraph with the sentence Apple has many proprietary products too. He then goes on to say Rather than use Flash, Apple has adopted HTML5, CSS and JavaScript – all open standards.

But that's not strictly true, is it? CSS and ECMAScript are open standards, yes. But HTML5 continues to be plagued by the efforts of MPEG-LA to push H.264 as the only supported video CODEC for use with HTML5. Microsoft and Apple are both announcing sole support for H.264 in HTML5 <video>tags. But it is severely patent-encumbered, meaning that while it may technically be an "open" standard, it is certainly not a Free one, in the sense of Free Software.

In fact, Apple and Microsoft are both H.264 Licensors. Like all other H.264 licensors, they are members of the MPEG-LA which permits all licensors to use H.264 techologies; they may create and distribute encoders and decoders, as well as media encoded with H.264. MPEG-LA has granted a royalty-free license to use H.264-encoded media until 2016, at which point the ticking time bomb may explode, and any media so encoded may have to be licensed in order to be distributed. Further, in countries in which software patents exist, there is no legal Free Software which may be used to encode H.264. As H.264 licensors, Apple and Microsoft get money every time a licensed encoder or decoder is sold. When coupled with their overwhelming combined web browser market share, this constitutes what I believe is anticompetitive support for H.264.

Steve goes on to take credit (on Apple's behalf) for creating WebKit, a rendering engine they "created" as a fork of KHTML1 But WebKit was a group effort, and it would never have even existed without the original developers creating KHTML, which was a useful, fast, and working HTML rendering engine. He says WebKit has been widely adopted. Google uses it for Android’s browser, Palm uses it, Nokia uses it, and RIM (Blackberry) has announced they will use it too. Yeah, and guess what? KDE, Nokia, Google, Bitstream, and Torch Mobile developers have also made major contributions, among others. Steve Jobs, you are a liar.

Ahem. Let us continue. Adobe has repeatedly said that Apple mobile devices cannot access “the full web” because 75% of video on the web is in Flash. What they don’t say is that almost all this video is also available in a more modern format, H.264 Yes, that's right Steve, we already know you would like some more H.264 licensing fee money. Thanks. Another Adobe claim is that Apple devices cannot play Flash games. This is true. Fortunately, there are over 50,000 games and entertainment titles on the App Store, and many of them are free. And as long as you want to play the games Steve Jobs says are OK, then you can play anything you want!

Now, I want to address some things Steve says about software: Symantec recently highlighted Flash for having one of the worst security records in 2009. Experienced IT admins know that Symantec is not a trustworthy source. Their antivirus product is one of the worst on the market, regularly choosing not to update itself and not to bother to tell you why, for example. It also has incredibly poor detection rates compared to free alternatives (at least, free for the home user) like Avira or Avast! We also know first hand that Flash is the number one reason Macs crash. That is pure, unadulterated nonsense. If a browser plugin is crashing your operating system, your operating system has insufficient process isolation. Period, the end. The number one reason Macs crash is that OS X is no more reliable than Windows, Linux, or any other operating system. Blaming Apple's incompetence on Adobe is worse than pathetic, it is fraudulent.

Then there's his lack of imagination. Flash was designed for PCs using mice, not for touch screens using fingers. For example, many Flash websites rely on “rollovers”, which pop up menus or other elements when the mouse arrow hovers over a specific spot. Yeah, okay, so you drag your finger to the place you want to hover, and the invisible but probably still-there-in-the-software-somewhere mouse pointer is left hovering over the point. That was easy. You're stupid, Steve. Our motivation is simple – we want to provide the most advanced and innovative platform to our developers, and we want to kick Adobe in the balls while doing it, regardless of how this makes users feel.

Jobs makes one good point, although he disguises it as two points. That point is performance, which he also describes in terms of battery life. These are actually the same thing. This is not a good reason to not allow a Flash player on the device! If users want poor performance, let them have it. Differentiate apps in the market based on whether they are native or just flash apps, and then piss right off. It's not your place to tell the users what they want. Er, wait, this is Apple and Apple fans we're talking about, they do seem to want to be told what to think...