Friday, December 09, 2005

Google Local Mobile

You can check here to see if your cell phone is among those currently supported by Google Local Mobile. But you can also use it with a PocketPC with either Mobile 2003 or Windows 5.0.

If you select Other Generic in the available options you will be able to see Advanced MIDP2 and Basic MIDP1 among the phone models. The idea is that a phone that runs a Java VM can possibly execute these midlets (Java applications).

Installing on a phone

For a phone available on their list, launch your WAP browser and open the URL: http://google.com/glm. That will download Google Local to it. If it doesn't recognize your cell phone maker and model you will need to select it among the choices in the download menu. The application should be installed automatically.

Google Local Mobile does not use GPS, either from satellites signals or assisted (based on triangulation from cell towers). It is basically the same free service provided by Google Local. But you will have to pay for data transfer from your provider [Samsung A940 in the photo].

After start up a map of the whole U.S. is displayed. Open the menu and select directions: type in your starting point, then your destination. Wait a bit and you will get a route draw in the map. Hit 3 for step-by-step directions. I wouldn't recommend reading directions while driving, it can be really distracting. Get a co-pilot to read the directions for you or go thru it before you start driving.

If you want to find a pizza place (or anything else) in the area, select search from the menu. It will show up small ballons with the seach results, you can get more information on each one of them by typing their corresponding number: how to get there and the coolest one, call in to order your pepperoni so it will be waiting for you when you get there.

"At this time, Local for mobile doesn't support BREW-enabled phones (e.g. Verizon, Alltel, U.S. Cellular), Nextel phones, Blackberry devices or Palm devices. Google is working in providing access to T-Mobile users."

Sprint 6700

If you have a PocketPC running Windows Mobile 5 you can get it up & running too but with a bit more work.

If you haven't done this yet, download and install ActiveSync 4.1 for Mobile 5 from the Microsoft website. ActiveSync 3.8 won't recognize it. They do recommend to keep 3.8 while syncing with older versions but the readme from 4.1 says that it works with previous releases too, so this will take some time to be sorted out (btw, I did have to go back to 3.8 to sync with Mobile 2003).

J9 Virtual Machine

Now you need a Java VM to run the Midlet. IBM has trial & beta versions of the usually referred as J9 Virtual Machine. You will need to register (freely) at the IBM website before downloading it. Handago also sells the IBM Virtual Machine for Windows Mobile 2003. After you had gone through these steps, search for "WebSphere Everyplace Micro Environment" at this website. You can also select the Trials & Betas tab to restrict the search results.

At the results page, look for the download entry "WebSphere Everyplace Micro Environment 6.0 - CLDC 1.1/MIDP 2.0 for Windows Mobile 5.0/ARM". Select the Windows host link. Do not select the Hi-Res version, at least it didn't seem to work with Mobile 5. IBM also provides versions of their VM for Windows Mobile 2003, Palm OS and Sharp Zaurus, besides Linux and Windows.

Install it to your host machine through its setup procedure. This will create a directory with a .zip file named weme-wm50-arm-midp20_xxx.zip at \Program Files\IBM\WEME\runtimes\60\wm50-arm-midp20 where xxx is the current version and build numbers. Unzip the file above to a new directory. This will create among others a /bin and /lib directories. Copy the contents of these two directories to the /Windows folder in the PPC device.

Now download the gmaps-midp2.jar and gmaps-midp2.jad file from the Google website.

Update 2: Keep an eye on this thread for the most current download locations.
Update: Since the original post was written Google Local Mobile got renamed to Google Mobile Maps (gmm) and the main Java class is now called GoogleNav. This seems like a major rewrite. If you are trying this use GpsEnabled: true instead. Also notice the PlatformID setting in the jad file.

Version 1.3.0: MIDP 2.0 jar, jad, MIDP 1.0 jar, jad;
Version 1.2.0: jar, jad [contents].

Original links for 1.3 version from http://4g63t.org/
Open the .jad file with a text editor like Notepad and modify the line starting with "MIDlet-Jar-URL:" by removing the URL preceding the .jar file name:
http://www.google.com/gmm/apps/v1.3.0/L1/gmaps-midp2.jar.

The resulting line should look like this:
MIDlet-Jar-URL: gmaps-midp2.jar

Now copy the .jad and .jar file to the (root) \ directory of the PPC device.

Installing the Midlet

Run File Explorer and go to \Windows\bin. From there launch emulator.exe, click Install, type in the URL input box the name of the .jad file: gmaps-Generic-Advanced_MIDP2.jad

Select / at the combo box below (or ...) and click Install. Say yes to the following questions regarding the installation of an untrusted application. When you see the Google Local 1.0 entry listed among the available midlets select it and click launch. You should now see the start screen of Google Local Mobile.

As I described in another post, you can write a .lnk file to the emulator.exe and place it in under Programs. Just type the following line and save it as a midlets.lnk file. Then transfer it to \Windows\Start Menu\Programs.

27#"\Windows\bin\emulator.exe"

Now you can search for pizza, call it to order your pepperoni and get directions to go there all at once. Not bad for a free midlet. Somehow I couldn't get the satellites pictures to show up. BTW, if you need to kill a process, in Mobile Windows 5 you can manage (stop, activate) running processes by selecting Settings System Memory Running Programs.

Key points from this post are based in posts to the Google Local for Mobile newsgroup.