Wednesday, June 30, 2010

Why Flash Must Die

The clash between Steve Jobs and Adobe was for the most part manufactured by those covering the news. Jobs said that the iPhone, iPad and any other iOS devices wouldn't support Flash. Adobe responded by saying bad things about Apple. The press loves a good fight, even when it is a fight created purely in the minds of the writers.

The reality is that the decline of Flash started a couple of years ago, and is now gathering momentum. It began when it became apparent that things that designers had used Flash for could be done with code that was based on open standards. It was at that point more about good development tools and new skill sets.

This has been driven home to me in a parallel experience I have had over the last year with a web site a friend relies on for his work. It is a multiple listing service web application for real estate. Two years ago I was chagrined to find out that this site would only work with Internet Explorer, locking out the Mac and any other platform that did not have Internet Explorer. My friend told me that this was not a big deal since everyone in his office had a "PC".

Now, two years later, this same friend has a netbook, but keeps borrowing my iPad. He loves it. He claims it is actually easier for him to type on (he is a hunt and peck typist). He loves the pinch zooming. He loves the size and general sexiness of the device.

But it won't work with his MLS web application, which still only supports Internet Explorer. The company just released a "Mac Solution", which is nothing more Internet Explorer inside a runtime WINE (crossdos) container. It works, but is a kludge. It doesn't behave like a normal Mac application, so doesn't use any of the standard file requestors, drag and drop, etc. It is ugly looking but works.

I use this example to show why Flash must die. It is a similar thing. Instead of simply using open standards that can work across browsers on a variety of platforms, this MLS application is tied to a proprietary framework that can only work in browsers that Microsoft wants it to work in.

And this is a big problem with Flash. It only works in devices that Adobe develops the flash plugin for. If something new comes out, developers have to wait.....and may have to wait for a long time. Android is getting Flash, but it has taken a while, and some reports are that it isn't great shakes in the performance department.

For me, the other point of inflection was when Adobe began promoting Flash as a total solution for web development. This is at the end of the day quite insane. While these sites do look pretty cool, they break on anything other than a traditional desktop or laptop. Settop boxes, game systems, mobile devices - it doesn't work on any of these. Adding accessibility to the mix - and you have a world of hurt. It is possible to make flash sites accessible, but many developers don't bother. A company that hires developers to create their new web site in Flash now has to use these same developers to maintain it. As we move away from the paradigm of the traditional computer and towards the computing appliance, Flash is going to struggle to keep up.

Anyone who actually follows what has been happening in rich media development for the web already had a clue that Flash would eventually be challenged by open standards. I figured this out two years ago at Apple's developer conference when there was demo after demo of HTML 5 rich media, including clean vector animation - which was how Flash got it's start. I sat next to a friend who is a flash developer, and he told me that he would keep developing in flash because it would take too long for him to learn another development environment. I bet at this point he is reevaluating that position.

The good news for Flash developers is that they will be able to continue to develop flash applications for the near future. There will still be demand. But this is also the bad news as well; there is no "the house is on fire" scenario that will force entrenched Flash developers to change, which will set them up for a scenario similar to the company mentioned above that makes the IE specific MLS system. At some point, these developers will look up from their code, and realize the world has changed underneath them, and now they are in a situation where they have to either adapt quickly, or get left in the dust.

So - the point here is that the Flash issue is not an Adobe versus Apple thing; it is another example based on historical precedent where we are moving away from proprietary code and plugins towards open standards that can work across devices. It is what the web has always been about.

No comments: