Back to Google Earth. Google seems good at publishing APIs for their web services, like Google Maps. Unfortunately for people who use them, they reserve the right to yank the rug out from under you at any time with their licensing terms. The Google Earth API is effectively KML, perhaps they are going to introduce something new after the acquisition of Sketchup which has a reportedly nice Ruby API, but for now it is just static data with the weakest possibility of time based animation through some kludgy use of the "network link." By the way, what kind of hyperlink is not a "network" link? Just wondering.
I don't want to help Google with any of it's problems since they are the main competitive threat to EarthBrowser. I tried writing a file format for EarthBrowser back in 2000 (version 1) that would use static files to control actions in EarthBrowser. It was a very difficult to thing to keep up with. Any new action had to be first coded into the program, then an interface to that code provided and access through the file format. Tweaking that was a nightmare so I tried making my own tiny programming language to embed in the files to provide more flexibility. It worked OK, but that just added another layer of complexity along with the file format and the hand coded feature linkings. You can see the dilema they are facing by adding more and more features into KML that need to be supported in current and future GE versions. They need a rewrite, but guess who will have a new virtual globe out soon (besides EarthBrowser)... Microsoft. I don't know what MS has in store for us but from the looks of Flight Simulator X, it will blow GE out of the water.
Here is discussion of one of the extensions someone has made for Google Earth using KML. It is just so kludgy...
I've learned the lesson of trying to make a static file format control a virtual globe. The next version of EarthBrowser will feature a fully scritable game engine which users and developers can add their own data types and visualizations directly on the globe. As an example, it will be possible to code a module that will download raw data from any source (e.g. NASA) and process it for display on the globe. From this scriptable code base it will be easy to create a KML converter and easily update it with new versions of KML with few changes to the actual code base.
I'll leave you with an early screen shot of EarthBrowser under development:

2 comments:
You should try to compete with a better product, not angry swipes at something you apparently don't know much about.
Hmmm. I'd have to say that after 27 years of programming in general and 9 years of writing virtual earth software, I figured that I did know something about assessing code quality and file formats. Please enlighten me as to where I am incorrect. A scripting language is far more flexible than an xml file format, and can indeed be used to parse many such formats. Perhaps you take issue with the internals of Google Earth. I admit that they may be re-writing it's creakier aspects, I would expect that they would be doing that if the project manager or lead programmers knew what they were doing. I think I may have alluded to that in my post, but the overarching point was that any product becomes ossified as it gets older because you can't usually remove features. Also some features depend upon others and interactions between different parts of code make it very difficult to re-write as it gets more and more features tacked on. Google Earth is as good as it gets at this point in time, I don't dispute that. I was just expressing my opinion as to the challenges they are facing going into the future from my perspective as a virtual earth programmer.
As for competing with a better product, that is in the works. I guarantee that I won't have more data so I can't compete there. I don't really want to compete with Google, I'll leave the mass advertising market to them and MS and whoever else wants to gorge on that segment. I would much rather design EarthBrowser to inspire and educate children and anyone curious about the earth and how it works.
Post a Comment