Release 0.8 has been published

  • Jyrki Kuoppala
    Jyrki Kuoppala

    GpsMid release 0.8 has been published (no signed versions for J2ME available quite yet, though). Release is for J2ME devices and Android.

    0.8 is a new features and maintenance release. Map version has changed from 0.7.7 published a year ago, but GpsMid can read old map versions too.

    The release is available at the Files section,

    The release candidate consists of

    a) Osm2GpsMid jar and debug version of it. The Osm2GpsMid jar is meant to run on the computer, and it will build the midlet to install on your J2ME-capable phone or an Android phone.

    b) .apk and .jar files which are readily-built bundles with a minimal map for Android and J2ME devices.

    External maps (e.g. built with Osm2GpsMid) or bundled maps should be installed for real use.

    The "What's new" document since the 0.7.7 release is quoted below.

    How to improve GpsMid

    If you want to help, what we request you to do

    * Please test GpsMid (releases and the nightly build snapshot) and report problems

    * Please improve the translations on the wiki page (1) if you can - it'd be nice to have good and as-complete-as-possible translations for the release, but every addition is one step forwards.

    * If you have bug reports or new feature requests, it's easiest for the development if you write them down in the bug & feature request trackers. (2) You can also check there whether someone else already has reported the bug or requested a feature. But it's also useful to comment on the forum if you don't feel comfortable with the trackers.

    More information

    (1) Translations wiki page:

    (2) Bug & feature request trackers

    The GpsMid Wiki is at - among other things it has documentation on Keyboard Layout, Touchscreen Layout and Setup Documentation.

    DeveloperInfo - wiki page which has some information about developers, planned releases, who's working on what, etc. is at

    What's new since 0.7.7 published a year ago

    GpsMid 0.8
        *** Map Performance ***
        - Zooming far out, panning around and zooming somewhere else in is now much faster.
          This is achieved by dropping requests for loading tiles that are off-screen
          or do not need to be rendered because zoomed to far out
        - Reorganized style-file for better performance when zoomed out
        - The map screen now updated more often during panning when dragging the touch screen.
          (not only after the ImageCollector class has finished drawing the map but every 1/3 s) (thx walter9)
        - Bug fix: The ImageCollector thread no more is started twice
          when a saved destination is restored at GpsMid startup (thx walter9)
        - small & smallish areas (like lakes) are no more rendered when zooming very far out
        - The number of not loaded tiles are displayed in the left upper corner,
          and a * sign after the number if the map is actually being rendered (thx walter9)
        - Names for area labels are now only resolved if there's any chance to render two letters of it
        - In Setup / Map Source you can now set "load names last" to get the map data loaded before the names are loaded
        - There's a new experimental option "Use BufferedInputstream" in Setup / Map Source
          that mostly speeds up map reading from directories (not from zip) and from the internal map,
          this also improves Routing Performance.
        *** Routing Performance ***
        - Fixes and improvements for mainstreet net. In motorcar transport mode
          this speeds up route calculation and reduces memory requirements for far distances.
        - Lower values for distance to mainstreet net speed up route calculation.
          It's now possible to put 1 into Setup/Routing as distance in km to Mainstreet Net,
          GpsMid will handle it if there's no Mainstreet Net within this distance
          at the route start or destination.
        - Default value for distance to mainstreet net in new midlets is now 2 km instead of 3.
        - adjustment to routing parameters for faster route calculation - routes
          should be as good as before, please report if you get worse routes than
        *** Map Display ***
        - Optional travel mode display (& setting on touch screen phones) on map
        - Fixed an error that prevented to load all route / map tiles of the Germany map from thju
        - The width of the line to the destination is now configurable in Display Options,
          default value is 2. (thx pos_ei_don for drawWideLine())
        - Additional backlight level 10% for Nokia and Android mobiles, so now there is 1%, 10%, 25%, 50%, 75%, 100%
        - Some workarounds (mainly useful for sea rendering) for map data overflows which can
          appear due to shortcomings of Osm2GpsMid
        - Map switch can now be done without restarting GpsMid
        - Accuracy of fix can be shown with GPS status and with a circle around GPS position
        - Number of satellites is show in some more cases also in NoFix situations.
        - New option in map features to draw ways not usable by the current travel mode darker
        - On new GpsMid installations on devices with a display height or width > 400
          the base zoom level is now 24 instead of 23 (map is zoomed once in).
        - New setting for altitude correction.
        - Option to use the GPS clock as clock source for on-map display
          (currently only NMEA-transmitting GPS devices give clock information)
        - Option to set a time difference in minutes between device time and display time
          (to work around platforms which for some reason give incorrect time
          e.g. due to deficiencies in JVM time zone code)
        - distances are now shown by default in km & m instead of just in meters
        - show map credits by default, credits are a clickable link to map / map licence info.
          Can be switched off in settings.
       *** Style-file ***
        - new attribute 'allowedForRoutableWays' in style-file.xml for configuring if a tile scale level is allowed
          to contain routable ways (default is "true"). If a tile scale level does not contain
          any routable ways, it e.g. does not have to be searched for route line creation which results in better performance.
        - small and smallish areas are stored based on their diameter in more appropriate tile levels
          (new parameter "attractAreasWithSmallerBoundsDiameterThan" in style-file)
        - support toll rules separately for each travel mode in
          Ways will still be rendered with toll decoration only if toll=yes or toll=true is set
          regardless of toll rules or current travel mode
        - experimental support for dashed areas
          add e.g. <lineStyle dashed = "true" /> for landuse/industrial in style-file)
        - added way types for tourism/zoo and for other tourism areas   
        *** Touchscreen ***
        - On the map screen long tap * to toggle track recording
        - During track recording long tap recorded trackpoints on the map screen to suspend/resume track recording
        - On the map screen long tap _ to manage track list, double tap _ to manage waypoints
        - On the map screen long tap on the compass direction to turn map North up and invalidate course for routing
        - Double tapping the wayname bar for searching removed because single tapping _ should be used for this
        *** User Interface ***
        - Received position SMS can now be pasted to DegLat in "Enter waypoint" dialog
        - Favorites can be optionally shown as routing targets in route icon menu.
          Favorites which don't fit in the first icon menu screen can be gotten to by
          vertical scroll (drag or cursor down) of the icon menu.
        - Clickable markers for POIs: URLs and phone numbers on map are now optionally touchable links which open the URL in a web browser,
          and with a long tap (or with a single tap if there's no URL) open a context menu
          (Here&Online). On keyboard-only phones, the same is achieved by either clicking
          the "fire button" or positioning the cursor marker inside a marker area and choosing Here&Online.
          The default style doesn't have any POIs defined as clickable, but map objects
          which have URL and/or POI information will be clickable, if map is built
          with url&phone support enabled. See the wiki documentation
          on how to modify the style file to add clickability to POI types and how to modify
          map creation .properties to enable url & phone storing in map.
        - Long tap on map now opens a context menu which now has nearby POI search in addition to the
          previously-existing online functions; also has options to route to and set as destination.
          Long tap on a clickable marker POI allows for opening POI url, phone or editing POI tags.
          On keyboard-only phones, the content menu is accessible as the Here&Online menu (formerly
          names as Online).
        - Optional split-screen mode, where map is in upper half of screen and icon menu is in lower half of screen.
          Useful for e.g. one-touch waypoint recording, routing etc. when the device screen size allows for it.
          Keyboard commands are current not handled for split-screen mode, so it's practically useful currently only
          for touch screen device users.
        - Time to change backlight level with keys 1 and 3 or zoom buttons on touch screens
          after toggling backlight has been increased to 5 seconds.
        - More icon sizes are included, you can now choose from "useIcons = small|true|big|large|huge" in the .properties file.
          useIcons=large and useIcons=huge make sense for devices with high resolution displays
        - Increased defaults for maximum search results in new midlets
        - If backlight method is known for the phone model backlight is turned on by default in new midlets.
        - In Waypoints dialog multiple waypoints can be chosen and selected "Display as outline"
          to just display an outline of the selected waypoints. This is helpful to temporarily render area
          outlines defined by waypoints. (This feature requires waypoints to be entered / imported
          in a sensible order for ouitline rendering)
        - New option in Setup / Here&Online to disable internet access during runtime
        - Help tab added to icon menu
        - Links to online help for touchscreen and GpsMid wiki in Online menu
        - Display & touch screen helper in help menu
        - settings don't use the icon menu by default on new installes; new option to enable
          icon menu for setup. On J2ME, copy the old setting from trace icon menu.
        *** Routing Usability ****
        - Optional big navigation icons for next two instructions including their distance in upper left corner
        - When turn restriction checking is on, take account also the driving direction
          in route calculation - in other words, when driving with car, don't assume we
          can start driving backwards without a u-turn or can just take a u-turn with no costs
        - The name of the motorway exit is shown in the route instruction
          if a "motorway junction" node exists at the motorway exit 
        - The route line is now rendered on top of POIs as well when the cursor is close to it
          because in regions with many POIs e.g. trees mapped next to the streets
          the route line became hardly visible
        - Optionally aim for shortest time or shortest distance
        - Optionally stop routing when we arrive at destination
        - On new GpsMid installations on devices with a display height or width > 400
          the minimum route line width is now 5 instead of 3.
        - Don't pause GpsMid (& close location producer) if we're routing
        - Fixed bug causing no route line at the end of the route and wrong instruction
          (reason: wrong closeby routeNode could be determined on the destination way)
        - More consistent color for u-turn big navigation icons
        - Footways are now non-accessible for bicycles if the way has no tag like bicycle=yes as well
        - Options to show or not show the big arrows or the small in-map arrows.
        - New option in Setup/Debug to show route calculation traces in map,
          connections requested from mainstreet net are drawn wider
        - area crossing lines are drawn wider
        - double tap or two-finger tap on distance field will trigger a route recalculation
        - long tap on distance now always asks for route (re)calc options
        - routing UI has been made more clear by making the formerly optional
          "optimize for routing" option non-optional ("always optimized for routing")
        - Osm2GpsMid does not create route data to route over barrier=* nodes anymore
          (permissive routeAccessRestriction rules from style-file.xml / will be respected)
        *** Search ***
        - The POI search distance is now configurable; default is 10 km. A high limit
          does not work in all areas, depending on number of map objects (tile size?).
        - bug fix to prevent POI search crashes which appeared more often on slow
          devices and less often on faster devices
        - heed max search count for POI search, bugfix for name search fencepost error
        - new menu entry to save result as a favorite
        - fulltext search now easily accessible on touch screen phones;
          the "*" key function moved to the cursor keyboard
        - eliminate delay in showing results
        - filter results (or most of them at least) when using qwerty keyboard
        - sort by distance is now the default for favorites
        - the state of sort by distance or sort by name is remembered separately for
          favorite search & map data search
        - fixed bug with sort by distance
        - If word search is set and map (since map version 72) doesn't have word indexes, fall back
          to full name search
        *** Osm2GpsMid / Osm2GpsMid GUI ***
        - Route destinations for the route corridor are saved in After loading
          a .properties file with route destinations you can press "Calculate Route Corridor"
          to (re-)generate the route corridor.
        - new tile size/count preset "even fewer and large map tiles" to generate maps for powerful mobiles
          while keeping the number of files in map data not very high. This might be useful for most
          Android devices but also to be able to install e.g. on Nokia 5800 very big jars (~200 MB)
        - new default for tile size/count in generated maps is now "average tile file size and count"
        - no more messages about invalid turn restriction if ways of the relation are tagged with access=no
        *** Sea generation ***
        - greatly faster sea generation algorithm with option useSeaTiles = true
          in .properties file. It divides the map into smallish areas
          which are processed one at a time, total time taken is a small fraction
          of the time taken without useSeaTiles and map data is smaller.
          There are however more map artifacts when using the option and shortcomings
          which lead to incorrect choices of land / sea are triggered more often
          when seatiles are used.
        *** Predefined waypoints ***
        - An option for predefined waypoints (entered via the icon menu) is now available.
          Currently the predefined waypoints are fixed in the program, in the future they
          will be user-settable. When a predefined waypoint icon is pressed, the named
          waypoint (possibly with extra info asked from user) will be saved as a waypoint
          and in the track if track is recording. Predefined waypoints which don't fit
          on one icon menu screen can be gotten to by vertical scroll (drag or cursor down)
           of the icon menu.
        *** Digital compass ***
        - Support for JSR179 Orientation class compass (e.g. Nokia C6-01)
        - Auto-switch between compass & movement now works even when previous setting was movement
        - Add option for rapid rotation (without this, rotation by compass happens whenever
          a GPS location is received)
        - Adjust compass deviation on portrait/landscape switch
        *** Tacho ***
        - HDOP is shown in tachometer
        - Tacho is shown as a kind of "computer-mode screen" at the same time with map when in split-screen mode
        *** Alerts ***
        - Generic alerts can now be defined in style file for visual & audible alerts
          on selected POI types. An alert is triggered whenever a POI with alert
          is drawn on the canvas (which is a bit bigger than the screen, meaning
          alerts will happen before POI is visible). Alerts for POI types are defined in
          style file, by adding
    <alert alert="true"/>
          after hideable flag (currently the last place in a POI entry). Alerts
          are switchable on & off in setup / sounds & alerts.
        *** Phone models ***
        - make photos work on Samsung Xcover B271 (and probably some other Samsungs too)
        - new .properties entry "addToManifest" to add a line to and .jad,
          e.g. MIDlet-Touch-Support:true to hide keyboard on Samsung Bada mobiles
          or  LGE-MIDlet-Display-Nav-Keypad:no on LG mobiles
        - new J2ME build target: Gpsmid-Generic-midsize with location API
          & bluetooth & file access support, but complicated search & multimedia turned off
          to keep memory footprint smaller
        - J2ME build target Gpsmid-Generic-editing renamed to GpsMid-Generic-full-connected
          to better describe what the target does. Backwards compatibility exists so even
          .properties files with GpsMid-Generic-editing will work.
        - made full-connected (same as previous "editing") be the default target (was full)
        - bigger base scale for >= 800 pixel resolution
        - tweak base scale limit for smaller devices
        *** Android Support ***
        - Android version is now part of the release, and the Android .apks are inside Osm2GpsMid
          for building bundled maps for Android
        - support for building bundled maps for Android now exists, see details about signing
          at end
        - a bundled .apk can now also be chosen as a map
        - New map format with outline areas for Android exists, using this requires
          if you compile GpsMid's source code yourself a small modification to J2MEPolish,
          see the wiki page mentioned at the end or README.txt in source.
          Primary motivation for this is performance, but in the future it can save
          map storage space, too. (Currently it only increases storage space as
          the old format is supported, too).
        - performance improvements for way drawing when area GpsMid was compiled with
          the area outlines option and street borders are switched off (this is the default on Android)
        - many stability, usability & performance improvements and a big bunch of bug fixes
        - targets now correspond to the J2ME build targets
        - multitouch two-finger rotate & pinch zoom
        - a bunch of bug fixes & UI improvements
        - photo support
        - update apk permissions to match what GpsMid requires
        - in routing choice added buttons for selection of route mode - no need to go through menu
        - huge icon menu images are used by default which makes the icons look much better
        - new option for backlight setting: Android WindowManager (KEEP_SCREEN_ON), with dimming
        - new Android native location provider which can be used instead of JSR179
        - reduced the number of build targets to simplify builds & distribution; different
          targets (2.1, 2.2, 2.3 etc.) can be uncommented in build.xml if needed
        - some minor adjustments due to upgrading to J2MEPolish 2.3, related to file dialogue
        - various UI improvements and fixes with back key handling
        - audio recording now works (n.b.: the location is currently always /sdcard directory)
        - first incomplete try at taking photos - the preview doesn't work yet, so user has to aim blind,
          and apparently the default preferences for picture quality are always not so good.
        - For easier support of sounds for routing by default WAV and AMR files
          are stored uncompressed in the map data as required for Android
          (.properties parameter default dontCompress = wav,amr)
        - back key now by default required twice for exiting GpsMid, the old
          behaviour of exiting with one press of back key is optional
        - eliminated delays for single tap on map controls when control has no double tap
          delay for single tap on map.
        - double tap is better recognized now
        - on multi-touch devices, two-finger tap works the same as double tap
        - showing GPS accuracy is now on by default
        - rotation by autoswitch (movement when can get a reliable rotation from moving,
          compass otherwise) is now default
        - the native keyboard is now shown in search screen by default (can be turned off)
        - if virtual keyboard is enable, entered text is shown above the keyboard
          (the text which would be on J2ME title)
        - Osm2GpsMid can now create unsigned and (depending on platform) signed .apk's
          - an .apk is produced if target name contains "android".
          - about signing: to be able to install this .apk into an
            Android device, you probably must sign it with jarsigner,
            to which there are multiple possibilities (the first two work only
            if your Java environment has a working jarsigner program available)
            * add signApk = true to .properties
            * command line, e.g.
              "jarsigner -digestalg SHA1 -sigalg MD5withRSA finland-0.7.76-map71.apk gpsmid"
            * use zipsigner, an android app to sign an apk in the device,
          - apks can be signed by Osm2GpsMid only if the platform has a correct jarsigner installed
            so it can can be accessed with a simple jarsigner call
          - it seems a GNU/Linux systems with java developer environment
            offers jarsigner so it works, on an OS belonging to the Microsoft Windows family
            jarsigner is not in the java runtime environment, but is included in the JDK.
            If signing with this jarsigner works is not successfully tested yet.
            No reports from other platforms yet.
        - for more info and instructions, see also
 which is also
          available from GpsMid's help menu
        *** Developer Map bundling tool ***
        - syntax changed for tools/

  • Jyrki Kuoppala
    Jyrki Kuoppala

    A quick to error in the announcement: "release candidate consist of" should've been "release consists of".

  • Jyrki Kuoppala
    Jyrki Kuoppala

    And a quick fix to the fix .. should have been "A quick fix to" :-)  I so wish we had editing.

  • Jyrki Kuoppala
    Jyrki Kuoppala

    Important ERRATA for users of keyboard-only phones

    There's a bug in 0.8 which prevents the icon menu from working, if internet access
    is disabled either by choice of the target (GpsMid version other than *full-connected)
    or from the user interface.

    You can work around the bug:

    * use only the full-connected or android-full-connected version if you have only a keyboard -only device
    * don't switch internet access off in GpsMid settings


    * if you use some other version than *full-connected, switch icon menu off _before_ upgrading to version 0.8
    * if you have alread installed 0.8, don't remove it, but installed either a nightly version or 0.7.7
      over it, then swithc icon menu off in settings / Gui settings.

    If on your device settings are lost at version upgrade, the latter workaround won't work for you.

  • john3voltas

    And a quick fix to the fix .. should have been "A quick fix to" :-)  I so wish we had editing.

    All you would need is a real forum instead of this pseudo-forum.
    I've installed forums many times and I must say that even for a complete noob like me it is pretty simple stuff to deal with.

  • john3voltas

    Darn, forgot to ask and I can't edit: is there any ETA on signed releases?

  • Jyrki Kuoppala
    Jyrki Kuoppala

    Also would need somewhere to install it on, and also upgrades from time to time.

    Anyone happen to know if the new SourceForge (Allura) has something better than this? Or maybe use github, don't remember their forum functionality however, but one nice thing they had at least earlier was git access to the wiki.

  • Jyrki Kuoppala
    Jyrki Kuoppala

    No ETA, but hopefully soon (a vague enough term I hope :-)

  • Markus Bäurle
    Markus Bäurle

    Hello everybody,

    I just uploaded the changed JAD files for the signed release.
    Jkpj didn't wait until I had a chance to sign the release (and quickly test it on my old phone) before making the files available and announcing that it was out.

    Please note that 0.8.2, which is hoped to be ready soon, may well be the last signed release as the certificate expires on September 20th and, given the feedback in the thread "Renewal of Midlet signing certificate" in this forum, I have decided not to renew it for the time being.
    There may be a free alternative for open source projects, also see the other thread. This has yet to be investigated.

    So long

  • Jyrki Kuoppala
    Jyrki Kuoppala

    Looks to me the open source project link didn't cover J2ME signing, just some other forms of java code, so I think it was a false lead.

    One thing which I will probably be looking into, is having something based on / derived from the GpsMid code base be available on Nokia Store as a signed version. It is however uncertain if that will happen and what the details will be if it happens, e.g. it is not clear to me if that will be usable on devices manufactured by someone else than Nokia. Some more details will probably be available in October.