Written by Emre Sokullu and edited by Richard MacManus
Over the past few weeks, we have examined possible GoogleOS scenarios and covered top WebOS offerings. GravityZoo is a very early stage WebOS, with a whole
different - and noteworthy - approach.
Firstly, let's revisit what a WebOS is. A WebOS is a web-based app (generally powered by either AJAX or Flash technologies) that emulates the application capabilities of an operating system. It's basically a virtual desktop that gives you communication tools (like email and instant messaging), productivity tools like word processing, and ability to play games and any other application that you'd find on a typical OS like Microsoft Windows.
But that's not all - a WebOS should be an expandable platform (just like Windows) that gives developers the right tools (IDE, APIs) to develop new applications and add new utilities. And that's the advantage of a Web-based "OS" - it gives you the new ability to use it remotely and not be restricted to one PC. This is a huge need in today's world, because increasingly we use more than one computer from various different locations. So each time we sit down to a computer, a different scene awaits us - different applications and different documents. WebOS can solve this inefficiency, by taking your productivity with you everywhere you go.
A WebOS can take many forms. Some, like YouOS, are fully browser-based. All you need to do is browse to an address and login - just like any browser-based web app. Other WebOS systems require you to download and install a small application, namely a client that communicates with the WebOS servers - usually from another protocol than the standard HTTP, to bring some extra advantages into the game.
GravityZoo is more the second type. You need to install an app to start using it; just browsing to http://gravityzoo.com is not enough. Although this makes it more of a pain to get started, it offers several advantages in functionality - namely the potential to be much faster and more secure.
Brace yourself, GravityZoo is a daunting program and the terminology alone took Richard and I some time to figure out!
When you launch GravityZoo, by default it literally covers the whole screen. You virtually lose all your connection with the operating system and enter the GravityZoo space. However after launch, you have the option to reduce the GravityZoo UI to simply another window inside your Windows screen. Here's a screenshot illustrating the full screen launch:

One immediate problem though is that GravityZoo is extremely slow! This is because GravityZoo is a platform on top of a platform: Microsoft .NET 2.0.
When you start the program, as shown above, you see two options Web and Net:
The Web option is a custom browser - there is a version powered by the Gecko Engine of Firefox, plus a version based on the IE engine (kind of like the Maxthon browser). Gecko is a good choice for future cross-compatibility.
The Net option is GravityZoo's own desktop client, very confusingly called "NetBrowser". They seem to have a widget server that communicates with the client app. Is this a better approach? In one sense it is, because it is probably more efficient and secure than standard HTTP protocols. But on the other hand, it is not a standard web app platform and GravityZoo has created its own APIs, with the hope that it will become a de-facto standard. This is similar to the approach of Laszlo, which recently entered into the WebOS space. But Laszlo did so by open sourcing and releasing under a liberal license their platform, called OpenLaszlo.

Net Browser - currently there are a very limited number of applications

Sample Application - Four In a Row

Web Browser - exactly the same as Internet Explorer or Firefox
Apart from the terminology confusing the heck out of Read/WriteWeb's editor (!), as of now GravityZoo only supports Windows. This may be considered a big disadvantage, because if the purpose is to usurp the applications that run on an OS, then why does it only run on a single operating system - particularly a non-free one? However, as stated above, GravityZoo is still in the prototype stage - so Windows is an acceptable platform as the most popular operating system.
One concern is GravityZoo's .NET 2.0 framework foundation. This is absolutely not a dependency that the average user can satisfy without guidance. However this won't be a problem for Vista users, as .NET 2.0 is pre-installed on that.
It should be noted that we encountered frequent errors, no doubt because the product is still early in its development.
Although it's confusing now for the average user, even tech-savvy ones, GravityZoo is definitely a unique concept that is worth keeping an eye on. But my biggest concerns are:
TrackBack URL for this entry: http://www.readwriteweb.com/cgi-bin/mt/mt-tb.cgi/2941
Comments
Subscribe to comments for this post OR Subscribe to comments for all ReadWriteWeb posts
What a weird conclusion that is! You can write perfect fast performing apps with .net 2.0
I agree that WebOS should gives developers tools to develop new applications and add new utilities. That is why we develop Saltanera Kambium (a drag-and-drop AJAX IDE) and an 'Add and Remove Programs' for our WebOS. Here's the screenshots: http://www.klorofil.org/gallery/kambium
Sorry, the IDE is not available now (due to version upgrade). It will be available in a few weeks.
I haven't read the article yet...but I just wanted to say that Voltaire rocks!
So you use your existing browser (IE or Firefox) to download this "Web OS" (platform?), which you can then run from your desktop as an application, and browse the web using the newly-downloaded IE or Firefox - OR, use "NetBrowser"? ..It's certainly different! :)
Okay, I read it :) Technically (eh) .NET is platform agnostic. See Mono...but it certainly seems.....weird..*agrees with Scott S.*
A short introduction: I’m actually a developer of the GravityZoo Framework and there seems to be a bit of confusion about what the GravityZoo Framework is and how it works. Although I’m very pleased with the coverage on this blog.
First of all, it can be considered a "WebOS", but it really isn’t, although it can be used to build something very similar to a "WebOS".
So what is the GravityZoo Framework? Like the name already tells you, it is a framework to build, run and host applications on. It works quite different than the most existing technologies that are being used today. For the interested technical reader, take a look at: http://www.gravityzoo.com/support/GZF_techoverview_2_1_rc2.pdf (PDF alert!).
GravityZoo NetBrowser
The GravityZoo Netbrowser is just an example application of how you can use the framework to build a "desktop replacement" environment. It uses the well known "tab-based" layout that has been made famous by Firefox (and it predecessors). It is NOT the GravityZoo Framework as such.
Speed and stability
The current beta doesn’t tell much about the speed of the final platform, because it is quite limited by debugging on both the server and client side. There are also some open issues with memory management and stability (yes, it is quite easy to crash the current client and we accept any bug report :). Also, our demo runs on modest hardware behind a more than modest connection to a local datacenter. More optimized code shows quite an amazing speed bump compared to the current beta. The current beta is more a showcase of the actual technology than a usable production platform.
Platform availability
At this moment we limited the client to Windows, but that’s mainly because we have a limited budget and a limited team of developers. Of course, there is more than just Windows and there will be support for Linux, MacOS X and more platforms in the future (especially mobile platforms). On Windows we’re currently depending on .NET (2.0), because this gives us easy access to all common Windows versions and a Microsoft-supported roadmap to the future. It is entirely possible to replace .NET with something else, like it is needed on most non-Windows platforms. Our backend isn’t using Windows at all (it runs primarily on FreeBSD but also works on Linux and Windows).
Competition
The GravityZoo Framework itself was born about 2.5 years ago, out of the limitations that we encountered on a day-to-day basis. We’ve looked at technologies that could solve the problems we encountered with traditional web technology, but none of the available solutions did do it.
When we look at the "rest of the world", we see web technology, mainly based on AJAX, some on Flash. Although both technologies can deliver awesome results (I love Google Maps and the new Yahoo Mail), there is an end to their scalability and this end is coming near. Is Google working on this? Maybe, but when you believe all speculations, then Google is working on almost anything you can think of and you can better stop building software, because Google is going to get you sooner or later.
OpenSource
Although our software isn’t open source, we actively support the FOS community and we also want to encourage FOS developers to develop/port applications to our platform.
We will release some of our example applications as open source projects during the following weeks. Developers are encouraged to take a look at our "Development as a Service" environment as it is currently evolving.
I would love to see a complete scaled down version of Linux (free) that all it does is boot the PC and connect to the net. Then everything else you do is through a webOS. True it's not very good when you can't get connected but by the time something like this is usable the prices will be cheap enough for all consumers.
The Net option is GravityZoo's own desktop client, very confusingly called "Netbrowser".
Yeah, I was also confused by this terminology. The web is a concept everyone is familiar with, but what they meant by net was not immediately clear to me. However, I can understand the choice for net when their applications do not use the web (http) to communicate. Maybe they can integrate the browser as one of their applications to make it feel more like a regular desktop???
They seem to have a widget server that communicates with the client app. Is this a better approach?
Personally I like the fact that a solution is being offered that doesn’t use Ajax or Flash, like many WebOSes do. The advantage of a widget server is that you can also use implement it for devices not having a decent browser. It would be awesome if you could take some of your applications from a desktop with you on your smartphone or pda.
@mvbirgelen, thanks for taking time to clarify these points, it was obvious that these glitches are due to alpha nature of the application and will hopefully be resolved by the stable release.
@Chris, it's a known fact that apps depending on .net or any interpreted language or platform is slower than natively run ones. Moreover, it's not a usual app - it's a **platform** on top of a **platform**"
I think the whole WebOS side of Web applications is a dying concept. For one thing when people don't have an OS problem. They might have a problem accessing information and applications they have on their home/work PC's while out of their home/office, but with all the extensible, customizable homepages available and sites like Zoho, Google's range of Apps, sites offering online storage like Xdrive, etc, some which are even mobile accessible, all of which are much more stable and quicker than a WebOS.
I am sorry but IMHO your concept about WebOS is totally inefficient. I wrote about WebOS long time ago in this article here: http://www.gnucitizen.org/blog/web-os/
The Web is already an OS. Your boot loader is your browser. The browser is also responsible for launching any application you want to interact with. On the top of the browser there are many abstraction layers that help the Web OS to function. The more versatile your browser is the more things you can do. Different vendors provide different applications. However, the Web OS allows for these applications to communicate with each other the same way processes do in conventional operating systems. Web developers call these inter-web-application communication mechanism ‚Äúservice‚Ä?. Applications that use services are called Mashups. Smart people use smart browsers because they know that they can use them to customize the Web OS as they wish. The Linux kernel is like that for conventional operating system. If you donÔøΩt like the way your system works you can change it. Firefox seams to follow the Linux kernel steps. If you donÔøΩt like the way this page looks or you want to mashup two applications you really like you can use a Greasemonkey script or a browser extension.
What is this trend among Web developers that WebOS is in fact Rich GUI? I can't understand.