Since 1996 when Macromedia purchased SmartSketch, and release "Flash" – it has literally revolutionized the way we use the internet. Some love it – Some hate it, but is the upcoming HTML5 standard be the end-of-the-line for Adobes most popular product.
Reasons for Flash
Flash allows developers to create rich internet applications – games, online photo editors, development suites, the list of what is possible goes on and on. However, flash has also been used to create a lot of unpopular web content – annoying ads, banners, items that crash or slow down your computer so much, a restart seems like the only solution. So will HTML5 change all this.
The new standard being release soon has many features that will replace some of the work flash has performed over the years. HTML5 has built in video and sound players – until now, many sites created their own media players using flash. Apart from these new tags to allow audio and video, HTML5 also features something called a "Canvas" which will allow for the creation of games, and interactive content – putting it directly in competition with Flash.
At the moment – there is no easy way to create the level of complexity of applications in HTML5 as there is in Flash. The Adobe Flash development environment makes creating games and other applications very easy. With vector animations and drawing, as well as adding shadows, glows, and other effects. It really is easy to produce what you want – fast. HTML5 Canvas currently has no suite to allow developers to create content – this means everything has to be written in code, or exported from other development tools. This slows down the development process.
Then why Is HTML5 Getting So Much Attention?
The main reason anyone is even considering HTML5 as a real alternative to flash is because of Apples decision to disallow flash content on the iPhone. Apple claims this insures that applications are stable and meet apples standards. The more likely reason is that applications downloaded through iTunes insure Apple receives a commission of the sales. Many applications that must be purchased on iTunes have free flash versions available on the internet – and many have more features. The most common argument from Apple is that Flash is resource intensive, and causes systems to slow and crash. This is not a dispute – it was mentioned at the start of this article that is true. But there is a valid reason …
It's All In The Code
One of the reasons Flash has become so popular is that is it extremely easy to pick up – and start developing your own applications. The Flash plug-in is also installed on 95% of the worlds computers – meaning developers cannot wait to release their work for the world to use. The popularity of Flash is also one of the reasons it has received a bad reputation. New developers who do not fully understand the possibility of Loops that never break, and code that hangs and timers that never stop – want to release their games, ads, apps, fast without fully testing them. This leads to the system slowdowns and crashes that are so familiar with Flash.
It is not the fault of Flash or the Flash player, but the inexperience of coders or developers who do not fully test their code. The small percentage of problems caused by bad / new developers is easily outweighed by the thousands of amazingly stable applications produced (and available for free) every week.
Will HTML5 stop the code problems?
Will HTML5 replace Flash?
Despite the rest of this article supporting Flash over HTML5. If a development suite was created with the same level of features as the current Adobe Flash environment – there is no reason why HTML5 could not replace some of the features achieved by Flash. However, is there a real need? As previously mentioned, the Flash Player is on 95% of computers. The single swf files produced by Flash are great for sharing to games website (HTML5 would require a zip file to be sent – containing the separate graphics and audio, etc). HTML5 does allow for video and audio playback – but will websites except a default player. (YouTube for example shows ads in their video player – currently not possible in HTML5). The future of the HTML5 canvas will probably be for creating mobile applications for devices that do not support Flash, and for purest extreme developers who want to prove that "Flash is evil".
If HTML5 ever gives developers access to all the features currently available in Flash in a nice development suite – and still requires no browser plug-in – then I will move onto that (As will all Flash Developers – including the bad / new coders). Until then, anything else is just a step backwards.