HTML5 and the changing dynamics of the web
This blog post is for readers who keep hearing tech jargons like W3C standards, HTML5, the codec war etc. and need some consolidation of the turbulent web and to be its part.
Lets briefly cover the some web basics:
W3C -The World Wide Web Consortium (W3C) is an international community where Member organizations, a full-time staff, and the public work together to develop Web standards. W3C develops technical specifications and guidelines through a process designed to maximize consensus about the content of a technical report, to ensure high technical and editorial quality, and to earn endorsement by W3C and the broader community. A few of them are described in next two points.
HTML and CSS– HTML and CSS are the fundamental technologies for building Web pages: HTML (html and xhtml) for structure, CSS for style and layout.
Javascript -Standard APIs for client-side Web Application development. Scripting can make Web pages more dynamic. It is based on ECMAscript W3C recommended, JavaScript is officially managed by Mozilla Foundation.
Web browsers - are software primarily used to view a “web” resource (generally HTML). The top browsers are IE, FF, Safari, Chrome and Opera. Out of these FF, Safari and Chrome are partly open source. Browsers are used to display resource (HTML, image, XML etc).
Webkit, Gecko, Trident– These are browser rendering engines. Both Safari and Chrome use Webkit. IE use Trident and Mozilla, Gecko .Webkit is an open source rendering engine which started as an engine for the Linux platform and was modified by Apple to support Mac and Windows.
H.264– H.264 is a high-performance codec that is maintained by the ISO Moving Picture Experts Group (MPEG) as part of the MPEG-4 family. A video codec is software or a device that enables video compression and or decompression for digital video.
So where W3C standards (HTML, CSS and javascript) and above terms fit in the system and who does what when it comes to viewing a web resource? Let’s understand it this way. Suppose you want to create your own browser. Where would you start from? One of the primary roles of a browser is to locate a web resource and render HTML. Since this topic is dedicated to understanding HTML and browsers we will keep the scope limited. Your browser architecture design would consist of UI, browser and or rendering/parser engine (HTML, CSS intepreter), networking layer, UI repository layer (e.g. buttoon), Javascript interpreter and data storage layer. The rendering engine should understand and comply to the basic ingredients (language) of a web resource i.e. HTML, CSS and javascript. Each of these has their own standards and specifications. The specifications are maintained by W3C organization (hosted by the Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory [MIT/CSAIL] in the United States, at the European Research Consortium for Informatics and Mathematics [ERCIM] in Sophia-Antipolis in France, and at the Keio University Shonan Fujisawa Campus in Japan.).
Firefox uses Gecko – a “home made” Mozilla rendering engine. Both Safari and Chrome use Webkit. IE use Trident and Mozilla, Gecko .Webkit is an open source rendering engine which started as an engine for the Linux platform and was modified by Apple to support Mac and Windows. See http://webkit.org/ for more details. Essentially your browser should now represent the tags in presentable format. E.g the browser should be able to parse the image tag as per the specifications http://www.w3.org/TR/1999/REC-html401-19991224/struct/objects.html#h-13.2
HTML being opensource and ubiquitous is the language of web. The current version of HTML is HMTL 4 (HTML 5 is in Working Draft). Why HTML 5? Since the time HTML 4 was finalized (1997) the web has turn around to web 2.0 with RIA replacing the web with plugins like Flash, Silverlight etc it became evident that web needs “more” and hence HTML and its fellow languages need to upgrade to have a consistent mode of delivery. Okay so the question arises why plugins came to existence at all. The answer lies in user experience and dramatic increase in hardware capabilities that deliver web. HTML4 has shortfalls to be in race. So for example HTML 4 doesn’t specify any tag to hold video and therefore browsers weren’t allowed to render videos of their own. To deliver videos people used <embed> tags specifying the plugin (embedded software) to handle it. And then came plugins like flash which took the web to next level by providing a medium to deliver rich media, enriched user interactions and experience.
In the next post I will cover the codec and Flash HTML5 war that’s going on endlessly.
Recent Comments