hin255 - Fotolia

Why HTML5 must replace Flash

Author Robin Nixon explains why the days of Flash are numbered

Flash grew out of the need to play audio and video. It was initially designed for multimedia production as a smaller cousin to Macromedia Director, a popular authoring tool for multimedia DVDs in the 1990s. 

Flash soon found a niche as the de facto animation and video platform across the web, quickly elbowing out alternatives such as the RealAudio/RealVideo plug-in.

And once the developers of YouTube opted to use Flash for delivering video, its take-up grew exponentially, to the point that it became rare to find a computer on which it had not been installed.

But along with its great versatility came a major downside, in that all the flexibility offered by Flash was also available to malware developers, who began to unearth more and more sneaky ways to plant their trojans and password stealers using exploits (also known as loopholes) in the Flash software.

Worse than that, the rapid pace of development that Flash undertook left it liable to crash unexpectedly, locking down or crashing the browser in which it was embedded. Of course, Adobe (which acquired Macromedia in 2005) worked hard to patch all the vulnerabilities and bugs, but it always seemed to be just a couple too many steps behind the bad guys, and the latest browser versions, which insisted on ever-tighter security controls.

Eventually, this led Apple CEO Steve Jobs to pen his famous “Thoughts on Flash” essay (apple.com/hotnews/thoughts-on-flash), which decried the fact that Flash was closed and proprietary software with numerous technical drawbacks. This marked the first shot over Adobe’s bows, and resulted in Flash support being totally dropped from Apple’s iOS operating system in 2012 because of it being a potential security risk, followed by removal from Android later that year for the same reasons.

But Adobe was ready for this, having announced a year earlier that it was on a migration path to HTML5 and intended to discontinue mobile versions of Flash, but said nothing much about the desktop. 

However, recently things have again come to a head with both Mozilla (developer of the Firefox browser) and Facebook asking Adobe to withdraw Flash by announcing an end-of-life date for it, due to highly dangerous exploits continuing to turn up in it (bad enough that they could take over your computer). Also this year, YouTube has switched to HTML5 as its default format, and some browsers now even actively block Flash from loading.

HTML5 is the new Flash

And these companies have good reason to do what they have done, because HTML5 is everything that Flash set out to be and more, because it is an open-source technology built into browsers that has been tried and tested for many years (without any major vulnerabilities), and the quality of playback it supports is impressive in all the most popular browsers (although, being new to the party, Firefox still has a few technical issues to solve, but its HTML5 video playback is still quite good).

Download Robin Nixon’s book

Robin Nixon gives a practical guide to JavaScript coding in this extract from his book, JavaScript – 20 Lessons to Successful Web Development.
Click here for a 20% discount for Computer Weekly readers

What is more, as well as web developers being able to implement the HTML5 <audio> and <video> elements for instant playback without plug-ins, it is possible to use one of HTML5’s other great new features, the <canvas> element, to create real-time video special effects, just using a little JavaScript.

And that’s really the final nail in the coffin of Flash – the fact that JavaScript, known and loved by most web developers, is all you need to make HTML5 a rich and dynamic multimedia environment. And, combined with libraries such as jQuery, you only need to know the very basics of the language to get striking results that won’t crash the browser or leave it vulnerable to attack.

Flash should bow out gracefully

But perhaps the last bastion of support for Flash remains the thousands of fun and addictive Flash games littered across the web. So far, HTML5 is yet to fully rise to the game-making challenge, but Adobe is already working on Flash-to-HTML5 conversion software. 

So whether from new games written in HTML5, or through converting existing Flash games, even here HTML5 will soon reign supreme.

So is it now perhaps time for Flash to bow out gracefully, rather than being forcibly ejected from the internet, which will surely happen otherwise.

Robin Nixon is author of "JavaScript – 20 Lessons to Successful Web Development"

Read more on Web development