Why Flash is Here to Stay
By Monji in General26 CommentsThere’s a huge debate stirring around the internet about the capabilities of HTML5 and it’s threat to Adobe Flash, Microsoft Silverlight and other rich internet application (RIA) technologies. The amount of support behind HTML5 is encouraging and great to see, as it will only help it’s adoption by both browsers and users, however it is important to understand it’s capabilities and limitations. As the hype builds up, so does the flash-bashing around forums and blogs – something that needs to change.
Capabilities of HTML5 Today
HTML5 brings with a host of new features, but the ones we’re concerned about for this article are it’s rich-media uses, mainly Canvas, Video, Audio and Offline Data Storage.
Canvas gives you the power of bitmap rendering using Javascript. You can use Canvas to do simple tasks, like draw two overlapping rectangles with varying alpha transparencies, or more complex feats such as dynamic graphing and interactive animations. The latter examples show the immense potential HTML5 has – they work on any browser that support HTML5 and do not require extra plugins, are functional and smooth, and are not very CPU intensive. Another cool example is Canvascape – a 3d shooter complete with map and textures.
The long overdue (in my opinion) Video and Audio elements do exactly what you think they would – allow you to embed high quality video or audio without the need of plugins or other dependencies. Jilion’s SublimeVideo provides a great demonstration of the features, which include custom styled controls, full-window and resizing options, and native iPhone and iPad support. This is a huge asset for HTML5, as Flash is not currently supported on either device.
The ability to store data locally on the clients machine/browser will also be very helpful to RIA developers. It allows you to store information on the user, much akin to browser cookies, without taxing your server or using your resources. WebReference provides some great information about this feature in Client-side Storage.
The Power and Reach of Flash
Let’s face it, Flash is everywhere these days. From streaming video and casual games to interactive websites and complex web applications, it has been the driving power behind a lot of companies and creative forces. Flash has support for everything HTML5 can do and more, including:
- Complex 3d animation * see edit after conclusion
- Physics and Particle Dynamics
- XML Socket Connections
- 3rd Party Components (many commercial)
I’m sure there are more that I can’t think of right now, but these cover some of the bigger advantages.
Adobe (formerly Macromedia) was also able to accomplish an incredible feat that is unlikely to be repeated – they’ve almost standardized the Flash player on computers with internet access. Let’s face it, almost everyone has Flash player installed (99% of internet users, for those too lazy to check the link). This means that depending on the version of Flash Player they’re using, your application should be readily accessible by a huge number of people.
The biggest examples of the prevalence and power of Flash, however, have to be in the casual gaming industry. There several multi-million dollar companies whose businesses are based on creating interactive games that they simply can’t recreate with HTML5. It is a thriving industry seeing a lot of action recently, including several companies getting VC funding and a few getting acquired by larger entities. The numbers, both in terms of revenue and usage, speak for themselves.
Source of the Flash Hate
It seems to me that the majority of users with complaints about Flash are users (and not developers), who have had several unfavorable experiences with Flash such as:
- Slow load times
- High CPU usage
- Poor design and/or usability
- Lack of SEO
- Plugin Dependency
- etc.
I’m sure the list goes on, but these are the major complaints I keep hearing. If you have some more, feel free to leave them in the comments and I’ll add them to the list. A lot of these problems stem from poor application development. For every poorly written Flash application you show me that is ugly and takes forever to load, I can show you one that is beautiful and fast. As for SEO, that is also usually a result of poor/careless development – the same can be said about HTML sites made without keeping SEO in mind. Google and Adobe have worked together in the past to address this issue, and a lot of progress has been made to allow Flash applications to get good rankings on search terms.
The Advent of Unity and Others
There are a few game changers that are creating a lot of buzz, possibly as better alternatives (mainly for gaming) to Flash. Unity, for example, is a powerful 3d engine that is capable of web publishing, however it requires a special plugin to use. InstantAction and OnLive similarly have browser plugins that let you access games rendered in the cloud and play them in real-time. This is an interesting space to keep an eye out, as technology rapidly advances and new services are offered.
The problem they all face, however, is how likely people are to install a plugin on their computers. Nearly all computers have Flash installed, even those in libraries and schools or at work, where your file access may be limited. For all gamers who play from those locations, it is simpler to play a casual Flash game than to figure out how to bypass access and install a new plugin.
Conclusion
While it’s clear that HTML5 has a ton of new advantages that I’m looking forward to, it’s pretty obvious that Flash isn’t going anywhere, especially since huge companies have based their business models on what Flash provides. It’s wishful thinking to expect a perfect product that is as capable as Flash without some of the downsides, but who knows, maybe that perfect solution will come about some day. All I know is, it’s not HTML5.
Edit: 3D and Physics on Flash are simulated using external libraries – Flash does not utilize OpenGL or Direct3D for true 3D acceleration.








I’m really looking forward to youtube’s use of HTML5 (I tried the beta for a bit, and the videos load super-fast)
Me too! Streaming video and audio are two markets I think will adapt to using HTML5 in due time, as the technology ages and more features are supported (like ads, captions, etc.).
yea mann .. flash aint goin anywhere .. :)
I agree with your points. Well said.
However once again Flex was forgotten. Today Flash is much more than just a plugin for animations and multimedia – it’s a RIA platform with extensive developer tools support.
Thanks for the feedback Carsten!
The goal of this article was more about the significance of the Flash plugin itself, which is also utilized by Flex web applications. I have an incredible amount of respect for the power and capabilities of Flex, which I’m currently using for a Flixel project myself.
So far it’s been a pretty cool experience (using FlashDevelop and Flex SDK), I might document some of it on this blog as I learn more.
I definitely agree that Flex is often overlooked in this debate. I prefer to use JavaScript/HTML/CSS for most typical web site development. For complex RIAs Flex is just more compelling from both the developer and user side of things. Both my time, and my team’s time is more efficient working with AS3 and MXML vs. using JavaScript. Even with jQuery or the other libs you still have to waste so much time with browser support. Especially if the client owns a Mac :)
Agreed Wes.
Websites are one thing and browser-applications are another.
Flex is amazing for browser-based applications. It provides the ability to do things that you would be really hard-pressed to accomplish with other platforms.
Not sure about the advantages you mention for Flash. It has no 3D or physics (there are just some libraries that try to fake it), and you don’t need Flash to set up connections (with HTML5, we now even get two-way connections with web sockets). We ended up using Unity for a recent animation project because Flash just didn’t cut it for real-time 3D (http://www.allurefx.com/Projects/Mergex/Mergex.html).
The 99% penetration number we keep seeing is really for desktops; Flash is nowhere on smartphones. Heck, even my Android phone doesn’t support it, forget about iPhone/iPad. And even on desktops, JavaScript has even higher penetration. I.e., if you design with just HTML/CSS/JS, your stuff is more likely to be seen, certainly on smart phones. Which is why we recently switched from Flash/Flex to AJAX (with GWT).
Hey Sekhar, thanks for your response.
That’s absolutely true that the 3D and physics in Flash is simulated and does not utilize OpenGL/Direct3d, and I should have mentioned that in the article. I’ve added an edit to explain that to readers.
As for smartphones, full Flash support is definitely coming to the Android soon. That still doesn’t say much, as the majority of cell phones on the market are not Android-based, but it’s certainly a start in this new generation of multimedia capable phones. I’m not too hopeful on the iPhone though.
That’s one of the benefits of Unity3d – you can design your game to work with iPhones, squashing two markets with one. For my personal needs, mobile traffic is fairly negligible (at least for Flash content).
This is a good article, even though it’s a bit too pro-Flash for my tastes. I didn’t see any mention of Flash’s utilization of the GPU on the Windows version. It helps make Flash faster on Windows. Although, Microsoft has already begun work on helping HTML5 utilize the GPU for IE9, so that won’t be an advantage forever. Now if the other browser vendors would get on the GPU bandwagon…
Thanks for the response, Jose. I actually didn’t know about Flash utilizing the GPU on Windows – I’ll have to look into that further. I did see a few articles comparing CPU usage between Flash and HTML5, however not much mentioning GPU usage.
@Monji
No problem! Like I said, great commentaries. As for the speed tests and GPU utilization, these are some good references to go by as they are pretty recent.
http://www.engadget.com/2010/03/10/html5-vs-flash-comparison-finds-a-few-surprises-settles-few-de/
http://blogs.msdn.com/ie/archive/2010/03/16/html5-hardware-accelerated-first-ie9-platform-preview-available-for-developers.aspx
http://www.themaninblue.com/writing/perspective/2010/03/22/
The short version according to Engadet is that currently Flash wins in speed on Windows. On Macs, HTML5 is faster on Safari only.
Wrong. You address the ‘NOW’ and not the ‘TOMORROW’. I don’t like flash in my browser. I don’t want it in my browser. I have flash block installed in my browsers. This is what I teach my wife and my kids.
The good news is that there’s more like me. No one would’ve thought that IE would lose grounds because of their obstinate resistance to web standards. So what happens now? IE9. Can’t beat them, join them.
Flash cannot be standard though it is ubiquitous today. The best thing Adobe can do is to re-tool their flash IDE to write against HTML 5 canvas. If someone else does it successfully before Adobe, their tool will become a legacy tool.
R.I.P.
If and when a new plugin that is as capable as Flash with less overhead is released, I would be more than glad to consider that. However until that happens, I find it hard to knock Flash completely, at least for the majority of casual computer users.
IE6 is rightfully facing extinction but only because we have more viable options that are widespread enough that it just make more sense to use them instead of IE. Until recently, everyone was still coding their sites to be IE friendly – this is a very recent phenomenon. Once that same thing happens for Flash, where we have a viable and widespread alternative, I would be more than glad to switch over.
When all those annoying ads are written in HTML5, suck your CPU/GPU as much, hang your browser and you have no way of blocking them like you do now, Flash won’t look so bad to you then.
There’s already pretty decent Canvas support coming in Dreamweaver CS5 but HTML5 still only supports a very small subset of what the Flash Player can do.
Florin – you have no idea what you’re talking about.
My site’s mentioned in this article. WOOP!
One important fact about HTML5 is that it is still vapor. There are no browsers with complete HTML5 support, let alone widely used browsers:
http://wiki.whatwg.org/wiki/Implementations_in_Web_browsers
High levels of HTML5 penetration are still years away.
I don’t understand this. You said there may be a perfect plugin in the future, and HTML5 wont be that, but provides no reason explaining that. Apart from Flash being ubiquitous I suppose.
HTML5 is not here yet, at least not in its full element. If one day, all major browser has fully committed to HTML5, then what are the reason to install Flash? There would be reasons I believe, but its not explained here.
Flash is here today because it provides the functionalities otherwise not available in the browser. It complements the browser perfectly. But the moment the browsers become complete, then Flash really need a good reason to exist even though “its already there” for most of the PC.
Since developers of the future may write their web applications in HTML5 (hey, it provides more functionality than HTML4), unless they have pre-existing businesses or resources that can leverage flash, then what are the reasons for them to require their customers to download another plugin, especially when “just the browsers will do”?
And of course, all I said would only be relevant if all this HTML5 stuff pulls through with all the major browsers.
HTML5 would also require browsers to interpret instructions for its basic stuff. We see how browsers interpret Javascript today with all their non-compatibility across browsers. Writing a complex library that is compatible with all browsers requires a good understanding of the nuances of Javascript in different browsers.
My take? If all the promises of HTML5 is realized, then Flash would not be as relevant as it is today. But it is not a promise that is easy to realize without any flaws, IMO.
I think we’re in agreement with a lot of points, mainly that if something does offer a better solution than Flash, we should (and probably will) accept that with open arms. Whether or not that is HTML5 depends on a number of factors, namely developmental progress on HTML5 itself and it’s adoption by browsers. The point of this article, however, is that until that happens, or another competitor can release something similarly capable, Flash is here to stay.
If all the features of HTML5 are realised, that still only represents where Flash was at least five years ago. By the time HTML5 is ratified, Flash will be at version 12-14 with features not even dreamt of today. Adobe/Flash will always be able to innovate at many times the speed of a slow-moving standards body like W3C/WhatWG. Honestly, I can’t see anything in the HTML5 standard that hasn’t been possible on the web for the last five years (with Flash). Can you? If you’re idea of the web is what existed in the early part of the century, then yes, there’ll be no need for Flash. If you like to see the web change and grow, then there’ll be a place for Flash/Silverlight/JavaFX/Unity for many years to come.
@Darren
You’re right. Flash will probably be more innovative 2-3 years from now for vector-based animations (noticed I did not say streaming video). At least with a combination of HTML5 and good JavaScript you can guarantee your pages will load on Apple’s iPhones and iPads. That is unless Steve Jobs changes his mind, which we all know won’t happen.
His last statement suggested that HTML5 is a plug-in. FAIL.
Another point he failed to mention is that HTML5 is standardized and validation tests are available for it always. If your page does not validate, it must be fixed or the user experience will suffer. Flash has no way to maintain such a standard and provide validation.
Finally, the 99% statistic is only for ‘mature’ markets (i.e. less than 1/6 of the world’s population). All he did was go to Adobe’s site and look at the pretty graph. He should have done more research before regurgitating such a statistic.
I like Flash and feel it certainly has its place in the community; however, I feel HTML5 will have a wider reach and audience in the long run.
Thanks for the catch, fixed it. (small mistake in implying HTML5 was a ‘plugin’ instead of ‘solution’, which is what I meant)
As far as the 99% statistic, even if it is for mature markets, the adoption rate for all others would be fairly high I imagine as well. The main point is that the Flash player is very widely used, there’s no denying that.