HTML5: developed for the web, growing to be mobile - Part 2
If in Part 1 I've presented a short history of how HTML5 came to be and the most noticeable differences between the latest version of HTML and its predecessors, now it's high time we discussed the bundle of new features that HTML5 comes with for the web.
So to keep things short, here are the HTML5 features for the web that I like and find very useful:
HTML5 Offline Web Applications
The HTML5 Offline Web Applications functionality allows the web browser to download the resources of the website and create a local copy of it, while the user is online. A list of URLs is then created (called a manifest file, which is in fact a simple text file), and from that list, the web browser will load all the saved resources of the website in case the user has no Internet connectivity.
Also, the local copies will be kept up to date by the web browser, as soon as the Internet connectivity is regained and there are spotted differences between the local and online content.
This method proves very useful especially for mobile devices, where the network connectivity can drop easily. So it’s definitely better to have limited access to the website than none at all, right?
HTML5 Geolocation functionality
Geolocation identifies the geographical location of an object in the real-world. This can be done using various ways, such as: IP address, wireless network connection or dedicated GPS that calculates the location using the information received from satellites. The geolocation API allows the user to share his location with trusted websites, and considering that most desktop and mobile browsers are supporting the geolocation API, this feature has a very large area of usability.
The awesome thing about HTML5 geolocation functionality is that the user doesn’t need to develop applications for particular devices, and he can create geolocation applications directly into the web browser.
This definitely saves a lot of time and effort dealing with compatibility issues.
HTML5 Web Storage functionality
Before talking about HTML5 web storage, let's see what are the other methods of web storage available:
* First, there was the method provided by Microsoft in Internet Explorer - method that uses userData, a DHTML behavior that allows the web page to store into XML-based structure, up to 64 KB per domain.
* In 2002, Adobe introduced Local Shared Objects that allowed Flash to store 100 KB of data per domain.
* In 2007, Google launched Gears, a web browser plugin that can store, with the user’s permission of course, unlimited amounts of data in a SQL database tables.
All of the above options are reliant upon using a specific browser or a third party plugin, which may come as an inconvenient sometimes. On the other hand, HTML5 can be implemented in all browsers and doesn’t need any plugin to work, making it the best choice when talking about web storage.
Also, it's important to know that the data stored using the HTML5 storage feature will persist after navigating away from the page, closing the tab, or after closing the web browser. Another awesome thing is that all modern web browsers support this, from Internet Explorer (that’s right, even IE!) to Android 2.0+.
Even more, the web storage method provided by HTML5 is faster and more secure than cookies (although the level of security is not significantly better). Also, large amounts of data can be stored (from 5 to 10 MB of data, which is huge, compared to the data that cookies can store) without affecting the performance of the website, providing the user with a good mix of speed and storage.
If you're not yet convinced about the capabilities of HTML5, or want to find more on this subject, then stay tuned for more features in Part 3.
In the mean time, you can take a peek Inside the rich world of RIA: HTML 5, Silverlight and WPF-XBAP and read the Flash vs. HTML5 analysis.
Other posts in this series:
HTML5: developed for the web, growing to be mobile - Part 1
HTML5: developed for the web, growing to be mobile - Part 3
No comments yet.
Recent blog entries