>140
mini-adventures in mobile, geo and arduino dev in > 140 characters...
Browse: Home » GPSjake – old code I dusted down, jazzed up, tucked in and finally put to bed.

GPSjake – old code I dusted down, jazzed up, tucked in and finally put to bed.

admin 30 May, 2013

Introducing GPSjake

One of the reasons behind me starting this blog was that it would give me a resting ground for a little app I worked on quite a while ago (and for quite a while) but did nothing with.  A place where I could document it a little, post the source code for prosperity and finally put the thing to bed.

gpsjake

GPSjake was a J2ME (Java Mobile Edition) app I started developing for (mainly) Nokia Series 60 phones 5-6 years ago.

I’ve spent some time over the last couple of months re-visiting the code and updating it to work with a more modern smartphone (OK so only slightly modern – at least it has a touch screen!) – the Nokia N8.

GPSjake was my attempt to use the phone as a bike computer / sat nav. I used to find having to take a map out of my pocket all the time whilst on the bike was a pain – my initial idea here was to have the route loaded in my phone and have directions played to me in a headset.  The route would be worked out in advance (as you would work out a route on paper map) rather than ‘calculated’ and the prompts that are to be played at the various decision points are pre-recorded by the user (e.g. turn left at the church etc). I liked this idea as it still required someone to read and understand a map rather than rely on route calculated by software.

I’ve been thinking about bikes and navigation, off and on, for a long time – when I just think back now – a *real* long time. I could maybe have done something more useful with this time – but I’m afraid I didn’t. Anyway, I’ve got some notes in a notebook from December 2004 which outline the basic idea – the notes talk about using a PocketPC! I must have started developing the application properly sometime after I got my first ‘smartphone’ (Nokia 6630) in June 2005 when I realised that a PocketPC was no longer a necessity and using a smartphone was the way to go. The app was a great way to teach myself J2ME and sparked an interest in mobile phone development in general.

Initially, for GPS (there was no internal GPS on 6630) I used a NAVMAN bluetooth receiver (I used to work for NAVMAN between 2004-2008) which I could velcro onto my helmet.  Here’s a picture of me with a receiver on my head in New Zealand in August 2005 – I think I rode out from Auckland to Piha that day – good times…

21082005

NAVMAN later released some cool matchbox sized receivers which were much smaller and could be stowed away in a pocket. Ultimately though GPS would be available on the phone itself (got a N95 around late 2007).

Throughout the time I was developing I maintained a task/wish/idea list. Having reviewed this there’s some entries that amuse me – especially given how things are these days, in order of date:

Some entries from this list:

  • Navigation with pre-recorded voice prompts and way points (18/12/2004)
  • Could make example with pocket pc + bluetooth/wired antenna using headphone socket on pocket pc (18/12/2004)
  • PDA HP:iPAQ hx4700 $1199 (2/2/2005) (obviously pricing up a pocket pc at the time!!!)
  • Reversal of bike nav idea – record a note with a position – PDA constantly monitors position. Event triggered when position reached and recording played. (2/2/2005)
  • Instead of playing vocal prompt could just display scrolling text on bike computer (3/2/2005)
  • Bike shop, pub, cafe POI’s over the air from open street map project?
  • SMS current location. (20/11/2007)
  • Manufacture water proof BT GPS receivers and give it away – new sirf 3 receivers are small and can be put in water proof pocket (20/11/2007)
  • Distribute via a website/myspace/bebo page? (20/11/2007)
  • Device to plug into phone serial port which can read heart rate monitor. (20/11/2007)
  • Waterproof, BT screen to attach to handle bars interacts with phone (20/11/2007) (a.k.a. the second screen idea that has been mentioned in a previous post – maybe i’ll resurrect this one day..)

When I look back at that list one thing springs to mind – where has the time gone! 🙂

During the time I was developing it I used GPSjake a lot when riding my bike – it proved really useful.  If I had it running on my current smartphone (Nokia Lumia 920) I’d still use it (another task for another day).

BTW GPSjake is named after a loyal steed of mine Jake The Snake (here’s Jake and me and the cobbles of Roubaix) – in other words another gratuitous cycling shot for no real reason:

paris_roubaix1

The app allows the user to do the following:

  1. Load and spatially register an Ordnance Survey based map image – for instance a photo of an OS map from one’s personal collection*/**. The image is loaded in one go. There is no tiling or caching. The user can define a list of images to enable easy switching.
  2. Use internal / bluetooth GPS to show current location.
  3. Display GPS related information such as speed, heading etc.
  4. Load routes using GPX which can be highlighted and used to define a route. The user can choose to play an audible warning if they stray off course.
  5. Export GPS logs using GPX (which can be later be used as routes) or NMEA.
  6. Export GPS logs as NMEA.
  7. Simulate a route using a recorded NMEA file.
  8. Select vocal prompts which get played along a route at a way point (e.g. turn left, straight ahead etc) or record personal ones (e.g. turn left a the church, careful it’s a main road etc).
  9. My aim was that the user could perform everything on the phone without relying on a companion app that ran on a PC.

Here’s the user guide.

I should mention that me ol’ mate @juannacho a.k.a Mr John Denton provided the app’s graphics for me.  Thanks sir!

Some videos of GPSjake in action

Here’s a video showing the functionality of GPSjake when running on an N8:

Finally, here’s a video showing GPSjake running other obsolete Nokias 🙂 –  the 6630:

And the N95:

(filming these videos took me back – there’s no denying that Nokia made some truly great phones and were a *long* way ahead of the game – shame this slipped for a time – i’m sure the good times will return though!)

Using a photograph of an OS map

* Let’s face it. The OS make the best maps for cycling in the UK and if you’re cycling offroad are the only map of any real use. As a user and fan of the OS I liked the idea of taking a photo of a map I had bought and using it for navigating whilst out and about – this saved the paper copy. Copying the map in this way for personal, non-commercial use is allowed under the principle of ‘fair dealing’ set out in the Copyright, Designs and Patents Act 1988. The following text must be displayed on the copy:
Reproduced by permission of Ordnance Survey on behalf of HMSO. @ Crown copyright. All rights reserved.

** Please note if, after reading this post you want to explore the app further, it is your responsibility to ensure your activities comply with the relevant copyright requirements. I ain’t doing a stretch for you in other words 🙂

Here’s a video I made using the video editor app on the N8 which tries to convey the best way to take a photograph of an OS map *that you own* using a phone – basically ensure the phone is not tilted/rotated, use the gridlines in the camera app to line the map up against the OS gridlines and don’t use a flash.

Source code

Here’s the source code for GPSJake.  I’ve made this available under GPLv3 and it’s hosted at the Nokia developer site https://projects.developer.nokia.com/gpsjake/.  Or you can fork this https://github.com/thunderhoss.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <​​​http://www.gnu.org/licenses/>

Tools

Throughout the development of GPSjake I used the following tools…

IDEs: Eclipse and Mobile Tools for Java, Netbeans and Wireless Took Kit.  I started out using Netbeans but switched to Eclipse this is currently the IDE of choice at work.

SDKs: Nokia S60 2nd Edition (feature pack 3), Nokia S60 3rd Edition (feature pack 2 and 3), Nokia Symbian Belle v1.0.

Final words…

It feels good to give ol’ GPSjake it’s final resting place and share it through this blog.  Although developed for old technology I think it still contains some good ideas which aren’t offered by other apps in the personal navigation / mapping space (e.g. pre-recorded, custom voice prompts).

And with that I’m off to develop on a different platform altogether……Windows Phone (once I’ve got some more Arduino business out of the way).

Uncategorized, cycling, dev, gpsjake, j2me, java, maps, nokia
← Previous Next →

  • info

  • RT @markbessoudo: Rivers of Wales. [Credit: @dafyddelfryn via @mapiaucymru cc @GeorgeMonbiot] https://t.co/kcW0NtVz46,
  • RT @here: Help us build the new #GIS epicenter of Europe in Veldhoven https://t.co/zswlUlgWho #jobs https://t.co/Sagl6sOx7R,
  • Deep sigh....... https://t.co/3c4EEOtu6X,
  • http://t.co/Qv4ex9PfHG - some nice maps.,
  • RT @here: 🎉 5 Million downloads from Google Play! 🎉 Thank you for your support! https://t.co/ikJhjZAXq5 http://t.co/Ie13SHwOf3,
  • RT @here: We updated maps for #Android, #iOS and #Windows. Download them now! http://t.co/1m3SJxUGbz http://t.co/L6jUhHt7AR,
  • RT @TiggySellars: @FredBoycott Barnsley Cocktail £2.73 http://t.co/scHz1zWoHS,
  • RT @here: .@Jaguar seeks to eliminate blind spots in your car with ‘see through’ surfaces http://t.co/dFtV5amSdl http://t.co/RTAKYhE3Tu,
  • RT @OrdnanceSurvey: Can you believe solar farms don’t have their own #map symbol? Design one for our #competition http://t.co/J9C2sUKEre,
  • OK kids..a gift for you..our FREE nav app on iOS http://t.co/LeNt5Cps9R and Android http://t.co/yiaSnRLJbo,
  • RT @here: It’s official – HERE is everywhere #iOS, #Android and #WindowPhone http://t.co/sH5jnFsvRZ #SpringIsHERE http://t.co/l0AWQvaa0c,
  • RT @here: We interviewed @philiphubs to find out all about geocoding and how it makes digital maps work http://t.co/Z29y1yPnZU http://t.co/8UwRr2cnSx,
  • RT @stuarthelmer: .@SundayTimesNews horrified that driverless cars might, er, overtake cyclists in accordance w/ Highway Code. http://t.co/PrrCY9vzEg,
  • RT @UnvirtuousAbbey: The four basic religions (via @elvo86 ) http://t.co/F8FBcKLpZz,
  • RT @terra_bella: SkySat-1 captured the Blood Swept Lands and Seas of Red installation at the Tower of London on November 10, 2014. http://t.co/4liPYamsar,
  • How do i get alphagan

Copyright © 2022 >140.

Powered by WordPress, Fanwood, and Grimpeur Deux.