Monday, March 05, 2007

The virtual globe as a software platform

Web browsers are a very interesting and instructive case of a software platform that is completely dependent upon the network but lives on the desktop, like virtual globes should. Browsers have a language that controls the content (HTML), a language that can provide functional logic (Javascript) and a plugin architecture. The magnitude of the world wide web is a testament to just how powerful a platform the web browser is. But what elements make it so successful? A display language is a given since the browser would not exist without it, but that is not sufficient. The network is where the full power becomes apparent. The ability to algorithmically define content for local display on remote computers is where the real power comes from. However server side control of content has many limitations. HTTP being a stateless connection has been the headache of many web developers. We are now starting to see some of the real potential of the web browser become unleashed with the new "Web 2.0" hype surrounding the Javascript language. What we are really seeing is the control of the display being performed by the client rather than a remote server. Imagine that, client side control of an application, we're back to the 1980s and it's about time!

I have no doubt that each of the development teams of the major virtual globes want their creation to become the default platform for geospatial content. Why shoot for anything less? Let's take a look at where things stand for the big guys and give a little update on where EarthBrowser is headed.

Google Earth: The KML format gives the ability for novice users to add their own simple content to Google Earth, much like a static web page. The network link provides the ability to get dynamic, server based content into GE, it is very "Web 1.0." with no client side processing. They are currently at the top of the game. They have a tremendous asset with their enormous and growing dataset. However as I mentioned in a previous post, they will be running up against some limitations of their design if they don't change course, but their biggest problem right now is how to make money from it.

WorldWind: This product has advanced the farthest in the key platform categories. It supports KML and has a plugin architecture as well. There have been some recent developments which might allow one to use Python for client side processing. Their early decision to use .NET has delayed it becoming cross platform, however a Java port is on the way. I am generally underwhelmed by Java applications but am hopeful they will pull it off. Being from a government agency, they don't have the same pressures as a commercial entity. This, and being open source, gives them an advantage in the platform building arena. WorldWind has the best shot at becoming the platform of choice for researchers, if they can just convince them to write in Java.

Arc!GIS Explorer: It seems to me the primary purpose for ESRI putting this out is to keep their customers from migrating to Google Earth for certain tasks. I understand that they are licensing the engine from another company (Skyline Globe or GeoFusion?) and are therefore not in control of their own product. Apparently they allow some sort of scripting (a restricted ArcScript?) functionality. It has the potential to be something great, but ESRI doesn't really have the DNA to be a mass market product leader. Future enhancements are clouded by not owning the source code.

Microsoft's Virtual Earth: VE is a strange bird as it is an ActiveX browser plugin and not a full fledged application, but I see little difference in the installation procedure. Like ESRI, it seems they are trying to stave off Google Earth and keep the market open by providing an alternative. However they want to lock you in to using Windows and Internet Explorer at the same time. It has some really neat features, it is scriptable, and I'm certain it will be pushing Google to come up with bigger and better solutions. They, like Google, are going to have a hard time monetizing this product, the whole billboard thing is kind of stupid and belongs in something like Second Life. Perhaps that is what they are ultimately shooting for. The battle for the mass consumer geospatial market will be between Microsoft and Google.

Where is EarthBrowser in this list? Right now it is not in the same league as the other offerings. It does have some nice features that are just now being added to some of the other offerings like live cloud animations, earthquake data, sea surface temperature animations and weather forecasts. Version 3 is a complete re-write that is years in the making. It will have all of the features that are currently in version 2 integrated into a full hardware accelerated 3D environment. You will be able to smoothly fly through mountains, into and out of the atmosphere. It will support most of the popular raster and vector formats and enable you to link to sources of data on the internet. There are quite a few other neat little tricks in store that I'll reveal as it gets closer to the release date.


Adam said...

Small correction: World Wind's use of .NET is/did not hinder it becoming cross-platform, it was the choice of DirectX. The non DirectX calling classes compile fine.

We welcome and would support anyone wanting to do an OGL port - :)

Adam Hill
WW Community Programmer

matt_giger said...

Interesting, I didn't know that you could run the .NET runtime on anything but Windows (Mono notwithstanding). I have been looking at that Summer of Code list of ideas and find it a little suprising that vector data is rasterized in WW, I guess it cuts down on memory usage.

I may be able to help WorldWind in the "shapefile improvements" section. I am working on an open source replacement for shapefiles that can be queried and modified like a database.

XenonOfArcticus said...

ESRI's ArcGlobe is based on GeoFusion.

Also, WorldWind has recently been refactored into Java in order to make it a better choice as a cross-platform 3D Globe application base.

Lucas said...

Keep on the good work. I love your work and use it a lot.

Lucas Belgium

ourmanflint said...

Hi Matt

I love Earthbrowser, in some ways it is certainly better than the likes of GE. Here is my wish list for V3... in no particular order

1) plottable paths- to allow users to plan routes of places they have been and want to go, and export of those paths.

2) please integrate something like the "Falling Rain" dataset of place names, I ma forever looking at blank space in Earthbrowser and GE isn't much better.

3) the big one... I want EB as web content!! I would gladly pay for it

Anonymous said...

Google Earth: The KML format gives the add their own simple content to Google Earth... The network link provides the ability to get dynamic, server based content into GE, it is very "Web 1.0" with no client side processing.

I hate the term "web 2.0" but the whole "2.0" thing is about interactive services, not client-side processing. I have seen full GE-GIS implementations with (most) of the analytic capability of something like ArcGIS. It really shouldn't matter if the app is server-side or client-side, so long as you can interact with the data.

Thomas pedro said...

On the off chance that a couple have relied on upon both their livelihoods to meet their month to month costs and one of them has stayed unemployed for quite a while, they have encountered a hardship. In the event that the essential pay worker has endured a genuine mishap or calamitous disease, making it unthinkable for him or her to work, the family has endured a hardship. check cashing san-diego