HTML5
To provide students with experience in collaboration, you are warmly invited to join in here, or to leave comments on the discussion page. The anticipated date of course completion is 13 August 2010. One month after that date at the latest, this notice shall be removed. Besides, many other Citizendium articles welcome your collaboration! |
HTML5 is the next generation hypertext markup language standard developed by the World Wide Web Consortium. It is used by web programmers and designers — typically in conjunction with JavaScript and CSS — to lay out web pages, which people can then view in web browsers. As of July 2010, HTML5 is still not widely supported nor standardized, though browsers such as Google Chrome [1], Apple Safari [2], and Mozilla Firefox[3] have implemented various parts of the language.[1] This unofficial status will likely persist for some years still, with the W3C currently expecting HTML5 to become a recommended technology in 2012 and a full standard not before 2022. [2]
HTML5 represents an important step forward technologically, as it gives web developers greater capabilities and more flexibility in interacting with the underlying operating system. One important new capability is offline storage, which allows sites to better handle persistent sessions for their users. For example, if a user is editing a document in an online web editor, HTML5 allows some portion of the state associated with the document to be saved onto the user's computer -- rather than saving all of it to the server, as is currently done. This reduces the server load, and also provides a faster, more responsive experience for the user, as less data needs to be transferred over the network. Other new capabilities include a multipurpose graphical element called canvas
, as well as native embedding of video and audio.
HTML5 also is a milestone politically and socially in the web world. As the web has evolved, many vendors have created proprietary technologies to enable greater functionality for their applications. Some of the most important include Adobe's Flash plugin, as well Microsoft's Silverlight and their browser Internet Explorer. Internet Explorer has a notable reputation for employing non-standard extensions to web technologies.[3] While such innovations enable a richer user experience, they also fragment development, and make cross-browser compliance challenging for developers. HTML5 offers the opportunity to continue to support advanced interface demands, but to do so in an open, community-approved way. Indeed, in the words of Ian Hickson, one of the designers at W3C, "One of our goals [for HTML5] is to move the Web away from proprietary technologies."[2] Such a step would lay the groundwork for the web's increasing dominance over the next decade.
History
Implications and Significance
HTML5 is an important extension to the current web development toolkit, both from a technical perspective and from a social and political standpoint.
Technical Significance
HTML5 allows webpages to have much greater control over the user's browsing experience, thereby enabling better and more sophisticated web applications. Additionally, in conjunction with superior JavaScript interpreters, it provides more efficient implementations of user interface technologies, thereby providing a smoother, less resource-intensive experience. These innovations build toward the concept of thin-client computing, in which the user accesses the network via a relatively simple client, and where the more intensive computing is performed by servers. This was the original vision of Marc Andreessen, the co-founder of the early web browser company Netscape, though it has not yet been realized.[4]
However, more powerful technical abilities also means that HTML5 presents a potentially greater security threat. A malicious website could use the more sophisticated technologies, such as storing data on the user's client, in order to take over or infect the machine. HTML5 has been developed with an awareness of such issues, though, and has introduced several new security measures to address such concerns. Many of them are focused on ensuring that webpages which pull content from a variety of sources — an increasingly common real-world application — accord each source the proper security rights. The careful and consistent application of such security principles will be an ongoing challenge for the web community as HTML5 grows in popularity.[5]
Social and Political Significance
Tim Berners-Lee, commonly honored as the creator of the World Wide Web and leader of the W3C, recently stated that, "HTML 5 is still a markup language for webpages, but the really big shift that's happening here—and, you could argue, what's actually driving the fancy features—is the shift to the Web [supporting applications]."[2] In other words, HTML5's purpose and power lies in a fundamental shift in how people use the web; rather than it being a repository of static information, it is a medium through which users interact with and manipulate the world.
Language Details
Evolution from HTML4
The W3C standards organisation has published both a document containing the specifications of HTML5[6] and also one on how the specification differs from the now mature and more widely used HTML4[7] (Note that the HTML5 specification is a working draft and is subject to changes). Ian Hickson, a researcher at Google is the editor of the working draft and the W3C HTML Working Group is the W3C working group responsible for this specification's progress. Discussion of the specification also takes place among the WHATWG(Web Hypertext Application Technology Working Group) community. As per the published draft document (as of 02 Aug 2010), in addition to several new elements which include tags for multimedia content such as video and audio among others, there has been addition (and deprecation) of several attributes of various existing elements of the HTML4 specification.
Effect on Flash
Although Flash playback support is available in some mobile devices such as those running the latest version of the Android, Google's mobile OS(through Adobe's Flash player v10.1 beta[8]), there are several cases where it is not supported as there is no official flash player plugin released. Moreover, citing reasons such as reliability, security, performance and usability issues with Adobe Flash, Apple's Steve Jobs wrote about his thoughts on Flash and the reasons why Apple is ditching it for HTML5 which is more integrated into the browser implementation instead of relying on a third party plugin[9]. This has led to widespread adoption by numerous web sites of HTML5 elements particularly for deploying multimedia content that can be viewed in the large number of Apple devices. In addition to Apple several other companies have also embraced HTML5 such as Google, Microsoft(in spite of their commitment to Silverlight, an alternate to Flash. Youtube started experimenting with HTML5 at the start of 2010 and is converting most of its video to the new format[10].
Controversy over codec used for the <video> element
The HTML5 specification is such that it enables developers to use non-proprietary video codecs of their choice for the video tag. Popular video codecs of choice include the open source Ogg-Theora and h.264 codecs. However, there has been dispute over the default codec to be used. The open source community stands by and insists making Ogg-Theora the default codec due to its lesser patent regulations and licensing advantages.[2] On the other hand, Apple, Adobe and Google citing quality concerns and other issues opposes the widespread adoption of Ogg-Theora causing browsers like Google's Chrome and Apple's Safari to be bundled with support for h.264 (though Chrome supports Theora codec as well) and Mozilla's Firefox supporting the Theora video and the Vorbis audio codec through the Ogg container. To support the development of Theora, the Mozilla foundation has granted a $100,000 grant to the Wikimedia Foundation. [11]
Browser Support
Web browsers use a component called a rendering engine for converting HTML into a human-viewable format. This is the primary component of the web browser, but other components typically include a JavaScript interpreter, as well as associated code for network access and transfers, and others. Each of the major web browsers tends to use its own rendering engine, although the relationship can be somewhat complicated, with Safari and Chrome notably sharing the WebKit engine. The following table, adapted from Wikipedia, outlines the most common rendering engines used today.
Layout engine | Release version | Preview version | Used by |
---|---|---|---|
Gecko | 1.9.2.6 | 2.0b2pre | All Mozilla software, including Firefox; SeaMonkey and Galeon; Camino; K-Meleon; Flock; Epiphany-gecko; GNU IceCat; Debian Iceweasel, Icedove, Iceape and Iceowl |
Presto | 2.6.30 | — | Opera; Opera Mobile, Nintendo DS & DSi Browser; Internet Channel |
Trident | 4.0 (IE 8) | 5.0 (IE 9) | Internet Explorer and other Internet Explorer shells (Microsoft Windows operating systems only) |
WebKit | 533 | — | Apple Safari (including OS X for desktops and iOS for iPhones and iPads), Google Chrome, Shiira, iCab 4, OmniWeb 5.5+, Epiphany, Adobe AIR, Midori, Adobe Dreamweaver CS4, Google Android browser, Palm WebOS browser, Symbian S60 browser, OWB, Steam |
Trident | Gecko | WebKit | Presto | |
---|---|---|---|---|
Selectors API[12] | Yes[4] | Yes[5] | Yes[6] | Yes[7] |
Web Storage[13] | Yes | Yes[8] | Yes | Yes[9] |
Indexed Database API[14] | No | Nightly[10] | Nightly | No |
Web SQL Database[15] | No | No[11] | Yes[12] | Yes |
File API[16] | No | Yes[13] | Partial[14][15] | No |
Media Capture API[17] | No | Depends/Partial[16] | No | No |
Server-sent Events[18] | No | No[17] | Yes[18] | Experimental[19] |
Web Sockets[19] | No | Nightly[20] | Yes | No |
Web Workers[20][21] | No | Yes[21] | Yes | Yes |
Geolocation API[22] | No | Yes[22] | Yes[23] | Yes[24][25] |
Offline Web applications[23] | No | Yes[26] | Yes | Yes |
References
- ↑ Mulroy, James. "Web 101: New Site-Design Tools Are Coming." PC World 28.7 (2010): 18. EBSCO MegaFILE. EBSCO. Web. 26 July 2010.
- ↑ 2.0 2.1 2.2 2.3 Vaughan-Nichols, Steven J. "Will HTML 5 Restandardize the Web?." Computer 43.4 (2010): 13-15. EBSCO MegaFILE. EBSCO. Web. 26 July 2010.
- ↑ Chris Pirillo. Why You Should Dump Internet Explorer.
- ↑ Wright, Alex. "Ready for a Web OS?." Communications of the ACM 52.12 (2009): 16-17. EBSCO MegaFILE. EBSCO. Web. 26 July 2010.
- ↑ Mansfield-Devine, Steve. "Divide and conquer: the threats posed by hybrid apps and HTML 5." Network Security 2010.3 (2010): 4-6. EBSCO MegaFILE. EBSCO. Web. 26 July 2010.
- ↑ Official HTML5 Specification. 2 Aug 2010.
- ↑ HTML5 differences from HTML4. 2 Aug 2010.
- ↑ Adobe flash player for Android. 4 Aug 2010
- ↑ Thoughts on Apple - Steve Jobs. 4 Aug 2010
- ↑ Introducing Youtube HTML5 videos. 4 Aug 2010
- ↑ Mozilla and Wikimedia on open video codecs. 2 Aug 2010.
- ↑ Selectors API Level 1, W3C
- ↑ Web Storage, W3C
- ↑ Indexed Database API, W3C
- ↑ Web SQL Database, W3C
- ↑ File API, W3C, 2009-11-17
- ↑ Media Capture API, W3C
- ↑ Server-Sent Events, W3C
- ↑ The Web Sockets API, W3C
- ↑ Web Workers, W3C
- ↑ Resig, John (2009-07-21), Computing with JavaScript Web Workers
- ↑ Geolocation API Specification, W3C
- ↑ 5.6 Offline Web applications — HTML5, W3C