Sunday, November 13, 2005

Mobile phones: Location service x GPS

I borrowed a Sprint PocketPC 6600 to try JGUI's PI & W.A.I.T. (We Are In Touch). The Sprint 6600 comes with a sliding keyboard, runs Pocket PC 2003 Phone Edition, and includes BlueTooth, a camera and 128Mbytes of RAM. The newer version Sprint 6700 is currently for sale.

After a hard reset due to battery power loss, the initial setup included several installs of pre-packaged applications. Among them a "Location On" item displayed at the Today screen. The PC 6600 also includes a SD card slot through which I run the .cab files to install trial versions of both packages (available at PocketGear).

JGUI products call GPS Rx a connection to the GPS receiver. I selected each available COM port looking for the receiver. COM6 launched the BlueTooth Manager, but no device was available. Then I started to wonder, how is this location obtained then? Is there a GPS chip somewhere in this phone? Didn't I know that these questions would take a while to get an answer.

AGPS: Assisted GPS

The Sprint 6600 doesn't include a GPS receiver. To have one it would require something like the DeLorme BlueLogger to make it work, but I'm not getting one right now.

So how exactly can JGUI obtain NMEA 0183 data from this phone? Short answer is: it can't. The position from a cell phone like this is not obtained thru signals from GPS satellites but from triangulation of the cell signal by the closest towers.

What this and other phones have is a chip that will help implement the FCC mandate to offer the E911 emergency location services where available. According to Sprint: "Sprint employs multiple location technologies such as Global Positioning System (GPS), Advanced Forward Link Triangulation (AFLT), Cell Sector, Aided GPS, and a blend of AFLT and Assisted GPS technologies to determine location. Each technology has its own strengths."

A PDF from OpenWave helps understand the technologies involved here. And then you realize that things got a bit more complicated. So the location data isn't readily available to applications like JGUI PI/WAIT to use.

True GPS Phones

Motorola produces phones with true GPS receivers. Check the i88s for example. Phones like this one depend on GPS satellites to obtain location information and require a clear view of the sky to do so, unlike those with provider location data. In that case, you depend on the availability of signal from your phone service.

These phones also run Java (J2ME) and support the J2ME Location API which gives you access to:

  • latitude
  • longitude
  • altitude
  • time stamp
  • travel direction
  • speed
  • altitude uncertainty and
  • speed uncertainty
At the Motorola Developer site you can find a White Paper describing the recommended use of this API (registration required).

Location Services

What you can make use of are tracking services that use a mix of these technologies. But for that you will have to pay extra for data service from your provider.

For example, AccuTracking which used to provide free location services, is now a fee-based tracking service. You also pay for data usage to Nextel (or other provider). Its midlets uses the GPS data from the embedded receiver of the Motorola models. Xora supports similar models to make use of their Java-based apps in a Motorola/Nextel phone. TeleNav offers directions with turn-by-turn information based on true GPS positioning, not from an assisted type technology. In fact, Motorola has its own service ViaMoto to provide turn-by-turn directions.

For WAP-based phones you can try the free, Open Source project Mobile GMaps "that displays Google Maps, Yahoo! Maps and MSN Virtual Earth maps and satellite imagery on Java J2ME-enabled mobile phones, PDAs and other devices."

Where are you

The interesting feature provided by both JGUI PI and W.A.I.T. is the ability to send SMS (Short Message Service) messages to someone's phone with your location information. This is also the main idea behind Needle GPS (which looks like a defection from the company that produces and distributes Loc8 NMEA Listener, the product after which Needle is modeled).

Needle says that it can only be installed in PDA's with ARM 1100 processors, but I was able to run it on the Toshiba e755 which has the Intel StrongArm processor without a hitch.

The demo doesn't allow you to do much else besides connecting to a GPS receiver, but the full product will act as a moving map and allow you to send SMS messages with your current and stored locations. Needle also produces an add-on module Neddle Plus 1.0 (US$ 49.95) but there is no demo or trial version available.

Maybe instead of a Garmin unit I could try one of these Motorola phones, that would save the money for the BlueTooth receiver but add on the service subscription fee. Or maybe just wait a couple of years to see how these things will end up.

PS: What do you want to read about? Let me know (ascardoso at yahoo dot com).