My thoughts on the future and past of Flash

Posted on November 10, 2011


The current death of Flash for browsers on Mobile platforms

In the past week two messages hit my Twitter stream:

  1. Adobe lays off 750 people – See here 
  2. Adobe terminates Flash for Mobile – See here

To terminate Flash for mobile browsers in the light of the lay-off seems to me a sane step to cut cost. You drop everything that does not deliver. Even if this something might hold some promise to the future.

As I read the announcements, Adobe will focus (recources for) Mobile Flash development on AIR. Flash for the Desktop will be continued to be supported and developed.

The future (and past) of Flash

The future of Flash is not dependent on the development of HTML5. It depends entirely on Adobe and the vision (or lack of vision) Adobe has with the platform.

To be brief: I believe Flash is taking too much time on fixing structural issues to go into the right direction. When the team finally comes up with GPU powered 3D in the second half of 2010, we have already seen demos of GPU powered 3D in WebKit nightly builds in 2009. Unity3D is already doing an awesome cross-platform job on Windows AND Apple since around 2005 without any of the performance issues Flash seems to have or any trouble to get access to the GPU for native systems: making the excuses Adobe has related to Apple and Flash performance seem rather lame. And Unity is not the first.

All this lagging behind has arrested the development of Flash for, for instance:

  1. An abundance of solid online applications – Like Office clones providing basic but good word processing, doing spread sheets and making presentations. Like image editors and creative suites. Like Client Relationship Management tools and whatever you can think of. There are some, like Avary (online image editing) and Buzzword (text processor in Flash) but it could be better. For instance: why is the WYSIWYG text editor I use in environments like WordPress HTML based and not Flash?
  2. Full flash websites – I have tried. Several reasons why it did not succueed include performance of text-rendering and scrolling, memory management and – back then – lack of proper solutions for deeplinking and SEO
  3. Desktop applications – Everything you do online can also be done offline. Unfortunately, Flash performance also there was a big issue. More than anything else, including the sometimes awkward way to communicate with native stuff like DLLs in Windows

When the Flash Virtual Machine is optimized in 2004 / 2005, it still under-performs related to HTML for content rendering and text rendering, making any site more than animations close to unsellable to the client.

And where are the SEO use cases for Flash? Show me a clear direction from Adobe on how to implement content in a Flash site that is warrented and supported by Google to be included in search results. Other than the half-baked: “Google spiders the content of a Flash movie” which really is no solution at all if you have a lot of content to offer.

All the cases I have met in 2006 and 2007 where companies were contemplating moving to Flash to run their entire corporate sites (including Vodafone and Heineken at that time) are mainly cancelled on these two issues of performance and SEO.

Make Flash 12 something kick-ass. Something that matches HTML rendering in speed and performance. Hell: something that includes HTML rendering and access to the Document Object Model so that I can finally build awesome stuff with a lot of content with existing standards. Something that exceeds the limitations of the Flash implementation. Something that is solid. Something that makes me want to make HTML sites in Flash.

It it not that that HTML rendering technology is so mind-blowingly new. People (including me, with a simplified sub-set) even build their own in Flash since version 5 or 6.

Improve even more the memory management and asset management. Let me brutally kill assets I do not need anymore, instead of making my memory management solely dependent of dependencies and garbage collection. Provide me with a render engine that is capable of dealing with the instantiation of hundred of thousands of objects on stage without even blinking and without taking more memory than absolutely needed. Hard-code specific tricks in C++ or whatever is faster to get the most out of any system for specific actions performed a lot. Make it as good and fast and performing as any game-engine and any 4th generation coding language. Give me brute performance on any level possible in my browsers.

Support development of cool stuff in early stages by inviting people who implement those new things you have not thought of. Like the use of the camera and image processing for AR and QR codes a while ago. Things and that challenge the limitations of Flash and let them help you make Flash better, stronger, faster. Open source your code if that helps. Have people contribute.

Improve Flex. Get rid of the awkwardness that is still in there. Provide me with stuff that matches, equals and overshadow the native components of an OS in performance and reliability.

And please: make a stable version of the Flash IDE. After increasing issues from CS3 on I feel like working in the IDE is like walking in a mine field. Anything can blow at any moment. Even if I tread softly.

The alternative development with all the HTML5 puha is that Flash slowly shifts into obscurity as it becomes less and less relevant due to the massive anti-hype.

Posted in: Opinions