Until now, in the eyes of many developers, even web developers, Flash along with Actionscript are a scripting language and a tool allowing you to create banners and ads that kill your CPU and freeze your browser. I’ve seen these prejudices many many times. Probably in the future, these things will never change. It’s just plain human to consider yourself a better person if you develop in Java or C#
But Flash is much more than this. Flash was much more than this. Flash was the number one solution for creating rich internet content, including games, video streaming, applications. Flash was number one because it allowed you to create content and deliver across browsers and operating systems. Some chosed it because it’s more difficult to hack than javascript, some because it was very easy to deliver rich content, some because it allowed complex architectures to be created. Whatever the reasons were, forget about them, Flash is dying. Flash is not dying because of HTML5, Flash is dying because Adobe is too small to fight such a big battle with the giants. Adobe doesn’t believe it stands a chance in front of the HTML5 traction. Therefore, like in a war, Adobe is changing sides and is choosing to go with the flow. Focusing on the battles you can win, forget about the rest. This sucks, but in a way it makes sense.
Adobe has developed a plugin that has over 50 million downloads on the Android market. Adobe has the Flash Player reaching a total of over 99% of personal computers, a penetration rate that Java only dreams about. However, Adobe dropped AIR for Linux. Adobe is dropping Flash Player for mobile. But who was using those afterall? Who was creating content for Linux? Who was designing in Flash Player optimized for mobile? They are only focusing on what works and they are restructuring. Flash is still going to be a solution in the short term, but in the long run, flash is going to die in the way that we know it.
Flash is going through an identity crysis. It needs to honest with itself and I think this is what Adobe is doing. Flash is not appropriate for delivering mobile web content. Linux is not a platform targeted by flash developers. Therefore they’re out. When HTML based technologies allow you to create stuff that was possible in Flash 4 and 5, you are not going to use a 3rd party plugin to create your banners or your presentation sites. You are going with the SEO optimized over hyped HTML5 version. You are going with the rational solution. Flash is targeting now stuff that wasn’t possible back in Flash 4. Flash is focusing on 2 main directions: Gaming and Video streaming.
Adobe is trying to pivot with the Flash technology and not lose the traction it has at the moment. Adobe is switching the focus on AIR and delivering across platforms in a different way. The world we live in has changed into an application selling market. Adobe knows this. We know this. Everybody knows it. Even Microsoft who often fails to see the obvious sees it and takes a big step ahead with Windows 8. Adobe will deliver AIR on all the major players and will try to do this in the best possible way. It will be the alternative for HTML5, but will only make sense for gaming and video streaming. And Flash can kick HTML5’s ass on gaming and delivering video (DRM) because you basically don’t have them in HTML5. And there is not the smallest chance that you would see them out there very soon. Because HTML5 is just a big step back for any flash developer, going back to the origins, to the prototype based programming.
It is quite unclear what will happen to Flash Professional and the Flex framework. I think they will be gone or will suffer major transformations. Flash Professional will help nobody anymore. I am still using Flash Professional CS3 and I don’t miss any of the updates up to CS5.5. I use it for developing games but more for generating library files and grouping graphic assets together, I am not using it for animations or other stuff. Technologies like blitting make it obsolete when you are trying to squeeze every bit of performance. Flash Professional can only survive if it turns into a game creation tool, including 3D workflows. Flex framework is very cool to create rich applications for the web, but HTML5 will probably excel in this. It will make little to no sense to use Flex to deliver users rich applications when you can simply use HTML5. I can only see flex surviving if it’s ported in a way or another to HTML5.
Focusing on gaming and video streaming, Flash Player will be able to keep up the innovations. This is what is needed today, this is what Adobe will be offering you as a flash developer. It will also release technologies that will allow you to make the transition to HTML5 development. However, Flash as we know it is dead. It will have only these 2 specific use cases. Flash will work for desktop in the same way it worked until now and will allow you to deliver your rich content to your clients via the AIR runtime. And will probably do this very good in the short future. In the long run, if Adobe will manage and will want to invest in further innovations for the Flash platform, it needs to reinvent Flash. It will need to keep the constant gap that will be between Flash and HTML5 because really, you can do in Flash anything you can do in HTML5 but not vice-versa.
In the end, if you want to say Flash is dead, yes, I agree. Flash is dead, but I know better. I’ve seen Flash grow, I can feel the potential. Look yourself in the mirror like Adobe does. Do you really need the Flash Player for mobile and all the problems it brings? Wouldn’t it be better for you to deliver your application to the markets and the stores via AIR? I think yes. So, leave the panic behind, get over this week when everybody is calling the death of Flash, the fact that the end of Flash is near and you’d better start learning HTML5, you know better.
HTML5 still needs to fix the compatibility along the browsers issue. Bear in mind that the world still uses IE6 and IE7. Flash has it’s major advantage in being developed by one company for all the browsers. When you have Flash Player Version > 11 you know you can use Stage3D. How will a HTML5 version check look like? How will you know what you can use and what you cannot? How many fallbacks will your code have? How will you be able to make all the companies implement the same standards in the same way? In theory, I know it’s simple, but let’s see the practice. I’m still not buying the entire HTML5 stuff. I will start using it in order to see the advantages, I will try to choose wisely every time between Flash and HTML5. But if Flash Player manages to keep the same excellent penetration rate, the same innovation level, I am sure that I have a future as a Flash developer.
And remember, even if Adobe kills Flash now, you will still be able to deliver amazing content. Adobe didn’t killed the existing Flash Mobile, it just killed the future updates. You can still use Flash Player for mobile with the current version.
Flash is dead, long live Flash.
