HTML5

From Citizendium
Revision as of 15:38, 8 August 2010 by imported>Melvin Kanasseril (→‎Language Details)
Jump to navigation Jump to search
All unapproved Citizendium articles may contain errors of fact, bias, grammar etc. A version of an article is unapproved unless it is marked as citable with a dedicated green template at the top of the page, as in this version of the 'Biology' article. Citable articles are intended to be of reasonably high quality. The participants in the Citizendium project make no representations about the reliability of Citizendium articles or, generally, their suitability for any purpose.

Nuvola apps kbounce green.png
Nuvola apps kbounce green.png
This article is currently being developed as part of an Eduzendium student project. The course homepage can be found at CZ:Special_Topics_2010.
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!


This article is a stub and thus not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

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

HTML5 is largely a creation of the WHATWG, which is an acronym for the longer and less common name Web Hypertext Application Technology Working Group. The WHATWG developed organically in 2004 as an alliance of people interested in rapidly advancing the state of web technology. It can be joined by anyone, though its principal support comes from Apple, Mozilla, and Opera, maker of the alternative browser of the same name. The WHATWG developed in counterpoint to the W3C, as many of the member of the WHATWG felt that the W3C was not doing enough to rapidly introduce new web technologies. Additionally, they were displeased that the W3C had decided to stop developing HTML in favor an XML-compliant alternative known as XHTML, since, though this approach had some academic allure, it ignored the realities of how people actually used the web.[4] Today, the HTML5 specification editor is Ian Hickson, who is also one of the original and most active members of WHATWG. Interestingly, Hickson now works at Google, which has been noted by many as an important signal of Google's commitment to HTML5.[5]

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.[6]

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.[7]

Social and Political Significance

Tim Berners-Lee, the creator of the World Wide Web and co-chair 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. The desktop computing paradigm—with its accompanying bulky, expensive hardware—will begin to be replaced by a lighter-weight and more pervasive internet-based paradigm. This change will likely have a profound effect on how society interacts with technology, and how individuals interact with each other. Its eventual ramifications are impossible to predict.[6]

HTML5 also has important political significance within the larger web community. It demonstrates the ability of the non-profit, non-governmental W3C—working in concert with today's most important technology companies—to create modern, relevant standards. It also reflects the growing backlash against closed-source, proprietary, or non-standards-compliant technology solutions. Though some of HTML5's promise can be approximated today with browser plugins like Adobe's Flash and Google Gears, HTML5 has risen with the growing preference—on the part of developers as well as consumers—for solutions which are not controlled by any one entity. In many ways, this movement is only an extension of the larger democratizing effect of the web, but its increasing power reinforces democracy and the individual as central concepts within the global internet movement. In the words of Dave Clark, a prominent member of the Internet Engineering Task Force (IETF), "We [as internet and web technologists] reject: kings, presidents, and voting. We believe in: rough consensus and running code."[8]

Language Details

Brief Overview

In HTML5, the Document type declaration should be as shown[9]:

<!DOCTYPE html>

According to the W3C publication - A Web Developer’s Guide to HTML 5 [10], each element in HTML falls into zero or more categories that group elements with similar characteristics together. The categories are Metadata content, Flow content, Sectioning root, Sectioning content, Heading content, Phrasing content, Embedded content, Interactive content and Transparent.

HTML 5 is being defined in terms of the Document Object Model (DOM)-the tree representation used internally by browsers to represent the document, unlike the case in HTML4 which is defined in terms of its syntax[11]. This allows HTML5 to be defined independently of syntax and there are two primary syntaxes that can be used to do this: the HTML serialization (known as HTML 5) and the XML serialization (known as XHTML 5).

Markup

As per the published draft document (as of August 2010), in addition to several new elements, which include tags for multimedia content such as (<video>) and (<audio>) among others, there have been addition (and deprecation) of several attributes for elements that are already adopted from the current widely used HTML4 specification. New tags include <canvas>, <details>, <keygen>. There is a greater emphasis on structure in this newer version of HTML and to avoid the overly use of the div and span, new tags such as <header>, <footer>, <figure>, <nav>, <article> etc. have been introduced.

In addition to new elements, new attributes have been added to existing HTML4 tags. Some of these are mentioned here. The a and area elements now have media and ping attributes. The style element has a new scoped attribute. The script element has a new attribute called async.

Evolution from HTML4

The W3C standards organization has published both a document containing the specifications of HTML5[12] and also one on how the specification differs from the now mature and more widely used HTML4[13] (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. See Markup section above.

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[14]) - there are several cases where it is not yet supported as there is no official flash player plug-in 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 flash playback support for devices like the iPad and iPhone in favor for HTML5 which is more integrated into the browser and does not require a third party plug-in[15]. To cater their services to the large number of owners of these devices and others which do not support Flash, numerous web sites such as those that provide news, sports and video, have started publishing richer web content using HTML5 particularly for deploying multimedia content. This has led to widespread adoption of HTML5 in recent times with the trend expected to grow dramatically in the future. In addition to Apple, several other companies have also embraced HTML5. These include Google and Microsoft (in spite of the company's commitment to Silverlight - a plug-in that provides a mechanism for delivering rich web content à la Flash). Video sites like Youtube, Vimeo and others have also jumped on the bandwagon with Youtube having started experimenting with HTML5 at the start of 2010 and is now in the process of converting most of its video to the new format[16].

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. [17]

HTML5 Adoption

In order for HTML5 to become a successful technology, it must bpth be widely supported by users' browsers and widely taken advantage of by web developers and designers. Though official standardization is still years away, significant steps have been made in both areas already.

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, the graphical user interface (GUI) and more. 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-based software, including Firefox; SeaMonkey and Galeon; Camino; K-Meleon; 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, Flock

Each of the aforementioned rendering engines implement HTML5 to varying degrees and in varying forms. The following table, adapted from Wikipedia, summarizes the state of HTML5 support for each engine.

Trident Gecko WebKit Presto
Selectors API[18] Yes[4] Yes[5] Yes[6] Yes[7]
Web Storage[19] Yes Yes[8] Yes Yes[9]
Indexed Database API[20] No Nightly[10] Nightly No
Web SQL Database[21] No No[11] Yes[12] Yes
File API[22] No Yes[13] Partial[14][15] No
Media Capture API[23] No Depends/Partial[16] No No
Server-sent Events[24] No No[17] Yes[18] Experimental[19]
Web Sockets[25] No Nightly[20] Yes No
Web Workers[26][27] No Yes[21] Yes Yes
Geolocation API[28] No Yes[22] Yes[23] Yes[24][25]
Offline Web applications[29] No Yes[26] Yes Yes

Website Support

Though years away from ubiquity, HTML5 has been warmly embraced by many developers. It is the preferred rich internet application development framework of Apple. Indeed, Apple's popular iOS, which runs on the iPhone and the iPad does not support Flash or Silverlight at all, which are HTML5's main competitors today.[30] It also is supported by Google's YouTube, enabling smoother video playback on a wider variety of platforms. Other Google products, such as GMail and Google Maps also take advantage of some HTML5 features, and Google has declared its commitment to the language.[8] Finally, HTML5 is growing in popularity with even small developers. VisionWidget, a well-respected publication in the visual and web design community, recently produced a list of 22 independent websites that take advantage of HTML5 features.[31] Such compilations abound, as HTML5 has begun to be incorporated into all manner of sites and designs.

References

  1. Mulroy, James. "Web 101: New Site-Design Tools Are Coming." PC World 28.7 (2010).
  2. 2.0 2.1 2.2 2.3 Vaughan-Nichols, Steven J. "Will HTML 5 Restandardize the Web?." Computer 43.4 (2010): 13-15.
  3. Chris Pirillo. Why You Should Dump Internet Explorer.
  4. Introduction — HTML5 (including next generation additions still in development).
  5. Pilgrim, Mark. HTML5: Up and Running. O'Reilly Media. 2010.
  6. 6.0 6.1 Wright, Alex. "Ready for a Web OS?." Communications of the ACM 52.12 (2009): 16-17.
  7. Mansfield-Devine, Steve. "Divide and conquer: the threats posed by hybrid apps and HTML 5." Network Security 2010.3 (2010): 4-6.
  8. 8.0 8.1 Google Bets Big on HTML 5: News from Google I/O.
  9. Official HTML5 Specification. 7 Aug 2010.
  10. A Web Developer’s Guide to HTML 5. 7 Aug 2010.
  11. A Preview of HTML 5 by Lachlan Hunt. 7 Aug 2010.
  12. Official HTML5 Specification. 2 Aug 2010.
  13. HTML5 differences from HTML4. 2 Aug 2010.
  14. Adobe flash player for Android. 4 Aug 2010
  15. Thoughts on Flash - Steve Jobs. 4 Aug 2010
  16. Introducing Youtube HTML5 videos. 4 Aug 2010
  17. Mozilla and Wikimedia on open video codecs. 2 Aug 2010.
  18. Selectors API Level 1, W3C
  19. Web Storage, W3C
  20. Indexed Database API, W3C
  21. Web SQL Database, W3C
  22. File API, W3C, 2009-11-17
  23. Media Capture API, W3C
  24. Server-Sent Events, W3C
  25. The Web Sockets API, W3C
  26. Web Workers, W3C
  27. Resig, John (2009-07-21), Computing with JavaScript Web Workers
  28. Geolocation API Specification, W3C
  29. 5.6 Offline Web applications — HTML5, W3C
  30. How will HTML 5, Google, and the iPad play out in Apple vs. Flash?.
  31. 22 Examples of Fresh Html 5 Websites.