It’s cute how Mac and Windows users hate Flash. They don’t know how good they have it. The Linux implementation of Flash is worse. It’s like a blink-tag plugin for your browser that crashes everything it touches and pegs your CPU to 100% only to deliver choppy, unsynchronized video. It just really blows. A lot. I hate Flash. A lot. It’s not just that I think it’s bad technology, it’s weirdly personal. And yet, as much as I hate Flash, I was a little annoyed by Steve Jobs’ pithy defense of Apple keeping Flash off the iPhone. Here’s why:
I’ll start, as a lonely developer with no real following, by saying that I agree with Steve Jobs about Flash. I wouldn’t package it on the iPhone either and I haven’t installed it on my Nexus One, nor do I plan to. But having said that, there’s still a certain elitism and entitlement that Jobs needs to be called out on, and I hope I’m not alone in thinking this. Jobs starts by mentioning that Flash is proprietary, and while Apple releases proprietary things too (you think?), they, according to Jobs, prefer open standards:
Apple even creates open standards for the web. For example, Apple began with a small open source project and created WebKit, a complete open-source HTML5 rendering engine that is the heart of the Safari web browser used in all our products. 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. Almost every smartphone web browser other than Microsoft’s uses WebKit. By making its WebKit technology open, Apple has set the standard for mobile web browsers.
Except, here’s the thing. Apple did not create WebKit. They based it on KHTML which is LGPL. They were required by law to keep it Open Source. More importantly, Jobs praises the HTML5 standard as the future for bringing video to the web. I look forward to that day myself, but I’m troubled that the biggest threat to HTML5 isn’t Adobe, but Apple. Steve writes,
To achieve long battery life when playing video, mobile devices must decode the video in hardware; decoding it in software uses too much power. Many of the chips used in modern mobile devices contain a decoder called H.264 – an industry standard that is used in every Blu-ray DVD player and has been adopted by Apple, Google (YouTube), Vimeo, Netflix and many other companies.
That’s great and all but H.264 is a closed codec and Apple’s the only browser house that has committed to only implement H.264, not the standardsy alternative, Ogg Theora. That is to say, not only is Apple supporting the closed codec, but they’ve refused to support an open one, even though doing so would cost them almost nothing in terms of development time. Apple is a member of the MPEG group, which collects royalties on H.264, so that might explain their motivation. Google, by contrast, acquired VP8 to help bridge the divide.
Regarding developers, Steve continues,
We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.
It’s certainly true that natively developed apps are usually better. Most cross-platform technologies are themselves meta-platforms that are, at best, inconsistent with the rest of the environment (Java’s GUI toolkit comes to mind). But barring third party developers from using cross-platform tools because those tools might not implement all of Apple’s new features is nonsensical. Even using Apple’s own SDK, developers might take their time in updating their applications, or they may not use Apple’s new APIs at all. Will Apple ban all apps that aren’t using enough new API calls?
Apple isn’t defending its right to innovate, but rather, it’s quashing everyone else’s right to innovate on the iPhone platform. There will be fewer non-native apps on the Apple Store, but that just means there will be fewer apps period. Hardly a win for users.
Finally, Steve writes,
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. Apple’s revolutionary multi-touch interface doesn’t use a mouse, and there is no concept of a rollover. Most Flash websites will need to be rewritten to support touch-based devices. If developers need to rewrite their Flash websites, why not use modern technologies like HTML5, CSS and JavaScript?
So are web sites that use onmouseover not allowed on the iPhone?
Flash is a bad piece of software. It’s proprietary, slow, buggy, and just plain bad. But users have a right to install it if they want. I’m most troubled by sentences like this:
We don’t want to reduce the reliability and security of our iPhones, iPods and iPads by adding Flash.
But they aren’t your iPhones, iPods, and iPads. They’re bought, not leased, and they belong to the users who paid for them. And if you own a device, you should have the right to decide what software it runs without having to “jailbreak” it.
That’s why I bought a Nexus One. If I want to install apps that aren’t available on the Android Market, I can do that with one touch. If I want to install a third party ROM, I’m simply warned that doing so will void my warranty (Google made no attempts to prevent you from doing this). I feel like I own the device. And I do. iPhone users should enjoy the same privilege of controlling their computing own destinies.
The DRM on iShit is bad. Besides the freedom to install software, there are other liberties Apple’s infringing upon, like the freedom to copy ebooks from device to device. Totally agree.
+1 to this whole article. Apple and Adobe are Dumb and Dumber.