Monday, March 28, 2005

Google - Plan 9 (Part 2)

What does a browser do? Renders a web page. Cool. Is that it? Well, seemingly, and at the very basic core, it is.

Hey, but but what do web pages do? General perception associates web-pages with information and content. And this still holds true. However, the advent of "Web-clients" has changed the face of browser.

Web Clients are the browser based interface to applications/software which once used to work through desktop. Take for example Outlook. You install Outlook; adding some DLLs, registry entries, config settings, local .pst files on the machine. And it provides a rich interface and amazing functionality. It can do so because the code to execute so resides on the machine and the instructions are executed at a speed only limited by the hardaware config of the PC.

The was how user/enterprise software operated. Consider vis-a-vis a mail client like GMail. GMail has the functionality of formatting mails, spell check, shortcut keys, auto-complete address list, filters, search, auto-forward, labels etc. It can do so much. And yet, all you have to do to use it is type www.gmail.com in the browser address bar. What's more, the mails and all the settings remain the same. You can access it from wherever you wish.

There are several applications which are being used this way. The use of Javascript, applets, ASP.NET etc. helps in coming up with the amazingly rich interface. The ability to do data validation on client side, sending a batched request to server, fast and redistributable components on server; have all made complex clients operationg through web and HTTP channel a reality.

Now where does Google, OS and browser fit into all this. Google has increasingly and strongly shown that a very rich interactive interface can be built using the existing infrastructure of browser rendering and scripting language capabilities. Thus, if there were a browser, which had strong security policies, followed all the standards of W3C, and supported-as-well-as-extended a powerful scripting language, it will become the preferred platform for development.

The browser will use the OS APIs to render all the graphics and message processing. The developer doesnot need to bother developing complex UIs for different OSs. She can write a one-time code in a scripting language. Its the job of the browser to make sure that the intended end-result comes out in right shape on all the OSs on which the browser is installed and also provide all the necessary security checks.

If this becomes true, the unrivalled appeal of Windows will come to an end. Windows has succeeded so much because of becoming the preferred target OS for most of the commercially viable user/enterprise applications. If you mean to make a serious business, you can't chose not to develop your app for Windows. If you intend to use all the must-have and cool upcoming/existing softwares, you can't chose not to install Windows.

With the target platform now shifting from OS to browser, developers as well as end-users will no longer have to have a "preferred" OS. The developers can write the code using scripting language. Users can install any OS they wish. And still be able to use the software/application without any compatibility issues.

Google plans to launch a browser of its own. If we were to see the past trends, the browser will have some cool features, state-of-art zapping performance speed and Googles' hallmark user-friendly interface. Combine it with a fact that Google can develop the browser to be strongly coupled with an existing or Google promoted scripting language. Once the developers and users in general start seeing the scenario what this post mentions, the days of OS wars are numbered.