The Apple vs Adobe debate has been raging since the announcement that a change to the iPhone Developer Agreement, specifically section 3.3.1, would ban the Adobe Flash to iPhone App compiler. In fact, Adobe has already thrown in the towel on this, days after the tool launched with Creative Suite 5. The reasons for this are many and varied, but essentially it boils down to 3 main issues:
- Flash is not a web standard.
- Control over the features that developers use should not be dictated by a ‘meta-platform’, but by first party tools.
- Flash is buggy, crash prone and eats battery life like its going out of style. Especially on OS X.
While #2 is debatable, and may put certain ‘good citizens’ of the App Store ecology at risk, including Titanium, PhoneGap, and Unity 3D, all of which have apps created with/by those tools in the App Store today. #3 is bit harder to pin down, given that there is a complex set of circumstances that can lead to Flash crashing your browser or computer, but according to Apple and the crash data they collect semi-automatically from users when a problem occurs, Flash contributes to the largest number of crash reports for the OS X platform.
For me the real debate is Web Standards and Proprietary Software. I’ve been a web developer for many, many years. I started coding HTML when version 3 was in vogue and using PHP 3.0 betas before most developers had outgrown their cgi-bin for adding dynamic server side processing of their pages. Put simply, I have a bit of perspective on the industry that only a decade and a half of real-world experience can afford.
Flash’s Accessibility and Findability woes have a long and storied history, with only incremental improvements in the right direction. Sure you can, if you know what you’re doing, make the text in a flash movie findable by search engines, and selectable by users, but there are still a number of Accessibility Issues that you must over come in order to produce content that can be seen by users using assistive devices (i.e. screen readers, etc). And frankly, most of the Flash Developers I know don’t care about these issues as strongly as their Web Standards counterparts.
As for the drawing tools, I’ve always found them to be primitive, clunky and inexact. Indeed, most Flash Developers are probably using other Graphics Applications and importing them into the Flash authoring environment. But for a tool that produces visually rich “applications”, the drawing tools have hardly evolved since Macromedia owned the technology. This is more of a personal choice, as I felt limited by what I could do with Flash, while I know others feel the exact opposite.
Video, for the longest time, was one of the most difficult things to embed on the web. At the time, Windows Media and Quicktime were your too options. Both required browser plug-ins and player software installed on your machine. We generally would embed both versions, to ensure that *most* users could see it. Flash Video changed all that. Now we had a browser plugin with a very healthy install base that could play video. It was adopted very quickly, and coupled with the increasing bandwidth speeds, lead to such innovations as You Tube and our beloved Rick Roll. But this is changing.
HTML 5, once fully adopted by modern browsers will bring us a new tag, <video>, will provide an open, standards based approach to providing users videos. Combined with Open Source Video Codecs (the encode/decode instructions needed to turn a binary file into the moving images you see), such as the one Google recently announced will spur adoption rates and eventually push Flash off this hill. A number of major media players, including Youtube, Vimeo, Netflix and many others, have already begun to stand up html5 alternatives. This is huge, and an important distinction.
This may look like corporate rivalry, where Apple is using the growing market share of their iPhone/iPad platform to get revenge on Adobe, but there is a much larger issue at play. The future of the web will NOT come from proprietary technologies. They may fill in gaps, like Flash and Active X did in their day, but eventually the open web catches up and outdoes the proprietary technology in ways that are extremely more liberating to the developer AND the user. Flash is getting long in the tooth, and while adjunct platforms such as Flex and the Air Runtime may keep it relevant for a little while longer, the technology has already begun to jump the shark. Relevant, to the right set of developers at least, users could give a shit what is used to build a site as long as they can get at the content they want.
Steve Jobs said it best:
Flash was created during the PC era – for PCs and mice. Flash is a successful business for Adobe, and we can understand why they want to push it beyond PCs. But the mobile era is about low power devices, touch interfaces and open web standards – all areas where Flash falls short.
With all that he said in that letter, maybe Steven Jobs really does hate the App Store.