Lately there have been a lot of talks about HTML5 on the web. And it is worth to be discussed indeed. HTML5 is a great solution as a new open platform, combining a number of technologies designed for web applications using audio, video, graphics, animation along with many other things, and an alternative to Adobe Flash. Even though this platform has a number of pitfalls worth to be remembered of. I suggest we look into these matters deeper and then everyone decides for themselves which path to follow.
HTML5 is quite a new set of technologies allowing developers to create web based applications which can be run on basically any device through a standard modern web browser. It has a big number of syntactical features and it serves as an alternative to Adobe Flash. This means HTML5 has components for playing video and audio, it has features that include <canvas> elements and SVG content integration. All of it makes incorporation of multimedia and graphical content to the web very simple and fast, without the use of third party plugins or Flash. In addition, there are new elements introduced, among which are such as <article>, <section>, <nav> and <header> helping to make semantic value of the document sound more complete.
The following facts speak in favor of HTML5:
- Stability: a lot of the features available in HTML5 are pretty steady and can be utilized practically anywhere without additional use of modern browser plugins. It will be possible to build CSS animations without the actual use of Silverlight or Flash already in a few months. Instead it will be done with the help of HTML and CSS.
- Improvements: HTML5 is going to enable designers to utilize a cleaner code where most div tags will be removed and replaced with semantic HTML5 elements; it is also easier to see different parts of the pages, e.g. headers, footers, nav, aside etc. because the tags are now specified and their meaning and purpose is mentioned already in the format. Thus through utilizing HTML5 elements the semantic value of the web page can be increased due to the very standardized codes.
- Friendly usability: today's interactivity of websites demands a lot of effort from developers which implies including rapidly changing animations, streaming video, playing music and social network websites like Twitter, Facebook etc. into the actual sites. Until recently it was only possible to perform with the help of the tools based on Flash, Silverlight or Flex. Now the time of HTML5 has come - no plugins or third party programmers are required to embed audio and video, high quality charts, animation, drawing and other rich content because all this functionality is already built into the browsers.
- Optimized accessibility: programmers of different technologies can easily understand the features of HTML5 by looking into the structure of a page with a more detailed approach considering the HTML5 elements.
- Bettered Web Apps: a great deal of new standards and features have appeared as part of HMTL5. As soon as you determine the ones that are available in the browsers now, you should take advantage of these components in your web app. The main focus of HTML5 is making an easier app with simpler frontends, drag-and-drop tools, wikis, discussion boards and other helpful elements.
- Refined look and feel: HTML5 allows for utilizing fancier web designs. It even makes a validation form, UI improvements and decreased requirements for JS. Various types of text inputs, search and multiple fields for different purposes are expected.
- Offline application cache: All browsers have a caching functionality, however it has been rather imperfect up until HMTL5 turned up. Normally you need Internet connection to see all the pages properly, in case the browser didn't cache them correctly, and going one page back or forward wouldn't help the situation. HTML5 took this issue on a completely new level. While developing a website a programmer defines the files which the browser should cache. And when you refresh the page offline, it will load correctly anyway. Such a kind of caching has offline browsing files load much faster and decreased load on server.
- Consistency: while websites accept the new HTML5 elements, we can observe a larger consistency regarding HTML utilized to create a web page on one site in comparison with another. It should be simpler for developers and web designers to quickly comprehend the structure of a web page.
- Client-side database: even though cookies have been used to pursue original user data for a long time now, the biggest flaw remains the same – all of the cookies are added to each HTTP request header. That may cause a noticeable impact on response time. Thus the best practice is to decrease cookie size and with HTML5 it can be done better by utilizing session storage and local storage (basically two different storages) instead of cookies. This is not a permanent database, but it allows for keeping some structured data temporarily.
And here is a list of arguments against HTML5:
- Frequent disputes over HTML5 standardization: happens all the time among various experts in workshops. There has never been a common plan, which was criticized by a few top members of the IT community. However, many facts show that most of the features of HTML5 are pretty stable – a set of clear tests proved that right, and more of such tests will show inconsistency, bugs or incompatibility.
- Outdated Release: the latest formal HTML 4.1 spec has reached a so called Candidate Recommendation back in 1999. In this case the work on HMTL5 would have lasted in the following 15 years. After a few fails the activities of W3C (World Wide Web Consortium) is at full blast, the group has got the funding from Adobe, Google and Microsoft for hiring the staff and for completion of the tests.
- Issue with obsolete browser versions: There is a serious issue with obsolete browser versions and HTML5. E.g. IE8 does not recognize HTML5 at all, even though the percentage of IE use is over 20% around the world.
- Media-elements issues: there is still no single standard format for video display for all browsers. Currently there are three different formats for video display; the similar situation is with audio files.
- HTML5 semantics: its initial purpose was markup simplification and styles design, however it ended up with two complicated versions – official (by W3C and WHATWG) and informal (by web community).
- HTML5 apps productivity and speed issues: it has been proved by Spaceport experts that web apps developed on HTML5 work 10 times slower on the latest smartphones models than the ones on laptops.
- Security issues: difficulties with logging which doesn't allow for safe investigating of certain problems.
- Other issues: there is a list of other issues that can cause a lot of pain while using HTML5.
Since HTML5 is often compared to Flash technology and there are so many similarities between them, a question as to whether the latter should be learned at all, is frequently asked. The answer is yes, of course! Flash as well as Silverlight will not disappear from the market in the next few years. However, if you are beginning from scratch, HTML5 should be your starting point. One of the reasons to it is that using pure HTML is possible for MVC apps. Another reason is that basically every web page is developed from HTML, CSS and JS. Pages built on Flash decrease daily.
However, there are still many features that work differently depending on a browser, and that will most likely be an issue in the future. A number of browsers is growing very fast with every manufacturer creating their own browser core varying in certain areas. Performance of HTML5 can cause drawbacks which will not be easily solved in a browser. Besides, there is still a pretty large market for non-HMTL desktop apps. And even though Flash-based technology will have its niche online, the major part of Flash apps is going to be replaced with HTML5 based applications, which will be especially effective for media and “access” apps to begin with. Games will be the next phase as they require richer software more than any other application type.
Due to the fact that HTML5 comes from a consortium, it means this technology will still take a while to develop, and there is a long way to go. A perfect example of how it may not be working right is a Facebook story about focusing all mobile efforts on HTML5 and losing big time. Zuckerberg's company decided that letting people access Facebook via a browser is a better idea than having native applications on iOS and Android. Surprisingly the performance of HTML5 was far behind the standards. It took 6-8 months for the company to build “Face Web” – an internal infrastructure to publish to the mobile web. Then 4 more months were spent before the company management realized it was a mistake all along. Now Facebook is back focusing on native applications all over again. It gets more traffic from the mobile web than Android and iOS applications put together. Mark Zuckerberg says, “We burnt two years. Probably looking back that's probably one of the biggest if not the biggest mistake. But we're coming out of that.”
According to the new plan developed by the working group, HTML5.0 was recommended by the end of 2012, and the version that covered the aspects and tags that were stable, which could be realized in the most recent browsers. Any other characteristics and instabilities would be automatically excluded from this specification. The group has also called to eliminate all the compatibility issues among existing realizations. HTML 5.0 Candidate Recommendation is based on 5.0 spec and this property will become effective in 2014. Simultaneously HMTL 5.1 project will be realized, and it will be recommended in 2014; the process of unstable realizations deletion received in HTML 5.1 will be fixed by 2016. As a result HTML 5.2 project is going to start, which will begin to work in 2015. The same rule will be applied: everything that works is going to be implemented, everything that doesn't – is going to be fixed or replaced with the new version.
Bottom line is that even though HTML5 is not yet a perfect solution, it is developing really fast and in certain situations it can already be the best decision today. Whether it is best for you now, or should you wait just a little longer is only up to you. So, good luck with your decision!