After Steve Jobs announced that flash would never be supported on the iPhone and, more importantly, the iPad, he proceeded to write an open letter regarding his thoughts on flash. While I am not too concerned with flash being supported on mobile platforms (which introduces a range of problems regarding battery life, performance and more), this does beg the more interesting question of the future of flash on the web.
The Problems With Flash
- It is proprietary - Adobe does not allow it to be free (cost) or libre(open).
- No web browser supports Flash without a plugin (except recent beta versions of Chrome)
- There is no guarantee of ActionScript backwards compatibility (i.e. AS3 and AS2 are different methodologies and languages).
- Flash browser plugins can produce different results (sometimes unstable) depending on the browser and the OS version. Of course, the same can be said for HTML/CSS, but it is worth noting that the problems exist for Flash as well.
HTML5 is really cool in that it is mostly standards based and adds on to the well known set of HTML tags. It has a partial framework for video and audio. CSS3 (which is often associated with HTML5) supports 2D and 3D animations and transforms in many of the modern browsers. Other features like drag and drop, geolocation and offline storage/caching add some much needed native elements for front-end web developers. However, I don't think that HTML5/CSS3 will be a total replacement for flash right away.
Both Flash and HTML5 have their place in support of web content. HTML5 will do well to fill in the areas where Flash has often been overused, such as:
- Video playback (once a codec is settled on among the various web browsers)
- Web applications (office suites, email)
- Interactive elements and animations
I think it will be a while before we see Flash phased out completely, however. Especially in the areas of:
- Game Engines and
- Anti-aliasing and Font Support
It will be interesting to see how quickly HTML5 is adopted by developers and how they will be able to push its limits in the future.