There is a recurring theme that keeps popping up on tech blogs regarding HTML 5 – the idea that it is going to kill off Flash and Silverlight. These comments are frequently in response to folks complaining about the lack of Flash support on a given device, usually mobile devices or devices that aren’t running your typical OS that supports the use of plugins.
The arguement that HTML 5 is going to kill off RIA apps is based on the perception that all Flash and Silverlight are used for is to display video and do simple animations. To those in the field we know that this is a dramatic over-simplification, but at first glance it actually makes sense. When you think about the average user’s usage of Flash or Silverlight it is almost always in the context of Youtube or Vimeo or Netflix – sites which all use Flash or Silverlight to power their streaming video. With HTML 5, websites will be able to support common video formats like H.264 through HTML alone. In fact, several video sites are already releasing HTML 5 based alternate sites for those who want to watch videos without using Flash, the most prominent example being YouTube’s recent announcement.
The reason why HTML 5 won’t kill off Flash or Silverlight is pretty simple – it doesn’t have the ability to change as quickly as these plugins can. According to Wikipedia, HTML 4 was standardized in 1997 – thirteen years ago. In Internet time 13 years is roughly the equivalent of the time between bicycles and cars being invented – a world of difference. HTML 5 may compete with Flash and Silverlight in the short term for video playback and animations, but as soon as the next major web innovation comes along HTML 5 will be outdated again, and once again plugins will be necessary to facilitate cutting edge experiences on the web.
So while some are trying to argue that HTML 5 is going to kill Flash and Silverlight, I’m going to make a different argument – that HTML 5 is already outdated. HTML 5 has no inherent support for touch based interfaces, something which is very quickly revolutionizing what users expect when it comes to interacting with computers. Silverlight already supports multitouch, and Flash 10.1 has support for it as well, but HTML 5 does not. Likewise, while HTML 5 may cut into Flash and Silverlight’s usage for video, it will be shortlived. The video engine which Netflix uses to stream to millions every month is not a simple video embed, it is a technology that real-time swaps a user between various encoding qualities based on their realtime bandwidth – something which HTML 5 can’t intrinsically do. Furthermore, the #1 place where Flash is used is for embedded advertising on tons of sites – advertisements that most people don’t even realize are in Flash. When it comes to a content provider letting 3rd parties run ads on their site, they aren’t going to allow HTML 5 powered animations and interactions to be embedded onto their site – they are going to stick with static images or embeddable objects, not run the risk of embedding foreign HTML into their site layout.
Don’t get me wrong, I am all for HTML 5 – it will assuredly be a great platform to bring a lot of revolution to sites on the web. But with that said, implementations of HTML 5 are no closer to being standardized than they have been for HTML 4 all these years, and just because there is a standard doesn’t mean a device creator is going to implement the entire functionality set. Flash and Silverlight are great ways to avoid the hassle of dealing with browser compatibility issues, to use more evolved coding languages, and to push the envelope with emerging technologies and interactivity – Flash and Silverlight aren’t going anywhere.