HTML5 is Here Now! HTML5 Benefits for Users and Developers

HTML5 It's Great

You may not realise it but you are probably already using a browser that is compatible with HTML 5.

It is estimated that about half of all Internet users are already using browsers which are ready for HTML 5.

Firefox (version 3.5 and higher), Chrome, Safari and Opera are the most popular of these HTML 5-compatible browsers, though the support is partial at this stage. Microsoft's Internet Explorer 8 also has support for many of HTML5 features.

The HTML 5 vs. Flash debate have been in the news lately with Steve Jobs from Apple declaring that Flash is just 'so old fashioned' and will be replaced by HTML 5. Apple have refusal to have Flash installed on the iPhone and iPad. However the Flash Player is installed on the vast majority of all Internet-enabled computers and its unlikely to disappear any time soon. Google is one of the strongest backers of HTML 5, however Google like many of the browser companies it will continue to ship Flash with Chrome for the foreseeable future. This debate will continue for some time, but many developers are already working on using HTML 5 to do what they used to have Flash do on their websites.

HTML5 offers a wonderful range of benefits and is very powerful
HTML5 offers a wonderful range of benefits and is very powerful Source: Public Domain
Learn how HTML5 can bebefit you
Learn how HTML5 can bebefit you. Source: Public Domain

History of HTML5

HTML 5 has a very interesting and checkered history. The HTML 5 specification began as what was called Web Applications 1.0, and was developed in 2004 mostly by employees from Mozilla Foundation, Apple and Opera, who had formed Web Hypertext Application Technology Working Group (WHATWG). This group arose because W3C’s decided to abandon further development of HTML and to look to developing XHTML instead as a replacement. The WHATWG team persisted and eventually W3C saw 'the writing on the wall' and abandoned development of the XHTML2 specification they had been working on, in lieu of much faster and better approach of developing HTML 5. W3C then because a 'true believer' as well and the pair of groups have fought about the specification ever since with their own versions on their websites. The Web Forms 2.0 specification, originally developed by WHATWG was added to HTML 5. There are still many issues about the specification and its implementation with WHATWG and W3C involved in a raging power struggle over who controls the future of web technologies. However, but it appears that despite the seemingly unavoidable and inevitable differences in defining and adopting the full standard, HTML 5 is here to stay with many browsers starting to adopt it.

Why HTML5?

HTML 5 was developed give developers more flexibility, do more things in-house and enable more exiting and interactive websites and more powerful and efficient applications. It brings HTML up to date in terms of what developers have been struggling to do with HTML4 via plugins etc., including managing data, drawing, video and audio, and to provide websites that deliver what the users want better and faster. It will eventually make it easier for developers to develop cross-browser applications for the Web and portable devices.

HTML 5 introduces lots of new tags and enhancements for a wide range of features including form controls, APIs, multimedia, structure, database support and faster processing. Note that the specification is still being worked on and it could be some time before it is completed, completely and universally adopted and recognised as a common standard by all browsers. User will of course have to update their browsers to benefit form the enhanced features.

What are the Benefits of HTML5

Drawing, Video and Sound 

A major benefit is better Direct HTML Support for Drawing, Animation, Video and Audio. Web Developers have been increasingly trying to create applications which display fluid animations, stream video, play music and integrate with Social Network sites such as Twitter and Facebook. In most cases they could only provide these things by learning and applying add-on tools included Flex, Flash or Silverlight or building complex javascript tools. This increased the complexity and the time it took to develop the Web Applications. HTML 5 changes this with DOM and HTML support, (without the plugins and 3rd party programs) for video and audio embedding, high-quality drawings, charts and animation and many other types of rich content demanded by users.

Geolocation

The new HTML 5 geolocation APIs make location, whether generated via GPS or other methods, directly available to any HTML 5-compatible browser-based application. A good example is the Google Latitude for the iPhone. This is a pure Web App not a platform-dependent iPhone application.

Client-side Database

HTML 5 provides a new SQL-based database API that can be used for storing data locally, that is client side. You get fully defined and structured database storage. This allows a developer to save structured data client-side using a real SQL database. It is not a permanent database, but enables you to store structured data, temporarily. The data can be accessed to support the web application and it can even be accessed when the client is disconnected for a short period of time. This database can be used to store e-mails or shopping cart items for an online shopping site.

Offline Application Cache

An offline application HTTP cache that can be used to make sure applications are available even when the user is disconnected from their network. All browsers have a cache but they have been very unreliable for delivering whole pages and applications. Mostly the browser would not cache the page properly and so you would be unable to view the page when you disconnected from the Internet. HTML 5 provides a smart solution by allowing a developer can specify the files that the browser should cache while online. So, even if you reload the page from the cache when you are offline, the complete page will still load correctly.

Thread-like Operation

Web workers is a tool for spawning background threads to speed up the browse application processing. The API allows developers to make background workers that run scripts simultaneously to the main page script. This allows for faster thread-like processing with coordination via message-passing mechanisms.

Smarter forms

HTML 5 offers enhanced forms with improvements to text inputs, search boxes and other fields and provides better controls for validating data, focusing, interaction with other page elements on the page and various other improvements.

Sharper focus on Web application Requirements

HTML 5 is aimed at making it easier to build search front-ends, wikis, real-time chat, drag-and-drop tools, discussion boards and many other modern web elements into any site, and have them work more efficiently.

Summary of the New HTML5 Tags (Note: some of these may not be implemented)


Tag (Proposed)
Description
article
Defines an article
aside
Defines content aside from the page content
audio
Defines sound content
canvas
Defines graphics
command
Defines a command button
datagrid
Specifies data in a tree-list
datalist
Defines a dropdown list
details
Defines details of an element
dialog
Specifies a dialog (conversation)
embed
Defines external interactive content or plugin
eventsource
Specifies a target for events sent by a server
figcaption
Defines the caption of a figure element
figure
Defines a group of media content
footer
Defines a footer for a section or page
header
Defines a header for a section or page
hgroup
Defines information about a section in a document
keygen
Defines a generated key in a form
mark
Defines marked text
meter
Defines measurement within a predefined range
nav
Defines navigation links
output
Defines some types of output
progress
Defines progress of a task of any kind
rp
Used in ruby annotations to define what to show browsers that to not support the ruby element.
rt
Defines explanation to ruby annotations.
ruby
Defines ruby annotations.
section
Defines a section
source
Defines media resources
summary
Defines the header of a detail element
time
Defines a date/time
video
Defines a video