Wednesday, October 19, 2005

Geotags & A2B, Navio & LBS

Well, I learned a new buzzword today: location based services (LBS). And if you google it, man... Easily it can be taken as the next-big-thing. SDK's to help apps become location-aware from every possible vendor/provider. All the works.

Technology Review published a good article on new ways of "annotating the planet" provided thru Google Maps and other geo-enabled apps.

But for me this all started with A2B and their GPS software for the PPC: Navio. The common interest of its two founders and some good dose of passion for the GPS originated A2B and their take on LBS. Navio and A2B went live on Jan 2004. About ripe for primetime.

Navio is produced and distributed by TinyStocks. Which has quite a few different products in its portfolio.

You get two installers with the .zip download: one for the Pocket PC and another for Windows. Both look and act exactly the same. The trial limits the data transfer from the GPS receiver to 50Kbytes, which is pretty reasonable. You can get a license for US$ 24.95.

Navio is a pretty sleek GPS app. One surprising twist and cool feature of Navio on the PPC is that Navio installs itself as a new entry on the Today screen, displaying the current coordinates along with date and time.

To get started select the HW tab (Hardware) to configure your GPS receiver. In my case (GM-270 Holux CF) I chose "Serial NMEA 0183" and the corresponding COM port. Navio also lists Delorme TripMate/EarthMate, Garmin and BlueTooth devices. You can also "enforce GPS accuracy" which I haven't tried yet.

Several choices for 'position' among WGS84, UTM and Grids in Europe let you pick a datum. I didn't time it but one checkbox that seemed to make for a quicker fix was the "Use GGA sentence instead of RMC". The Sirf chip used in the Holux CF supports both sentences, but for some reason it seemed to acquire a faster fix with the checkbox on. [GPRMC translates to Recommended Minimum Specific GPS/Transit Data].

Then hit "Start" to get the app to communicate with the receiver. Navio has a pretty neat "Sats" tab that shows the position of the satellites in the sky either thru a bar-type chart for strength or as triangles in 3D by showing their corresponding location. The 3D view moves according to your orientation like a compass. Pretty cool.

After a fix is acquired you can check your position in the Map tab. The default vector map can be replaced with a .bmp, gif or jpeg image file. Select one by hitting the top arrow icon and 'Load Map...'. You will be reminded that you need to set two reference points to calibrate the image.

Find your actual position in the map, tap & hold the corresponding pixel and select "Reference Points, Add Ref Point". Hit OK to accept the current lat/long and you are done. Repeat it once for another (preferably farther away) position and you have a working moving map.

Behind the scenes Navio is creating a .ini file with the same name as the image you loaded with the matching pixel and lat/lon positions you recorded plus the total image size. No tools are provided in the host PC for image georeferencing.

You can also record a log for a trip and save it as a .nmea file. To play it back select Show Trip Route [up arrow icon] and check the Simulation mode in the Hardware tab.


But the best of Navio are two quite interesting new tabs besides those usually found in GPS apps: poi (point-of-interest) and a2b. These will let you get some action with the location-based services.

Quoting the tab: " [note that the URL is not .com] allows you to find interesting URL's that are close to your present location (business, restaurants, tourist attractions)".

First create an account at the A2B server (btw, if you find anything weird in the user agreement let me know.. ;) then configure Navio with your username/pwd. The website announces that it "finds websites by geographic position". You might be wondering what exactly that means.

POI's are a different name for waypoints, and you can make similar use of them but with Navio they get a new meaning.

To begin with you need to obtain a fix and upload you current position. For that you will need to be close to a wireless hotspot and outdoors. Soon this will be possible in some places like SF but not exactly that simple right now.

Then you can search for URL's close to your position. The response lists several URL's with two links: map and poi. If you select POI you will be able to save it as a .csv file and later load it while on the POI tab.

But let's take a look at the search results. It lists several... blogs!! Tons of them. Not one single business location. Now I can invite my fellow bloggers for coffee at Lulu's! (One of the few hotspot & outdoors around). Or one can put together a list of hotspot waypoints... [To have an idea about what's "close to this blog" click the a2b button up on the right pane.]


If you check GeoTags you will be able to find things near you the same way A2B provides and also learn about how to add META tags to any webpage to give it a geographic position. Below is an example (notice that the latitude/longitude format is given in dd.dddd).

<META NAME="geo.position" CONTENT="37.0;-121.9">

Or you can use GeoTags Generator to do the work for you.

From that you can imagine businesses adding tags to their corresponding webpages with their locations so you can search for those close to you. But, and this is a big but most of the sites that currently make use of geo tags like you just learned are blogs. Plus most businesses usually have more than one location, so how can one distinguish between different stores based on the same webpage?

[In fact, their forum has a suggestion about this where different references within the same webpage could lead to different locations].

One other problem with the current implementation of Navio (and its free stripped down version for the PPC, GeoCookie) is that you cannot upload a business location yourself. It won't let you type the name and type of business with your present coordinates. You have to upload the location first then thru the a2b website associate an URL to the last uploaded location.

You can provide a .csv file (comma-separated values) with a batch upload, but this still doesn't solve the one-to-many location issue. But in any case A2B provides an API for developers that want to add location-based capabilities in their software (like everyone else these days).

A2B is a great starting point. If it would let you not only search for URL's but for actual POI's it would be an even more helpful tool for GPS users. Its website also offers a simple and to-the-point review of GPS and positioning plus a great links page.