Friday, December 16, 2005

i860: GPS Enabled Nextel Phone

Some questions take a little longer for an answer. What about this one? How do you go about installing a Java App on the i860 from Nextel. That's simple enough, no? Well, not quite. Nothing that complex but we are talking about a closed platform, to say the least an annoyance after bathing oneself on OpenSource, Java and other clean waters.


The Nextel i860 includes camera, GPS and support for Java, a crispy color display in a very well designed rugged clam-shell that feels pretty solid and reliable. I was pretty comfortable handling it without having the impression that it would break if not dealt with carefully. Its coverage provided a strong enough signal on my area where other providers don't quite reach.

The i860 uses custom software from Sirf to obtain location data, nothing that fancy: latitude, longitude, last time a fix was obtained and accuracy in feet. If you drill down into the Phone Info (#, *, menu, right arrow) you can obtain a bit more information on the GPS Info as altitude and Assisted GPS coordinates, velocity and heading. I was able to obtain a fix on an area covered by trees where usually I can't get one maybe because of the included SirfLoc technology which seems to combine true GPS with a mix of Assisted-GPS methods.

Nextel uses OTA as a way of providing Java applications to its users. You buy one and get it transferred into your phone "over the air". These applications are signed, meaning that they contain valid Java bytecode, no viruses and are approved for use by Nextel.

Among the GPS-enabled apps you will find TeleNav which provides a demo for its turn by turn directions application, MapQuest FindMe, Trimble Outdoors and ViaMoto. All charge a monthly subscription fee for its usage besides the required data service (data plans starting at $9.99 for 1Mbyte).

You can watch a demo with voice from MapQuest and try ViaMoto for free for two weeks. Trimble also has a demo available but it is just a sequence of slides. You can also use Trimble Outdoors with Magellan and Garmin units. Trimble Outdoors works with its PC-based companion, Trimble Adventure Planner. After planning a trip you can transfer a route and waypoints to your phone, including topographical and aerial photos.

MapQuest FindMe provides options to find POI's near your current location or by address, from the provided results you can obtain diretions, maps and call it, pretty similar to Google Local Mobile but with GPS-support.

ViaMoto does a pretty decent job providing directions and turn-by-turn voice commands. You search a directory for coffee shops, gas stations, banks, or even a downtown area of a city and after a fix is obtained you will get the total distance to the destination, overall direction and time to get there. You can choose to have guidance maps downloaded to show where you are, but that is disabled by default due to the higher data transfer cost. You don't actually need to look at it, only hear the directions thru the speakerphone.

Another way of using this phone is that you can set it up to output NMEA and connect it to a PC with its data cable to an USB port. Then you can use the phone as a GPS receiver.

Free GPS-enabled Apps

Google Local for Mobile (a free Java app as we know) isn't included among those provided by Nextel, so does that mean I can't use it? Well, here is where we start to drill down into this hole. But lets first have some motif. If you look inside the .jad file provided with Google Local Mobile you will notice the following entry:

GpsEnabled: false

GPS! Now we are talking... But someone at the GLM newsgroup mentioned something about getting only red lines displayed over a location but my guess is that the guy has access to some internal builds not available to the public yet. Well, but let's try it out.

So how do you go about installing GLM on a Nextel i860? Let's try sending a SMS with the link to the .jad file and open it with its WAP browser. Well, not quite. You will get a "406 Not Acceptable" error message that sounded a bit absurd to me.

After getting the app installed it didn't seem to do much else with the GPS enabled Nextel i860. But by then I was bit by the GPS-on-a-phone bug. So, what else is out there, free that can be used with a true GPS phone.


Looking around I ran into Mologogo. MAKE published an article on it describing its usage in detail. Its website uses Ruby on Rails which seems like a pretty cool and fast way to get a website up & running but you might experience some slow performance which shows that under heavy load RoR still requires some fine-tuning. So try reaching it during some odd hours.

Mologogo uses Google Maps and provides location information about your friends over the phone. You register with the website, install the .jar on your device, connect to it and after it obtains a fix, loads your friends locations and corresponding maps, it displays your current location and eventually your friends close by. Pretty cool, free app & service.

The challange here applies to the steps to get the application loaded into the i860. I might be treading some grey area here, but here is the disclaimer: no responsability is taken by the information provided here, all of it is currently available over the Web, and this blog doesn't support, validates or endorses any of these products and practices. Use it at your own risk.

Java Application Loaders

Motorola since November 2006 made available new loaders that remove the limitations described below. This way you won't need to jump through so many hoops to get an app installed on the phone. Check this page at the Developer Site.]

After creating an account at the iden/Motorola website you can download a tool called JAL Lite to upload Java applications to your phone. But there is a little restriction to the type of application you can upload: it cannot make use of the network, so apps that use any API that requires connections to the outside world ( won't be loaded by JAL Lite. Well, we are killing about half the fun here.

So, what else can we try thru the official channels: if you are a developer you can try to register with Nextel for an account explaning what your application does, the reason you are trying to obtain their approval, the market it is target for, what's the IP address of your development machine and wait 5 days or so for an answer.

If everything goes as you expect you will be given an account/pwd and then you can download WebJal. An application that will let you upload network-aware applications to your device, but also with some restrictions involved, like your application you only run for a given period, expiring after that. At this point you just wonder, what the heck is going on here. I'm already paying for data and this is my own phone, or not?

Well, because of the locks Nextel/Motorola put around their devices people came up with a patch to the WebJal, directions on how to setup your own OTA WebServer (with Apache, PHP) and some other really weird stuff. It is hard now to put so much control over a platform nowadays. It basically doesn't work.

So, now that the legalese is behind us, let's talk about MyJal ("We do because we can"). It's all on their website. You will need the data cable to connect to the phone and an USB port on a PC. Then install the Motorola USB drivers to be able to connect to the phone. MyJal will install a second set of drivers. Obtain the corresponding .jad and .jar files for a MIDP 2.0 application and keep them in the same directory. Their FAQ has straight answers for most of the issues you might possibly run into.

The i860 first verifies the content of the applications while installing it to make sure its code is valid, secure. If it runs into classes that aren't supported (like those from MIDP 1.x apps, it will fail). After going thru its validation and writing it to flash memory, you can then add the new midlet to the main menu and launch it. This is a pretty cool phone and the integration with true GPS makes it a great device. Add to it a MP3 player and you are set.

It is just a pity that you have to go thru so many hurdles and concern yourself with legal matters when you only want to make better use of your own equipment with freely available software and services.

1 comment:

Jonathan said...
This comment has been removed by a blog administrator.