Reading discussions about the whole iPhone 4.0 SDK license and reading countless discussions on HTML5/Silverlight/AJAX/DHTML vs. Flash, it’s very common to find people wishing the death of Flash. And this is something that seems to be a pattern with all technology. For example all the talk about iPhone killers and now iPad killers. It puzzles me a bit why so many people seem to assume that technology is inherently like some kind of Hitler or cancer, seeking to devour all competition until there is nothing left to devour.
Evidently that is not the case. We are constantly getting more and more platforms, languages, frameworks and development tools. Sometimes a technology dies, but big prominent technologies tends to stay on.
The demise of Flash has been announced constantly for over a decade now. First it was DHTML, then SVG, then AJAX, then Silverlight and now HTML5.
But today Flash powers the vast majority of all multimedia and animation on the web and is also one of the most popular platforms for RIA development. It’s far from dead and when Jobs compares it to the floppy drive he is obviously delusional.
The future is diversity and I’m pretty sure we will have Flash, HTML5 and maybe even Silverlight in widespread use for many years to come as well as more specialized technologies like Unity3D. It’s all technologies with their own merits, and none of them needs to die. The market for technology that can deliver interactive multimedia is big enough for more than one player. Most people do agree that a little competition is a good thing, but why would they then want HTML5 to become the only way to deliver interactive multimedia?
I think it’s quite telling that very rarely you hear people in the Flash community wishing that HTML5 has no place on the web the same way you constantly hear people calling for the death of Flash.
I guess the reason for that is that we do not really fear the competition. I’m very happy with the Flash platform and think that it has a very bright future. If I’m wrong I don’t mind at all to learn new technologies, and as a Flash developer I already need to know JS and HTML anyway, so if it turns out to be more suitable for some projects I’ll be happy to use HTML5 instead.
Many developers working with JS and HTML defend their position that Flash must die with the fact that it’s a proprietary technology, and hence it has no place on the web. While I can understand that as a rationalization for wishing the death of a technology, it’s simply not true.
The SDK, compiler, Flex framework as well as the AVM is open source, and the swf and RTMP formats are open so you can write your own Flash Player or media server.
The fact that the Flash Player as distributed by Adobe isn’t open source is understandable since it uses proprietary technology for different codecs, which Adobe does not own. Hence it’s not their technology to open. Moving the proprietary code into the browser, for example to support h.264 video, does not make the web less proprietary.
I think the real issue is many times is not actually their concern with proprietary technology, but that Flash feels closed to them. Embedding an swf is like opening a hole to a different universe, and that is scary.
And while you don’t have to use Flash Professional and/or Flash Builder to generate your swf, that is what most people will do. While both IMO are fantastic products they are bulky, slow, costly and proprietary and I can understand if someone used to working with HTML and JS can feel a bit uncomfortable with using them.
And it can often be like a different universe developing for Flash. While the technologies involved overlap, someone good at developing websites is not necessarily good at developing advanced applications and games. So not only is the swf and the having to learn an extra development environment scary, but for many developers it’s a relief not having to deal with programming applications that for example involve physics, DSP, image processing or working with binary formats.
I can understand that Flash does not appeal to everyone, and it would be a shame if developers who feel that way would have no alternative, But they have alternatives, and to me it seems a bit childish to when they wish the death of a technology, especially when trying to justify it with some bogus claims about it being proprietary or resulting in bad performance compared to competing solutions.
Related posts:
I don’t think it being proprietary is what forces people into despising flash. For me there are three things that Flash either needs to fix (severely) or reasons I want it to die.
The first is that it completely breaks navigation in the browser. Flash steals the focus in the browser. Though some browsers the back button continues to work, more frequently I use the delete/backspace button to navigate back but flash FORCES me to click multiple times on the back button in some browsers, etc.
The second is the horrible memory and CPU usage in the plugins! More frequently than not, when my computer freezes or my browser crashes it’s the cause of Flash.
And lets not forget about the Flash Cookies which the browser has no control over. I don’t like the fact that flash developers who are clever enough can use Flash to monitor information and track where and what the user has been doing. I frequently delete regular cookies as it is, but when I can’t go to my browser and look at the information in the cookies that Flash is creating, I have even less trust for the technology.
So, I’d say that more people dislike Flash simply for the laziness of the programmers at Adobe to better tie the Flash plugins into the browsers they support. Who cares if it is proprietary, I mean JavaScript didn’t start out open. But other than those three arguments, I agree that people need to care less about Proprietorship, good article.
Sure, there are things to dislike about Flash. It’s a complex platform and no matter how hard you try you can’t please everyone.
But it is a very widely used platform, and in reality today there is very little alternative if you want to create complex interactive multimedia and advanced web-based applications. Also a very large share of the audio, video and animations on the web currently depend on Flash.
With HTML5 you will hopefully in some years time be able to reach a reasonable share of users if you like to use it to publish audio, video or animations. But it’s still a lot of things will not be able to do where Flash will be needed. And we can only speculate of what Flash will have to offer by the time that is a reality. So why wish it’s death before there is technology that can replace it?
Instead focus on how things can be improved. I would think it would be great if we could have HTML6 in most browsers in a few years time with support for binary sockets, pixel manipulation, generating and processing audio, ability to run C/C client-side, p2p connections, access to webcam and microphone, cue points in video, multi-touch, and so on…
Flash is there today, and while it surely could be improved in many ways, HTML has a lot further to go. How would Flash dying make life better for you as a developer?
Regarding your points:
1) Adobe have no control over the browser, but I’m sure they have tried to get them to adapt some kind of API that plugins could access. I think at least WebKit and Mozilla is not keen on giving them that access, and even if MS would be keen it would be sometime next decade their users would have the technology in their browsers. We’ll see if any progress will be made in that area thanks to Google integrating the Flash Player into Chrome. Otherwise this will indeed be one of the reasons to use HTML5 instead of Flash for some applications.
2) The Flash plugin does not consume CPU or memory. But sure code for it can do that, just like any code for any environment. If Flash died bad developers would just use JS instead. And if I had to choose between having a bad developer code in JS or AS3 I would certainly choose the latter.
What should Adobe do about bad code? Limit how much CPU the player can use. Would suck for applications where you actually need to use the CPU.
3) The browser has control over SharedObjects and you can get extensions at least for Firefox which clears all traces of a browsing session, including SO’s. Your beef here seems to be that the browsers has not implemented a way to clear them in their privacy settings, which is a fair point, but again not something that Adobe can enforce.
If you are concerned with leaving any information about your browsing habits there is a few things you have to do, and it’s not like SharedObjects make it that much more difficult for someone to do that. If you are concerned with privacy and don’t bother to look in to how to actually making your browsing private you will not be very private regardless of if SharedObjects existed or not.
Sure there are many users who don’t have a clue what SharedObjects are, but usually that’s not the same users who disable cookies. Disabling cookies and SharedObjects will break a lot of websites and Flash applications, so very few people do it. Hence Flash will, just like every browser I know of, default to allowing local storage.
While I can understand and sympathize with the privacy concerns, it’s also very much needed functionality to be able to somehow store data locally. SharedObjects does that better than cookies from a developers perspective.
So while I agree with your issues about Flash I don’t see it as neither Adobe or the technology is to blame. I guess the real problem is the war mentality I am talking about, and that a lot of the developers behind the browsers wish that Flash was dead. So they have no interest in managing eventual crashes of the plugin, managing CPU load if a page has too many CPU hungry swf’s, implementing an API for plugins to access browser functionality and settings, or providing functionality to clear SharedObjects within the browsers privacy settings.
Browsers should embrace Flash, and Adobe should embrace HTML5. I think we are actually slowly getting there. I don’t think Adobe really views it as a threat and instead is working hard on providing their customers good tools for generating HTML5. Google clearly is embracing Flash now, and I think that there is even a possibility that Mozilla will do the same. Their concerns has been with the proprietary nature of Flash, but Adobe has been very forthcoming in addressing that.
It’s just Jobs left embracing himself and his own little ecosystem
http://www.adobe.com/devnet/flashplayer/articles/privacy_mode_fp10.1.html
Changes i 10.1 to support browser privacy modes.
That is good news and another sign that browser developers and Adobe are getting better at cooperating.
At least most of them…”all of these browsers support Flash Player 10.1 private browsing integration except for Safari”. But apparently also they are working on it.
And it would be nice to have a means from within the browser to clear shared objects even if one doesn’t use the private browsing mode.
There are many people out there tha can clearly see that HTML 5 is not the final solution for everything. Sure it will be a good step forward for small – med web sites, but i don’t think it can be useful for professional projects…. I found an article that clears lots of things:
http://jaumemussons.wordpress.com/2010/09/02/html-5-will-never-be-a-good-choose-for-professional-web-applications/