Web as a Software Platform

The Web 2.0 Revolution redefined the way we use the internet. With the rise of social networking (like Facebook and Twitter) and Rich Internet Applications (like Google Docs or Mozilla’s Bespin) the web browsing paradigm has radically shifted! Let’s explore the revolution as we enter Web 3.0.

Up until now the humble web browser use was simply to browse websites, a collection of static or dynamically generated web pages linked together using hyperlinks. Whether the website we browsed was generated dynamically using CGI or PHP (in the case of forum software like PHPBB) or generated statically using HTML, the way we interacted with the web browser was standard – you scroll up and down the page to read more text and to access a new page or more information you click on a hyperlink. This was the language of Web 1.0 and it worked. What didn’t work were the web browsers and even now we are suffering at the hands of the past oppression of bulky browsers (yes we’re looking at you original Mozilla project) and incorrectly implemented web standards (can you say box model Microsoft?).

This all changed with Web 2.0. The language of the web was no longer web pages, hyperlinks and site maps… and then entered the Document Object Model. Web pages evolved no longer just static pages they became XML documents (outlining content), fully styled (using CSS) and fully functionalized (using Javascript).

Then entered AJAX and the revolutionary language of Web 2.0 really took off. Until now web applications were clunky, requiring refreshes whenever information needed to be exchanged. AJAX provided asynchronous communication with our web server allowing applications like email, forums or control panels to now function like software. The ability to access information on demand, streamlining the information process was a major innovation.

The final noun of the information highways revolution was cloud computing – providing a centralized repository of knowledge accessible from anywhere with a web browser. No more worrying about interchangeable data formats or carrying software on CDs.
These 3 innovations; DOM, AJAX and cloud computing is the language of Web 2.0. We now had all the tools to produce Web Applications in a way now resembling their close cousin binary software – but with the added advantage of a streamlined network infrastructure (the web!) and a platform everyone has access to (the web browser!)

No longer are we interacting with Web 1.0 sites but fully functioning Web 2.0 software. These applications are lightweight, running straight out of a browser; accessible, following the latest web standards; and most of all scalable, hosting accounts are easily increased in performance, size and bandwidth to reflect usage. Keep this in mind as we explore the latest innovation from Google – the Google Chrome browser.

Google Chrome complete with a lightweight ‘chrome’, supercharged javascript engine and GEARS – Google’s innovative response to providing web browser applications offline, we now have what I refer to as the beginnings of the Web Platform. No longer is the Web Browser just a tool to access web pages but a platform to run applications.

This leads us to the discussion point of this blog. With the direction we see hardware technology (such as the Asus EEE box PC capacity to load up a web browser instead of an operating system) and software technology (lightweight web browsers with javascript and supporting library extensions like JQuery or Mootools) we could be seeing the Web 3.0 revolution or as I see it the point that the Web browser stops being software but becomes a platform. Think about it, Google already has started envisioning it with a built in graphics engine in Google Chrome. All your software is now stored remotely (using cloud computing) or cached locally (using Google GEARS) and as Software As A Service (SaaS) we no longer have to worry about security patches or updates. No longer will your computer be slowed down due to complicated procedures taking up precious processing – the only think your computer needs to concentrate on is rendering the extract from your centralized repository! Google’s already cut down the size of the ‘chrome’ in Chrome – how long until we see it removed all together and we only access the web through shortcuts to online applications (another Chrome innovation).

My question though is, is this the direction we want to go? While the technology that brings us the Web 2.0 revolution is amazing are we not just reinventing the wheel? Microsoft has produced a perfectly good operating environment (the Windows API) to produce applications in. Is it necessary to reinvent the architecture model behind software development? On the other hand is the web platform just a new paradigm in software development? Consider it provides a lightweight, cost-effective alternative to traditional software development (such as Rapid Application Development).

What I think I’m really asking is should the web browser remain the humble web browser or should be let it unfold and evolve into the innovative web platform?


About this entry