Adobe Flash has been a common target of criticism for about 10 years now. When it was DHTMLs time, we heard Flash is dead!. Then came Ajax, again amid cries of Flash is dead!. Now we have HTML5 and guess what? Flash is dead!.
So why do some people have such a pessimistic views on Flash when the technology is very much alive?
In my opinion, its always interesting to look at an argument from both sides. Critics argue that
Flash is a commercial product, its not a standard.
Ok. Right. So what? The standard idea is at best optimistic, at worst completely hypocritical. Since the creation of the www, every company does freestyle with W3C specifications. I have never, ever, ever seen a web project without compatibility problems between IE, Mozilla etc. If we all followed standards as they were written, we can forget about videos and motion design and say bye bye to YouTube, small online games and the most visually exciting websites this last decade. I didnt go into this business because I like data, Ive gone into this business because I love to share and live nice moments.
You need a plugin to see flash content.
Flash is not accessible.
Since 2003, Adobe has put a lot of effort into improving accessibility and theyve pretty much succeeded. My preferred answer to this argument is: Ok, HTML development can provide accessibility but when is the last time you cared about that in your projects? Most of the time: never. Its not a technical problem, its a people problem. You wanna make your web projects accessible? So just do it! Whatever your technology is, its just not a major concern in 80% of cases, lets face it. Flash can do the job as well as any other technology now, especially for video accessibility.
Aside from these three major arguments, itd take hours for me to write down all the things Ive heard or read on this subject over the years. If you want to hear more, check with your favorite search engine, youll have fun, its an endless story
Before we go any further, have a quick look at what Steve thinks of Flash here : http://www.apple.com/hotnews/thoughts-on-flash/
So now, since the success of the iPhone and Steve Jobs very audible attacks on Flash, the critics are out yet again, hailing the end of Flash technology. Ill admit that Im not as smart as Steve, but I will try to answer his comments, point by point.
Adobes Flash products are 100% proprietary. They are only available from Adobe, and Adobe has sole authority as to their future enhancement, pricing, etc. While Adobes Flash products are widely available, this does not mean they are open, since they are controlled entirely by Adobe and available only from Adobe. By almost any definition, Flash is a closed system.
Ok.. Please give me a minute to stop laughing. Apple is really well known for its openness. Like a prison made from gold, its products look beautiful but are highly restrictive. Steve Jobs understands how Adobe has sole authority as to their future enhancement, pricing, etc. as he pretty much invented the concept. The Flash player is not open source because it incorporates technologies that are proprietary of other companies (e.g. the H.264 codec the same as HTML 5 intends to use). We could be sceptical and say that Adobe uses this as an excuse. However on the scale of things, it is not the player thats important but the specifications of the Flash File format (.swf). These specifications are open source (like many other Adobe technologies) allowing any company to develop a Flash player if they so wished. So this isnt a reason why Apple refuses to support Flash..
HTML5, the new web standard that has been adopted by Apple, Google and many others, lets web developers create advanced graphics, typography, animations and transitions without relying on third party browser plug-ins (like Flash).
I just cant wait to see it! Seriously. Ok. First, we just have to wait until 2012 for HTML5 to reach the W3C Candidate Recommendation. Then well wait many more years for it to reach the Official Recommendation Status. Of course, most of the features will be available and implemented in major browsers this year but I need to know that my code is working the same way on IE, Safari, Mozilla and so on. As for all previous HTML versions, Im not sure that this will be the case. Flash on the other hand allows me to develop for ALL browsers on ALL major OS.
Adobe has repeatedly said that Apple mobile devices cannot access the full web because 75% of video on the web is in Flash.
Its not just about video, take a look at the iPad presentation from Apples keynotes, a lot of web pages show a blue lego style block on the screen because the website has used flash as a part of its layout. Its not about video; its about a full web experience. Whilst Apple have now tried to allow users to view YouTube and Facebook embedded Flash clips on the iPhone, not all of these videos work, and they certaintly arent offering a complete online experience.
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. There are more games and entertainment titles available for iPhone, iPod and iPad than for any other platform in the world.
Ok, here I cannot compete. As the distribution of Flash games or apps isnt restricted to a unique platform such as the appStore, we dont have precise numbers for availability. But after more than 10 years of Flash technology, if I had to bet, Id say a lot, lot more than 50,000.
Symantec recently highlighted Flash for having one of the worst security records in 2009. We also know firsthand that Flash is the number one reason Macs crash.
Thats true. Adobe products (Reader and Flash) are targets for hackers because its deployed on almost 98% of computers. Its a major concern which is taken seriously by Adobe staff, and in more than 10 years of Flash development, I havent encountered any major security threat. This doesnt mean that Flash doesnt have security breaches, but it does show that most of the 0-day exploits were on early versions of Flash player. A simple update often solves the problem. Oh, and if you are worried about security, be careful with your iPhone..
Should I also send a mail to iTuness development team to ask them why this software still crashes my laptop? No, because otherwise I should do the same for the Quicktime plug-in and Safari on my PC. My view is that nobodys perfect and Apples accusations towards Flash can be more readily applied to their own products. If we wanted to further this discussion, we could ask why a plug-in can crash a browser. Cant we contain plug-ins in robust sandboxes? In my car, if my CD player crashes, I hope it wont crash my car too! But sorry I know computing is different its not the same as reality.
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. Apples revolutionary multi-touch interface doesnt use a mouse, and there is no concept of a rollover.
I wont comment on this not because it isnt interesting but as its a pointless arguement. If you blame Flash for this problem, youve got to blame HTML also, as its exactly the same. Its not a technical problem; its a UX problem with historic roots.
Ill let you read Steve Jobs conclusions, but here are mine:
HTML 5 will be great, were all waiting for it but it wont replace Flash. Because its not the same use, it doesnt satisfy the same needs and it hasnt reached the same level of maturity. I like the Flash platform because its agnostic. To be an agnostic technology running on all platforms is not a weakness, its a force. The beauty of the internet and of our world is diversity. I dont want to code with one single language on one single platform, thats not my philosophy and thats not something I will recommend to my clients.