Augmented Reality and Location-Based services …
There is much talk in a variety of forums about “virtual reality” … the creation of virtual worlds that all of us will explore using goggles connected to powerful computers. I am not as thilled (yet) about “virtual reality”, as I am by the near term possibilities of “augmented reality”. This is one of the areas that has been the focus of my attention lately.

Augmented reality can be thought of as the enhancement of our senses when viewing the world around us. One of the common examples from the movies are the scenes from Terminator where the views from the eyes of the Terminator are shown with their red tint, and the constantly updating digital information overlayed. This type of visual augmentation is also being explored by many different universities and is slowly progressing in the experimental stages. This type of visual augmentation will eventually be very commonplace, and will be a integrated part of any pair of glasses or sunglasses. The information that will be displayed to you will be completely configurable, and will be based on where you are, what you are doing, and what is going on around you.

Audible Augmented Reality
Another form of augmented reality that in my opinion will be even more important in the next few years will be audible augmentation. Just as a computer can produce visual information that can be overlayed onto my glasses, it can also “tell” me things using recorded voice or synthesized voice. I will be skating through town on my rollerblades, listening to my favorite MP3s, and as the computer detects a Starbucks coming up on my left, I will suddenly hear something like “There is a Starbucks … 3 blocks ahead … on your left.” These types of audible queues will be given to me to assist me in locating places of interest, along with friends and family.

What becomes interesting is thinking about where I will get the information to generate this visual or audible augmentation of the world around me. How will this really occur?

Audible Augmented Reality Project
In my current research, I have started to outline several of the basic requirements of such a system, and also some of my predictions on how this system will be created and evolve. I am currently writing an application to build the foundation on my Audible Augmented Reality Project, and some of my thoughts are:

  • For the foreseeable future I will have “intermittent connectivity” to the Internet as I roam from place to place. My application will have to automatically accomodate the fact that I might switch from no connectivity, to low-speed cellular, to 802.11b, back to no connectivity, and on and on. Due to this fact, I will have to support a variety of real-time and store-and-forward technologies to communicate my location, and retrieve information about the world around me.
  • Since I will roam from indoors to outdoors, cities to country, open spaces to dense cities, my GPS will have a variety of accuracy which will range from excellent to none. My application on my wearable computer will monitor my personal GPS for my location and the quality of the fix. It will keep track of my current fix, and if I do not currently have a good fix, it will remember the “last good fix”.
  • When there is a good fix … or even a last good fix … and I have network connectivity, my application will report my location to one or more Geographic Location Servers. It is very important to understand that I will not be reporting my location to a single place … but instead to numerous services on the Internet. This is what provides the redundancy, privacy, and my ability to control the sharing of this information with a variety of other people.
  • My application will provide me a way to quickly create “LocationMarks” to note and describe a particular point of interest. A LocationMark will consist of (at least) the latitude, longitude, altitude, my name for the place, one or more categories, text descriptions, and maybe even audio, photos, or video. I can then store these LocationMarks on one or more Geographic Location Servers where I can share this information with others, or later lookup and reference these points.
  • More and more people will be running similar applications that will send their current geographic location information to one or more Geographic Location Servers, and they will also be saving and sharing their LocationMarks through these servers. We will all have our “personal” LocationMarks stored on our wearable computers, along with “public” LocationMarks that we have accessed or used recently. These LocationMarks will become as popular as web pages are today … providing information that is associated with a specific geographic location, and that can be used to augment my experience when I am at or near that location.
  • My application will give me the ability to configure a set of “persistant queries” against any number of Geographic Location Servers. These queries will be to search for any LocationMarks, meeting a defined set of criteria, within a defined distance from me. I might have several of these queries constantly searching for LocationMarks of interest … such as Starbucks Coffee locations. Further, I might actually be sending queries to Starbucks own Geographic Location Server so that I am getting this information directly from the source!
  • Lastly, my application will constantly be generating audible notifications when these points of interest come into range of me as I travel.

I currently have an application which implements some of the first two points, and I am working on the next couple of points. I have several other ideas and theories on how location-based services will evolve from here, but this is a start.

This article really caused me to document what I am working on now, to get some of these ideas in writing and out on the web. I’ll post more on the HumanXtensions web site as I make progress. This is still all a part of my original quest to build a “Metropolitan Area Roller Tag Game” using wearable computers … but that is going to be documented in another post. 😉

Location-Based Internet Communities. Geographic Information System technology has traditionally been relegated to the domain of generating maps and driving directions online. What would happen if you combined a modern GIS system and an online community? [kuro5hin.org]

A good note on the state of browser support for DOM …
This is a good article on some of the various differences in implimentations of DOM is the various browsers. Good info to know if you are developing JavaScript on the bleeding edge …

Waiting for the DOM. Though great strides have been made towards the ultimate goal of a single DOM for all browsers, some implementation differences still remain. Guest author Kenneth Tibbetts provides some browser-specific scripting gotchas to watch out for. From the WebReference Update. 0315 [WebReference News]

Updates to the wearable infrastructure …
This is a cool site, and a cool project. I am going to download and install this on my wearable and see how it goes. One other thing that I found on this site was a good set of links that included a cool Wiki that has been created for wearables. Look for my contributions there also …

jAugment 2.3.182 (Unstable). A software infrastructure for wearable computers. [freshmeat.net]

XPath and DOM Documents …
As I continue my learning of JavaScript I continue to learn some of the rich infrastructure. This is a very good article that applies well to many of the exact DOM operations that I am writing currently. I continue to be very impressed with this site, and this series of articles!

Searching DOMDocument Nodes. It’s easy to load XML data into Internet Explorer using JavaScript; the real fun starts when you try to find specific information within the DOMDocument tree. Learn how to search for and select specific nodes using XPath notation. By Yehuda Shiran and Tomer Shiran. 0226 [WebReference News]

Yet another validation of our original business plan from years ago …
It seems like more and more people are realizing that the community networks are going to win. This is a very good article that discusses that the real issues are in the “back office” as quoted below …

Privacy expert Garfinkel on opening public institutions’ wireless networks: I hadn’t realized that noted security and privacy expert Simson Garfinkel spent several months as part of a firm trying to build a commercial wireless ISP business that would expand across the globe. He found the back-office stuff the killer, not the networks or network infrastructure. (I’ve heard the same thing about MobileStar; it cost them $3K/Starbucks to put Wi-Fi in, so how did they burn through $80M? Garfinkel explains.) Garfinkel argues that public institutions for whom incremental bandwidth costs are nil should contribute to the larger community by opening their networks. Likewise, he points out how simple it is for individuals to get bandwidth and feed it out. Running through tens of millions put him on the track of what’s becoming the real revolution: community networks. (Garfinkel’s books include the superb non-fiction horror title Database Nation and the co-authored (with guru Gene Spafford) Web Security, Privacy, and Commerce.

[80211b News]

Bandwidth being seen as a utility …
I like to see things like this occurring … the perspective that bandwidth is simply a utility. The streams of bits flowing into, and out of, your computer being seen like a two-way water pipe.

As this perspective continues to gain ground, it will become more and more apparent that you are free to do with your bandwidth what you like … just like what you do with water or gas.

Bandwidth is going to become a public utility …

Publicly Funded Broadband and 802.11 [Slashdot]

More support for DSML and LDAP Directories …
As we started to renew our efforts on digital identity, we quickly embraced the DSML standard as an xML solution for representing directory information. These tools appear to be a very endorsement of the DSML standard and can assist Java developers in writing more and more directory enabled applications.

Open-source DSML tools. Gerv
Markham has released DSML Tools,
a suite of open-source Java
utilities for handling Directory Services Markup
Language (DSML) data. [xmlhack]