Preloading j2memap with google maps

Posted in GPS on November 7th, 2006 by gavin – Be the first to comment

I looked at a way of preloading the j2memap application with maps from Google Maps. Great! I can put the maps on the phone, no permission errors, no messing. Or so I thought, unfortunately it’s actually quite crap.

I found an application that given a particular URI will download maps from that source for a given set of coordinates, longitude and latitude. You also choose the zoom level.

Now, I wanted a map of Dublin on my phone. For it to be of any use, it needs to have a reasonable level of zoom, which when downloaded with the above application spews out around 30 or so mb of map data. Grand job, no hassle, I’ve a 1GB memory card in the phone. Of course I was being somewhat stupid about it.

By preloading a jar file, as described here, you take the maps, convert them to a certain filename and stored them in the cache directory in the jar. A Java jar file being in fact a zip file, so this is quite easy. The problem occurs when you want to load this jar onto the phone. My phone, a SE K750i, copies the jar file to the phone memory before it runs… So I am going to be always limited to the phone memory size, not the size of the memory card. *NNNNnnnnnngggghhhh*

I am just going to have to wait for a signed midlet that loads the data from the memory card filesystem. I did also look at writing a small httpserver, which would have encountered the same problems as above, but in fact the phone can only run one java application at a time anyway !

Mobile phone GPS software

Posted in GPS on November 5th, 2006 by gavin – 5 Comments

There are a good few java applications out there for mobile phones that offer some sort of GPS support. I’ve played with a few, and even payed for one.(I am a schmuck) I’ll quickly mention the ones I’ve used and describe what they can do. What I was really interested in was the ability to download large maps and save them onto my phone’s memory card. The alternative is to download the maps via GPRS as you go, and given Irish mobile phone service providers GPRS costs, this isn’t feasible.

There are some issues though with using downloaded maps, or saving cached maps to the filesystem. The first is Google themselves, (if using Google Maps) the offline caching of maps is, I think, against their terms and conditions, as demonstrated by them requesting this chap to take his application offline.

The second issue is with the phones themselves. My phone at least requires explicit permission from a user when an application wants to access the filesystem. This is fine, great security you say, except that it wants permission every, single, time. So if you download some maps that are split into tiles, ala Google Maps, it needs to issues at least 4 or 5 requests per display ! Painful. The only way to get around this is to get the jar signed, or to load data into the jar file itself. Getting the jar signed costs money, circa $500 it seems, and loading up the jar files is awkward, with no automated tools for doing it. So anyway, the following are the application I’ve looked at.

Mobile GMaps.

http://www.mgmaps.com

Mobile GMaps Mobile GMaps was initially written to display Google Maps but has extended to include support for a number of other online map sources and GPS devices. It is a Java application, so will run on any reasonably modern java enabled phone.

The MGMaps interface is very good, nice and tidy, with plenty of support for various settings. Always on backlight (which doesn’t work on my SE K750i phone), full screen, bookmarks, a proxy script.

What it doesn’t do is provide support for route tracking, satellite information display, extended information such as Height etc. It also does not support the loading of map data from the local memory storage.

MGMAps is excellent for viewing googlemap data, and searching for locations, however as a general purpose GPS client/tool, the lack of route recording tools makes it useless.

TrekBuddy

When I wanted to record my routes on the bicycle, my brother pointed me at an application called TrekBuddy. From the website http://www.linuxtechs.net/kruch/tb/forum/index.php the details are

  • Bluetooth GPS, internal (JSR-179), simulator location provider
  • offline maps
  • smart GPX / raw NMEA logs
  • location sharing
  • waypoints

The NMEA output is good, the smart GPX can be a bit dodgy. I tried it on the LUAS and appeared to travel through a number of houses, which was a bit odd. The offline map support is there, but getting a map and calibrating it is awkward. What I really want is just a tool that will allow me to download Google Maps and stick them on my phone, no messing about ! TrekBuddy should be able to display these maps alright, it’s just a matter of formating them correctly.

Nav4All

http://www.nav4all.com

Nav4all is slightly different from the above in that it is a more professional offering. Rather than a map displaying application, Nav4all is more like a complete GPS solution, focusing on providing directions to locations. The map coverage is extensive, using their own database, with a comprehensive POI database too.

The interface isn’t fantastic, however it does offer audio prompts for when driving. The application is very good, as a GPS alternative to the likes of TomTom, but as yet doesn’t spport tracking and tracing, so no NMEA or GPX output. There is also no support for using downloaded maps, however given that it is not downloading raster maps, but rather vector maps of locations, the amount of data downloaded over GPRS isn’t too bad. Also, the application is currently completely free !

As a map viewer, it’s ok, as a complete GPS package, for free, it’s very good.

J2meMap

http://j2memap.landspurg.net/

Another application along the lines of MGMaps and TrekBuddy. This has support for route saving/loading, but I couldn’t get it working. There are some other interesting features such as taking photos and being able to GPS tag them for uploading to Flickr. This sounds good, but unfortunately it couldn’t seem to take advantage of the 750i’s complete camera features, restricting the image size, focus etc. There is talk on the forums about loading up the cache directory with predownloaded maps, but again, it appears to be an awkward process. The interface isn’t the greatest and the application can’t handle the permission related problems very well, with constant requests entering into a loop it’s impossible to get out of without forcing an application exit.

It’s a decent map viewier, but with the filesystems permission problem, it can be very painful.

GPSWatch

http://www.i10n.com/

I was getting a bit tired at this stage of all the various applications, none of which did exactly what I wanted. A simple app that can display offline maps, display the recorded route as an overlay and export this data in a NMEA or GPX format. And also to have no messing about with filesystem permissions. I didn’t even mind paying a bit of cash for an application that did all this. Amazing I know, a pauper student willing to fork out cash for a program. One of the forums had a post mentioning GPSWatch and that it supported downloading of Google Maps and loading with permission questions. Great !

I went to the website, they listed all the various features, everything I wanted. The demo was ok, seemed to do the job, so payed for the application. 25 Euro. First thing I noticed after I payed was that I didn’t have the application, no automated download, nothing. It seems I had to wait for the company to email me asking what phone I had, then they would send it out. That’s bollix I thought. I went to the website forums and saw people complaining that they had payed for the app and taken ages to recieve it. More bollix I thought.

Eventually, after several unanswered emails, I got the application. Apparently the company had been off at a wedding. I guess these things happen (?!?!). At this stage, I was a bit suspicious about what exactly I had bought and I wasn’t too surprised to get something that was fairly crap. The interface is poor, a number of the features are ridiculous including an acceleration measurer to test how fast your car can get to 100 miles an hour. The application doesn’t do full screen, doesn’t display route taken over the map and of course still has the file permission request problem. No signed jar here. The offline downloader is a java command line app which runs with the arguments:

Usage: getmaps ‘start latitude’ ‘start longitude’ ‘end latitude’ ‘end longitude’ ‘map type’ ‘start zoomlevel’ ‘end zoomlevel’ ‘destination folder’

Not quite the simple GUI tool I was hoping for.
In short, it was somewhat disappointing. Avoid until they have developed into something more substantial, if ever. At least I get free updates, (what joy), so if they ever make something decent of it, I’ll be able to use it.

In general MGMaps is the tool with the best interface and TrekBuddy the tool with most useful offline map ability. Nav4All is great as a general pupose GPS solution, at least while free. I’m just going to have to wait a while for a mobile phone tool that does exactly what I want, or write something myself to create the maps I want.

One possible solution is to write a simple webserver for the k750i that is able to load google maps from the memory card and make them available to the MGMaps tool via its proxy setting. The security problem could be overcome by storing the files in the httpserver jar.. Still have to download the right Google Maps though..

RSS Feeds from the above mentioned applications :

Keyboards

Posted in Nokia770 on November 3rd, 2006 by gavin – Be the first to comment

Bluetooth Keyboard

As I mentioned before the 770 is extremely versatile, what with it running an opensource operating system. Support for bluetooth keyboards has been hacked in, so the 770 can be used as a word processor with AbiWord, to ssh into remote hosts with OpenSSH, and then just generally for writing emails etc.

There are two types of bluetooth keyboards doing the rounds, HID and non-HID. HID is a bluetooth profile which the Nokia supports so it’s very easy to connect the keyboard to the 770 and work away, no messing around. You can get the bluetooth plugin from here. The other type of bluetooth keybaord, the non-hid ones are a bit more awkward. It involves creating a serial connection to the keyboard and using kbdd as a userspace keyboard driver. There is however a decent guide and some scripts written to help with this.

This second type of keyboard is the one I have, a Freedom Keyboard. If you can afford it I would advise going for the HID profile ones, these are much easier to use and somewhat less buggy.

Nokia 770

Posted in GPS, Nokia770 on November 3rd, 2006 by gavin – Be the first to comment

Nokia 770

Nokia 770

So I bought a Nokia 770 a while ago from the States. My brother was good enough to bring it over with him last time he came home. In case you’re not familiar with the 770, it is a handheld computer running a variant of Debian Linux. Nokia have setup an opensource development environment and are attemping to create a community around their http://www.maemo.org website. Maemo being the name of the OS.

The 770 is sold as an ‘Internet Tablet‘. Its claim to fame over any other same size PDA type device is its screen. It has a 4″ 800×480 resolution screen, extremely high quality. I used to read a lot my books on a Tungsten E palm, and was looking around for something new to read with. The 770 is considerably cheaper and more versatile than the current batch of EInk readers, so I went with that instead, at least in the short term. There are excellent reading tools available on the 770, namely FBReaderand Evince. Reading on the device is a pleasure with the high quality screen.

A number of applications have been written for the 770 and a number have been ported. Porting involves recompiling software for the Arm processor, or in the case of GUI applications, rewriting them to utilise the Hildon API. The Hildon API is a GTK+ based extension, designed for handheld type devices, opensourced by Nokia. There are full examples and tutorials on the Maemo website for creating a development environmenet and details of the Hildon API. I have looked briefly at writing some simply monitoring applications for the 770, it seems quite straightforward. Porting command line applications is very easy, the only issue can be external dependancies.

Bluetooth GPS

Bluetooth GPS

Some excellent software I have been utilising recently, is Maemo Mapper, written from the ground up for Maemo. MaemoMapper uses a bluetooth GPS in combination with an online map source such as Google Maps to act as a GPS client. It is an excellent tool, stable and versatile. You can use it to log routes or in conjunction with Googles location service, obtain routes from one point to another. I found it very useful when on holidays in Sardinia recently.

The advantage of a bluetooth GPS is it’s versatility. I have a SE K750i mobile phone, which has bluetooth and support for java midlets. There are a number of free GPS client tools for the mobile phone which can use Google Maps. An excellent tool if in a foreign city !

Also, as part of the GPS fascination, I’ve been playing with Kismet, which has recently been ported correctly to the 770. Initially there had been trouble with the 770′s wireless driver, resulting in ‘ghost’ access points appearing. This has all been resolved now. Kismet, in conjunction with GPSD and a Bluetooth GPS, allows one to wardrive and plot the location of wireless access points extremely easily. It’s a small step to then transform the kismet CSV output into a Google Maps based display.
Wireless access points
I’ve been playing with it a bit now and it’s not the most reliable, the bluetooth connection can be lost on occasion. I suspect it’s the GPSD software, as Maemo Mapper has no problems maintaining bluetooth connections with the GPS. A solution may simply be to log the GPS coordinates on my phone, using the NMEA format, and write a small script to extract GPS coordinates based on the time an AP is spotted in the Kismet CSV log.


FireStats iconPowered by FireStats