Wednesday, June 13, 2007

Where's web going? To your Desktop.

You must have heard the buzz that Web 2.0 has been making. Didn't it make you wonder for a fleeting second, if there will be day when you boot into an OS on a remote server using just your browser (YouOS). Thanks to Ajax and the almost transparent asynchronous communication it allows with a server, we have a fleet of Social networking sites(MySpace, Facebook, etc.), Online Office Suites(ThinkFree, Zoho, Google Docs), Mash up Editors(Yahoo! Pipes, Google Mash-up Editor) and myriad other tools that mimic our desktops. Is this going to get any better? Allison Randal, over at O'Reilly Radar gives some insights into the future of Web.

According to the article, the future web will thrive on "ambidextrous" lightweight networked Desktop Applications. That is to say, the future applications run on your desktop and connect to the network giving you the best of both worlds, The speed of the desktop and the ease of use of web applications. The author gives iTunes and Songbird as examples for such apps. Networked Apps make more sense in this ever shrinking world. And they are bound to be more effective, if not efficient, than desktop apps. Imagine, all the processor intensive tasks could be performed locally and data could be fetched from the network.

The author goes on to express interest in ubiquity of Linux. She points to a recent development in the virtualisation space, LINA. LINA is lightweight virtual machine that allows desktop applications to be developed for Linux and run with a native look-and-feel on Windows, Mac OS X, and various flavors of *nix.
More on the technology aspects of LINA:
There are already several ways to run an application written for one platform on a different platform. One is system call mapping: for instance mapping a Linux system call to a Windows system call as CYGWIN does. This allows a Linux application to run in CYGWIN on Windows without the Linux kernel. Unfortunately, syscalls cannot always be mapped exactly, which can prevent the application from compiling or from working as expected. Virtualization takes a different approach, actually implementing an entire operating system on top of another, but applications running in this guest end up being completely unintegrated with the host operating system.

LINA takes a new approach. In LINA, Linux applications run on a cross-platform Linux kernel on a virtual machine. LINA uses resource mapping instead of syscall mapping. So the Windows file system is mapped to a Linux file system, the Windows GUI APIs are mapped to Linux GUI APIs, etc. From the perspective of the LINA Linux application, it is running in a standard Linux operating system. From the perspective of the user, the LINA application is identical to a normal Windows or Mac OS X application.
Doesn't it sound sweet? Probably those of our machines with meager specs will be able to run LINA. Since it is "lightweight". LINA will be licensed under GPLv2. It is built in C and C++. You can write applications for LINA in C and C++. Support for Perl, Python and Ruby will soon be added. LINA can currently run Linux command line utilities and some web applications. Support for development in Qt and GTK+ libraries is planned. See the FAQ section on openlina.com or more info.

Here's the article: Beyond the Browser.

No comments: