Thursday, June 30, 2011

To the Web and Back

Before the Web

Before the initial releases of Netscape and Internet Explorer in 1994, most people did not have access to the web. They were satisfied with the desktop software available at the time which ran on DOS/Windows or well, Unix. Commonly used applications were word-processors, editors and some games for fun.

With the advent of Win32 API lot of software companies started investing heavily in developing desktop software applications and by the time Windows 98 was available on the market there were a host of applications which ran on these machines loaded with Windows 98. In fact the success of Windows operating system was possible only because of the availability of a large number of applications (and games) for Windows. Microsoft took great pains ("application compatibility" of Raymond Chen) to ensure that people could run their software from 1990s on the latest versions of Windows available at time.

People were getting so used to using these desktop applications (like MS-Office apps, graphics editors like Paintshop, Photoshop etc) that to a common man a computer was equivalent to a collection of these apps. This is also one of the reasons why the Unix systems did not make into mainstream for end-users. The Unix systems simply did not have the applications which ran on the Windows desktop.

Arrival of the Web

Sometime during the 1995-1998 the web took off and people started browsing websites using Internet Explorer and Netscape Navigator. Initially the websites were more about having information available to public at large. The web-pages were coded in HTML which was used to present information in the form of well-formatted pages containing graphics, fonts, tables etc (almost like a document written using state of the art word-processors).

Then another significant milestone in the history of web was the introduction of web based email. People could have an email address for free and could use it from anywhere using any system with an internet browser. People could communicate with each other and exchange personal stuff using email. This really led to a huge increase in internet usage by the common people who were more interested in sharing stuff with their friends on email rather than reading some information on a web-page.

However even with the introduction of web based email, the web-technology was very primitive and people used to do most of the work on computer using locally installed applications. With the AOL and Yahoo! Messenger coming to existence it became even easier to interact with friends without using the email.

The web-usage was increasing gradually but because of limited bandwidth the experience on the web was far inferior to that provided by a locally installed application. Using a desktop mail application like Outlook, Lotus Mail was far more satisfying that using web mail (only web mail was free!). The user-experience in terms of visual design and responsiveness of the web was simply not upto the mark as compared to those provided by these desktop apps.

Enter GMAIL and AJAX

Fast forwarding to April Fool's Day 2004 and something really changed on the web with Google's introduction of GMail. GMail made extensive use of Java-Script to enhance user-experience and since Java-Script runs locally in the browser the responsiveness of the mail application improved greatly. GMail relied on the now available faster internet speeds to load huge amount of Java-Script code which then executed in the browser to provide an experience similar to a locally installed email application.

This heavy usage of Java-Script was given a new name called AJAX (Asynchronous Java-Script and XML). Asynchronous mode of operation led to a better user-experience as the user didn't have to wait for an operation to complete. It would be taken care by running asynchronously in the background.

Google started to build many applications on the web using this technology (e.g. Google Documents where you could create an MS-Word document using the web) and soon the web was flooded with rich web based applications based on AJAX. You had graphics editors, messenger apps (like GMail chat) and even Google Voice and Video chat right inside GMail.

Clearly Google's wanted to run every application on the web and thus alleviate the need to have Windows desktop. All you needed to run these web apps was an internet browser running on any operating system. With Google Chrome browser web applications became even better.

Apple iPhone and Android

At the same time when Google was trying to boost experience on the web, Apple launched iPhone. This was a mobile device which focused on small simple apps which the end-user would enjoy using. iPhone's phenomenal success led to the creation of a large number of applications which could be used without any access to a desktop computer.

Now people could check their email and have a chat using their iPhone. Thus almost all the popular web-sites (like email and social networking sites like Facebook) started providing iPhone apps for their web based services. These application were quite simple to use and provided almost the same functionality provided by the corresponding website and it was possible to do so without having access to a computer with web browser.

With Google's introduction of Android platform the mobile devices with rich applications became cheaper and led to an even widespread use of these mobile applications. The number of people checking web mail using mobile devices is increasing at a rapid rate and will soon outgrow the number people who are accessing the same services using a web browser.

I feel that in some sense we are back to where we started. The trend is towards using locally installed applications (although not installed on a desktop, but rather mobile devices) which connect to the websites for data and provide it to the user on his device. In the beginning applications were fully local (user-interface, data, logic all on the local machine), then with AJAX you had everything in the browser. With the widespread availability of mobile devices the applications now have some part (mainly user-interface and some logic) installed locally whereas the web is being used as a back-end storage and database.


Post a Comment

<< Home