Activity Workshop
 

Prune development

Prune is available to download from the downloads page, with the latest released version being version 7. Details of the development of version 8 will be given here as it progresses.

Don't forget, any help with the translations is always very welcome! Please see the translation wiki for details on how to help with this.

Features for version 8

Here is the list of possible enhancements and extra features under discussion for version 8:

The idea of maintaining a "library" of previously-loaded tracks to find nearby data etc, and the idea of including data from alpin-koordinaten.de have both been shelved for now. Maybe they'll make it into a future release.

Progress

Find function

Firstly there's a new "Find waypoint" function, letting you search (case-insensitively) for strings in any waypoint names. A screengrab is shown to the right. Note that it finds names which include the string anywhere in the name, not just at the beginning.

Secondly, work is ongoing to see if reference coordinates from alpin-koordinaten.de could be included with Prune version 8. This would allow reference waypoints like major peaks to be shown alongside the loaded track. At the moment the large number of duplicates and data inconsistencies are causing some problems. Maybe we can use a set of coordinates (eg from mountain summits) out of wikipedia, as they appear more reliable. Or maybe it's not necessary if users are mostly online and have access to the OSM maps anyway. In the meantime, you can load KMZ files like the "top 100 prominences" list (see the KMZ index) which might be a better way of holding such reference data. Then you can just load the files you want rather than including unwanted coordinates in the Prune jar itself.

Next, a bug has been found with the loading functions, so column separators of "*" and "." don't work with the released version of Prune. This has been fixed for version 8, but it seems unlikely to affect most users.

On the usability front, the accelerator keys have been fixed for the menus, so you can type "Alt-F" for example to open the File menu from the keyboard. But this has been made language-sensitive, so for German the shortcut is "Alt-D" for "Datei". You can see this in this screenshot where the accelerator keys are underlined in the menu headings:

Shortcut keys

Similarly, shortcuts have been made for commonly-used functions like "Open file", so they can be activated with a single key (Ctrl-O). This is also language-sensitive so in Spanish that would be Ctrl-A for Abrir.

There is also now a function to fetch a list of tracks from gpsies.com which fall within the currently viewed area. For each track you get some brief details, and then a link appears to view the whole track details at gpsies.com. It can also show the description of the track, and then load the KMZ directly from the gpsies.com website straight into Prune. Maybe Prune will also be able to upload tracks to gpsies, we're currently working out a way to do that.

Lastly, Prune can now open NMEA files directly, straight from the File->Open dialog. It would be really useful if users could email examples of their NMEA files in order to test the parsing and make sure it works for all users. I'm guessing that different units or different programs store the NMEA messages in slightly different ways so please send examples!

Chinese language support has been added, big thanks to Sam Chen for all the hard work! See this screenshot for an example of how it looks. Chinese users can now download the language file (from the download page) and use it with Prune 7. Obviously all the texts will be bundled with Prune 8 when it's ready.

Otherwise most of the recent changes have been small fixes and enhancements, like exporting the altitudes in Kml/Kmz files but specifying "clampToGround" (Prune 7 exports 0 altitude in this case), fixing problems with photo selection and cut/move operations, and allowing the choice of whether to save particular point types (track points, waypoints, photo points) on all save and export functions.

The latest addition has been a function to save the configuration to file, so all the manual hassle described on the configuration page can be avoided by simply asking Prune to save whatever are the current configuration settings. So there's no extra config dialog, it just saves the settings which have been entered elsewhere (eg file directories, GPS device name and so on).

Afrikaans has been suggested for a forthcoming translation effort, hopefully we'll have a start on this for Prune 8.

Credits

The following credits also appear in the "About" screen of the Prune application, but it's worth repeating here - grateful thanks to all those who have helped contribute so far, by whatever means!

Prune code written by :activityworkshop.net
Exif code written by :Drew Noakes (drewnoakes.com)
Some icons taken from :Eclipse
Translators :Ramon (ch), Miguel (es), Inés (es), Piotr (pl), Petrovsk (fr), Josatoc (it), weehal (pl), theYinYeti (fr), Rothermographer (ro), Sam (zh), Rudolph (af)
Technical feedback :Piotr, freegeographytools, Rudolf, Steven, Jose
Mac know-how :Tyme, Daniel, Michael
Translations helped by :Open Office, Gpsdrive, Babelfish, Leo, Launchpad
Development tools :Mandriva Linux, Sun Java, Eclipse, Svn, Gimp, findbugs
Other tools :Garble, Gpsbabel, Kate, Povray, Exiftool, Inkscape, Google Earth, Gnuplot
Thanks to :Friends and loved ones, for encouragement and support

C++/Qt rewrite

screengrab of Qt prototype

This is more of a longer-term idea, to see if it would be possible to port the Prune code over to a C++/Qt implementation. That way it would be compiled into native, completely free code, and wouldn't need an extra jre to run. Plus the Mandriva team have offered to package it and maintain it in the official Mandriva repositories, making the download and install just a single command. Which would be very cool.

Of course it's still extremely early days on this, and so far there's only a little basic prototype which doesn't actually do anything yet. A laughably simple screenshot is shown here:

All it really demonstrates is the compilation into a GUI application, basic layout including menus and toolbar, and basic internationalization.

As an additional thought, maybe such an effort could use Python and Qt instead of C++ - although obviously such an undertaking would require a lot of effort to rework and redevelop the code and at the moment there's little incentive to start again.