I haven't been posting a lot lately, and that's mostly because that besides a heavy workload from my real job, I've been putting a lot of time into the headmap blogosphere project. Ben of headmap.org contacted me regarding a web project he was trying to pull together. He was quite enthusiastic and got me excited enough to dedicate most of my free time during the past two weeks to helping realize his system. The basic idea of the system is to enable an association between web data and space/time locations (mostly concentrating on geographical location at the moment). This is building on the work of Joshua at GeoURL.org but rather than create a system where there is a central data repository (as geourl.org has built) we want to enable people to maintain their own sets of geocoded data.
The first step in this was to modify the globe applet that I've had on my site to act as an interface into these private data stores. Originally the globe I used was not truly interactive, you could spin it and zoom in but that was about it, and it got its coordinate data (the pin points) as a series of lat/long pairs in the applet html parameters. I altered it to read the locations from an XML file which would associate the points with arbritary URLs, and then made the points hotlinks that would load their associated URLs in the browser when double clicked. I also added some animated rotation/zooming 'cause I thought it looked nifty, and mouseover popups that list which pins the cursor is near.
Ben wanted the system to also have a way for the pin points to be easily entered into the XML file that the globe applet reads. So as a proof of concept I wrote a Moveable Type plugin that, in conjunction with a MT plugin Joshua wrote, an alteration to the MT entry form templates and some javascript, allows the MT blogger to use the globe to indicate a lat/long with which to associate a particular blog posting (and thus have a globe applet on their blog site that geocodes their blog posts as an alternative index).
Another developer on the project has written a CGI that takes site location information from a web form and appends it to the XML file.
Recently at Ben's suggestion I added code that will allow the person who puts the globe applet on their web site to indicate an external website that takes lat/long information as part of a URL and have the globe user's selected point insterted into the URL and loaded in the browser. Thus you can use the globe as an interface into mapquest or a weather service (or any other web service that uses lat/long coordinates).
Ben has gathered a great group of people on this system, who have put a lot of serious thought into a location aware semantic web and how it could be used by our society (such as Andy Hook of p2pMap.org who had already mapped the GeoURL.org dataset onto his own modified version of the globe applet). Frankly I'm honored to be involved in my own small way. There's a lot of potential uses and implentations of this general idea that will be fun to explore.
The main thing about this system is actually the dataset though. We want to work out a useful way to allow people to attach location (and later time/duration, emotional, etc) associations to whatever datasets they want to publish (such as sacred places, photo albums, nuclear dumping sites, hot tub locations, chupacabra sitings, -whatever-, and share these datasets with others to view or modify.
There's some other interesting projects that can be derived from this. For instance building on the idea I had last month, I started envisioning a brokered peer to peer system that allows all of the applet users (the people who have loaded the site's applet into their browsers) to be networked together. They could share their own physical location and see all of the other user's locations marked on their globe. Interactions between users could be marked by animated arcs between the relative pin points, processing power could be shared (between the browser machines and the broker service running at the applet hosts too).
In fact the ideas just on what to add to the applet are coming faster than I can code them, and the applet is really incidental to the true system. We're looking for people interested in helping out. Visit the project homepage, join the mailing list, use the applet on your own site (there's full installation instructions at the site), get involved!