YouAreHere: J2ME Edition

I put together a J2ME midlet that will run on Motorola/Nextel phones. It picks the current location via is GPS receiver and asks for a map of the area from Yahoo Maps.

Jad: YouAreHere.jad
Jar: YouAreHere.jar

Need a GPS developer? Send me a note.

Gravity Monkey

Jason Uechi put together some J2ME apps that I ran into while looking for Java code for the i415. I found his work at his Gravity Monkey website.

Jason produced the “silly” game and has some downloads available for J2ME phones like Phapper, a GPS-based app that looks like a stripped version of Google Local but which actually uses your location fix. He also seems to be behind Mologogo which replaced Phapper (Phone-mapper) and some other projects.

Red | Blue was released quite a while ago just before the last elections, the idea is that you can figure out if you live in a red or blue state based on your location. The app uses data from fund raisers to determine your place’s color. It is also supposed to use your bearing and position to figure out if you are getting into a red or blue area. In this case, just head West (or NorthEast) and you might get into some Blue if that is what you are looking for.

His site doesn’t take much load so try it at some odd hours (for PST). If you can’t get there you might want to try the cached version of his pages on Google. Jason is also working on Shrunq, a lightweight web browser that is currently in beta showed in another site.

Google Earth Discoveries

Today was hard to keep track of things, internal GPS went haywire thanks to Google Earth and the slew of data it is helping to generate. First there was the discovery of Ogle Earth, a blog dedicated to GE by Stefan Geens that shares tons of great material.

From there I jumped to TrackerGE and NMEA2KML, tools still in beta that generates .kml files from GPS signals that can be displayed by Google Earth as a moving map. These are some among other efforts along the same lines.

Also rediscovered the redesigned website of GPSVisualizer by Adam Shneider which now can help generate .kml files used by Google Earth plus a web interface to GpsBabel tools.

Then after running into a version of Opera Mini for the i870 Motorola phone I got distracted trying to get it to work on the i415 which kept failing for lack of memory.

Navizon & GeoTags

Finally I was able to get back to my original track and talk about the latest version of Navizon which brings location-based comments as we’ve seen with HereCast. Version 1.3 adds a new tag to the PocketPC app through which comments can be made to create a tag associated to a geographic location or GeoTag.

You will need to uninstall the previous version before installing the new one which will also include SQLCE 2.0. You can create tags at the location (after obtaining a GPS fix or location information from WiFi) or at your own account page at Navizon’s website. But I couldn’t see tags from other people last I tried. You can control the radius around which tags alerts should popup and how often a search for new tags should be made.

The issue I see here, which is the same brought up by GISUser on his blog is that we need to start talking about Open Data. Shared structured data with a common interface for use by different client & server apps. Navizon can be a client, as PlaceLab and A2B. Wigle.net already carries the best wireless database available, GeoUrl 2.0 comes back and is picking up speed fast with location data. “WikiTags” or similar effort to keep a single (replicable database) of comments, stories, reviews, notes about particular geographic locations plus photos. A common travel diary shared among all of us.

[Update] But the folks from Navizon seen to be on top of their game about this too.

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 provides free location services (you pay for data usage from Nextel) 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).