New features and maintenance release 0.8 is planned to be published in the near future. Map version will change, but GpsMid can read old map versions too. (At some time support for oldest map versions will probably be dropped though, no definite plans when it will happen; support for 6 months .. 1 year old maps however is planned to be retained).
The release candidate for 0.8 is available for testing at http://gpsmid.sourceforge.net/nightlies/
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. (Not available at the time of writing this, but will be available shortly.) External maps (e.g. built with Osm2GpsMid) should be installed for real use.
Translations for new features are welcomed.
You can download one of the prebuilds (jars) to use as zip maps or you can build your own with Osm2GpsMid.
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.
(1) Translations wiki page: https://sourceforge.net/apps/mediawiki/gpsmid/index.php?title=I18n#Language_files
(2) Bug & feature request trackers https://sourceforge.net/tracker/?group_id=192084
The GpsMid Wiki is at https://sourceforge.net/apps/mediawiki/gpsmid/index.php?title=Main_Page - 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 https://sourceforge.net/apps/mediawiki/gpsmid/index.php?title=DeveloperInfo
*** 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 routemodes.inc.
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 / routeModes.inc 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 last.properties. 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
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 manifest.mf 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
- 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
https://sourceforge.net/apps/mediawiki/gpsmid/index.php?title=Android which is also
available from GpsMid's help menu
*** Developer Map bundling tool ***
- syntax changed for tools/bundlemap.sh
The J2ME midlets for the release candidate with "The Moomins and the Great Flood" minimal map are now available.
Now also the Android versions with the minimal map are there. In the Android universe, The Great Flood has withdrawn and the Moomintrolls are not under water.
Hi! (a bit off-topic)
I would like to translate it into German. However I am no professional sofzware engineer. May I only translate untranslated phrases in the Wiki or should I compare it to the original English file before I begin? But how can I do that (if its easy). The edesription in whte wiki is too complicated for me, I'm sorry.
Is it possible to usw localize (replacement of KBabel in KDE)?
Thanks for any hints. I would like to help you!
PS: Thanks for the RC!!
To be complete, you need to also look the English file, it's not enough to just do the untranslated ones from messages_de.
I don't think localize can be used.
A couple of choices
1) You can just translate the untranslated strings, and post e.g. here, and someone also will add to the wiki
2) Try visiting https://sourceforge.net/apps/mediawiki/gpsmid/index.php?title=I18n/messages_de&action=edit and then after that hopefully I can see you as a wiki user and give edit rights. Then you can again open https://sourceforge.net/apps/mediawiki/gpsmid/index.php?title=I18n/messages_de&action=edit and edit - just type the translations, and press "Save Page".
Only the first (longest) section needs translation.
OK, I visitied the wiki.
How do i find new phrases? May I copy&/paste them into German file and translate them? I suppose yes, but I don't want to destroy anything.
OK, I now gave you edit rights.
Yes, you can copy & paste them into the German wiki page. At least the end part of the English phrases probably are missing from the German file if the translation hasn't been kept up to date. Otherwise it may be a bit hard to find untranslated strings. Once you have translated everything you can find out, ask me again and I can probably find the rest for you by some sort & diff sript running.
Don't worry too much about making mistakes in editing - wiki keeps history, so if you suspect you've destroyed something, you can look at the page history to see what you changed, and also restore old versions.
Oh, and when you edit, it's good to keep the strings in the same order as in the English file, to easier be able to see what's untranslated.
Cool thanks. I first translated some old untranslated phrases and then imported new phrases from the english file. I will go on translating the next days.
But what I cannot know: did some old phrases in the original english file change? E. g. better explanation what is meant and so on? I it somehow possible to see that? Because I should adapt these changes in the translation.
"But what I cannot know: did some old phrases in the original english file change? E. g. better explanation what is meant and so on? I it somehow possible to see that? Because I should adapt these changes in the translation."
Those are nearly impossible to catch, and that's why in my viewpoint the correct way for that is that the meaning any English phrases shouldn't be changed without changing the phrase label. I think we've also practiced that, so there shouldn't be those kinds of strings.
It would well be possible to add new strings from the English file, with the help of Excel and the vlookup formula.
Had done this several years ago but don't have the files anymore.
Always hoped there would be some automation for this with Linux commands some day.
How the Excel solution worked:
- Import messages.txt and messages_de.txt into different sheets
- Put the identifier "e.g. GuiSearch.display" into the first column, the value into the second column (using field separator "=" in both sheets
- In the English sheet put in the third column a vlookup formula retrieving the value for the identifier from the German sheet, or some error if not there ( =VLOOKUP(A1,sheet2!A:B,2,false) )
- add a 4th column either using the value from the 3rd column, or if there's some error from the second column (English value)
- add a fifth column which concatenates the A and the B column with a simple formula ( =A1 & "=" & B1 )
- copy the fifth column to the wiki
The great thing about this is that it would also allow to re-sort the English messages.txt.
Would probably work with LibreOffice's Calc as well but would be better to have this as Linux script.
"Would probably work with LibreOffice's Calc as well but would be better to have
this as Linux script"
@sk750, I'm not quite sure what you're after, what the script should do - just list the strings which exist in the English file, but which don't exist in some other file? Sounds like a simple job for an awk associative array.
But when would the script be run, and what would be done with the output, and who would do it?
Perhaps run such a script at the time of building the nightlies, but what to do with the results? I don't think we have an automatic way to update the wiki.
One option would be to add the resulting "missing translations" lists into git, and have the "grab i18n strings from wiki" (which I run manually from time to time, when I see there are updates to translations) update the missing translations lists. Then add links to the wiki to the files in git (the git web ui).
Let's explain for German transalations, others work accordingly:
The script would use messages.txt as a base, and replace each value for that is a translation in messages_de.txt from the wiki is available.
The result would be what is needed as the new messages_de.txt - containing the available German translations and English texts for untranslated strings.
This new messages_de.txt could be uploaded to the wiki for the users to translate.
Could probably be done regularily in a cron job or something, just like the nightlies.
As I said, I don't think we have a way to automatically write to the wiki.
IIRC github offers git access to files in the github wiki, would be use to do there.
If not, push the generated files to git to a folder called wiki templates and ask translators to copy the files from git to the wiki.
Saw you enabled travel mode display by default after the release candidate -
but this item will not fit on every display when routing.
Therefore we already have this as a resolution dependent default setting.
Thanks, reverted - I had a faint recollection this might be automatically enabled already, but when I looked it up, I didn't find it in Configuration.java, so I thought I misremembered. We should move the init stuff from Trace to Configuration, but that'll wait until after the release.
Agreed, but it will need to be called from Trace, because we need the info about the display size from Trace.
It's been three days now from the release candidate, so the minimum period for making a release has gone by.
A bunch of bugs in the release candidate have been noticed and fixed.
The git commits after the release candidate have been markedly different from a couple of previous ones. With the earlier ones, we continued to put in new features, and there were few if any bug fixes to the relase candidate. With this one, there haven't been new features, just bug fixes. The nightly has been there for testing with the bug fixes included.
In this situation, my judgement is that none of the bug fixes look risky, and we could do the release with current git without a new release candidate. To be on the safe side, probably a good idea to wait a day or two after the last bug fix commit to see if anything else shows up or of the fixes cause something unexpected. With this, time for the release could be as early as today evening or tomorrow.
Please continue testing and reporting problems.
.. and a big thanks to everyone who's participated in testing & bug fixing & translations! Also further translation fixes are very welcome, must put the Russian typofixes in before release, and can put also other new translations & fixes if provided.
Log in to post a comment.