Work ordered me what I think will be my last copy of Adobe Flash ever. My first swf compilation was in 1999 I believe? I must have had 6-8 copies of Flash purchased for me by my employers over the years. There was Flash 4, 5, MX, MX 2004, Flash 8, CS3, CS4, and CS5! Hats off to Macromedia / Adobe for forcing us to upgrade.
Seriously though, I do think Adobe Flash CS5 will be my last copy. It is too bad because ActionScript 3.0 made some nice advances.
Reason 0: Apple.
It is old news that Apple is putting pressure on Adobe by blocking Flash from iOS.
Reason 1: Flash just wasn’t architected for mobile devices.
Flash drags down Android devices. Maybe Adobe can refactor their code so it performs a little better. WebKit has a 3-4 year lead in terms of fine tuning an engine that runs well on mobile devices. Flash will need a re-write from the ground up to stay competitive. Is it too late?
Reason 2: HTML5 and the SVG canvas.
Flash used to be one of the best ways to get interactive charts, make web based games, and add sparkle in browser. Now there are countless games in HTML5. Many classics have already been ported to HTML5 like Pacman and Wolfenstein 3D.
There is serious work taking place on JavaScript charting frameworks. I’m impressed with the potential here for cross platform code that has business value.
Protovis
http://vis.stanford.edu/protovis/JavaScript InfoVis Toolkit
http://thejit.org/demos/
Reason 3: HTML5 Audio and Video elements.
If anything Flash is still the best multimedia plugin out there with 99% market penetration. However, having it as a prerequisite for online multimedia is changing. What will be really cool about the HTML5 Audio and Video elements is the DOM integration. The new bag of tricks includes playback events, visual overlays, and image processing. For more details check out: http://www.html5rocks.com/tutorials/video/basics/
Why I might be wrong:
Flash has the ability to record audio and video in a browser when connected to Flash Media Server. With great insight, Macromedia released these features in July of 2002 with Flash Communication Server, now called Flash Media Server. This is one stronghold for Flash that Adobe should be paying attention to. Java Applets and ActiveX can do this too, but not as smoothly in terms of cross browser compatibility and performance.
As for HTML5 supporting recording, it will take time for browsers to catch up. Inherently, browsers are sandboxed off from the operating system and not supposed to interact with system devices like the camera or microphone. It would be AWESOME to interact with USB, Serial, camera, or other devices through JavaScript. Mobile devices are making leaps and bounds, but through their own proprietary APIs.
There are some working ideas out there for HTML5 Media Capture:
http://www.w3.org/TR/capture-api/
Flash will still be around for a long time, but it is quickly becoming legacy. There will be many good reasons to recompile swfs, fix bugs, and maybe even extend a few features. I can’t see good reasons to invest in it for the long term though.