TrailRunner 3.0 -- Improvements on the way

A quick overview on that has changed in TrailRunner 3.0:

Reworked UI and wording
To better meet the vocabulary being used in other applications, TrailRunner will no longer speak about workouts but activities.
Also activities, routes and your network of tracks are displayed in a better UI.



All application modes now come with their own dedicated toolbar at the bottom end of the window making the UI much more clearer.

New Network of tracks editor
The new editor makes managing your network of tracks much easier. Drag selection and shift click extent selection lets you select more than one element
Operations on the action toolbar give you the toolset to effectively remove duplicate tracks and waypoints.
A list of modified tracks on the left helps you in finding out what was newly added to your network and may contain duplications to be merged into your network of tracks.



WayPoint Perimeters
As you know, tracks can be spitted by a waypoint nearby. In previous versions of TrailRunner the maximum distance from a way-point to track to make this happen was a fixed value of 10 meters.
In the new network of tracks editor, you now see this perimeter range around selected waypoints and you can drag the border to extend the range.
This is especially useful when you have locations where great chaos lies within because many routes start and end somewhere around this spot. Now you can just increase the perimeter of one representative for this location and TrailRunner will then be able to better consolidate new elements within this area.

Better OpenStreetMap Source
Changed the Background Map to CloudMade openStreetMap Fine Line with a contour overlay.
To effectively reload all map tiles, remove the Library/Caches/TrailRunner/GeoTiles/openstreetmap.org folder

Improved Integration with EveryTrail
The community routes browser and importer now supports an improved API version for finding routes nearby on everytrail.com. Additionally TrailRunner hilights not only the location of routes nearby but also displays the tracks. So you now easily can view what courses the routes have.

Improved Diary
The diary window now displays a map and more statistical information on the selected activity.



Simplified process of localization
Over the years, the number of strings requiring localization grew to a huge number. A new database based application now helps localizers manage and update the localizations with a very easy interface that also contains a ToDo list and automatic pre-translation provided by translate.google.com
If you would like to help out with an updated or even new localization, please contact me.



QuickGuide for TrailRunner 3.0
The QuickGuide shows you all main features of the application. Great for testing everything out:
> QuickGuide

Tracks, Trails, Routes, Workouts, Laps, Courses, WTF

„TrailRunner is powerful but at the same time can be confusing for first time users.”
This is what I hear from many users. The typical learning curve goes from prejudices on how things should work to misunderstandings on what is actually going on to understanding and loving TrailRunner or bailing out for something else.

This all rotates around the difference between a track, workout, diary entry, route and the network of tracks.
And to be honest, I know this problem and I am constantly trying to make things easier to understand.
In fact TrailRunner is three applications in one. TrailRunner is
- an activity journal
- a mapping application to maintain a network of tracks
- a route planning application

So whenever you import something into TrailRunner, your intentions might go into either direction. And interestingly this even shifts over time — as new users with new devices stumble upon TrailRunner.

Probably the following "glossary" might help understanding what TrailRunner is about and what the application can do for you — whenever you drop data into it:

Track
A track is a list of geographic points with GPS coordinates. Within the real world a track describes the path from e.g. one sign-post of a hiking trail to the next. Each sign-post representing a crossing that connects to other tracks. Within the context of such a way or street, a track contains no timing or heartrate information. It's only where, not when and how.

Network of Tracks
One big feature in TrailRunner is to build and maintain a network of tracks. That is much like the lines of streets, roads, ways, trails and pathes printed on maps. The difference is that your network of tracks is your personal collection. A collection that represents the paths you actually run or cycle on, masking everything else out that you dislike or haven't strolled along yet.

Route
Within this network of tracks you have routes. A route is more or less a sequence of tracks. One important thing is that within a route, if you go back and forth a track, this track is part of the route twice. This is the most problematic part as simple GPS recordings never have this kind of conceptual differentiation. So I reject the idea that a route and a track should be the same thing. They could appear as — in the degenerate case where a route is being made of one track being used only once within the route. But that is just a special case — although typical in activity tracking applications that just import GPS data points and visualize them.

Workout
The biggest similarity between what others call a track is what I call in TrailRunner a workout. Garmin calls this an activity but I dislike this term as it fits better to being a diary entry. But back to the difference between tracks and workouts: If a recording contains data points with values like heart-rate, cadence and calories, it's not a track. It's a sequence of training session data-points and therefore it is a workout. For this reason TrailRunner generally distinguishes between routes and workouts. Routes belong to geographic data, workouts belong to performance over time or distance. A workout and a route can be connected to each other if they follow the same geographic course, but must not.
TrailRunner even offers features to merge a workout with the course of a route. That's important for training devices that can track distances but not GPS locations (e.g. the Apple Nike+ iPod Sensor)

Summary: The different faces of a track
To sum this all up, a track can have the following faces:
If the track contains a series of geographic points without timing information, then it's a track within your network of tracks.
If the track contains additional timing information, then it's the course of a route containing the single track or a sequence of tracks.
If the track contains timing information and values like heartrate, cadence etc., then it's a workout.

Import of a track
Whenever you import a track into TrailRunner, the importer shows you the course of the track in the map part of the main window. Then in the lower part of the importer you can decide if the workout face of the track should be attached to a new diary entry.
Then below that you have options to add a route to your list of routes that is based on the course face of the track. If you choose the option to import as one piece then one long track is added to your network of tracks along with a new route that contains this single track as it's course. If you choose any of the other options, TrailRunner will merge the track into the network of tracks, splitting the track into smaller tracks and joining all similar sub-tracks with existing tracks. One important fact now is that the resulting route will be made of a sequence of tracks that describe the almost identical course as the original recording but complementing your network of tracks.

But most importand of all is: your imported track can go a split way. If you choose the diary and the merge way, you actually have two items deriving from one source but being independent after the import:
- The workout became an immutable one-time recording being stored in the diary.
- The route and your extensions to your network of tracks are mutable.
On tracks you can apply operations like move, split and join affecting the routes that use these within their sequence.
On routes you can change the sequence of tracks they should follow during their course.
But in the end you can create and modify routes to match your plans and use an exported course as a basis for your orientation — while taking your gear out and burning some calories. What you then record can be imported as a new workout into TrailRunner.

Map
To complement this all, a map within TrailRunner is just pixels. A background image you see beneath your network of tracks and a hint for your orientation and manual creation of new tracks. The lines drawn on a map are not part of your network of tracks unless you add them by re-drawing them using the track-tool or by adding GPS recordings that followed the same geographic course of the "line".
The only difference comes with openStreetMap. The openStreetMap map source is a pixel representation of the openStreetMap track network. For this reason it is recommended that when you are using openStreetMap for routing (streets tab) you should also use the openStreetMap map source as your backound maps. As both then perfectly match.

Further Reading
After reading the above, please revisit the following tutorials.
> About TrailRunner feature slide-show
> Import and Edit Tracks Tutorial
> Mastering Track Merge Tutorial

If you still have questions, remarks or suggestions — I do listen! Just write me. Either here, in the forum, on twitter or classic email.

TrailRunner 1.9 - Work in Progress

I got a bit quiet on the support front because I am very busy with TrailRunner 1.9
Within this release I am re-factoring a lot of very old code to have a better migration path to 2.0 and later releases. Currently in the works:



Route and Network Merge -- This now really works. The most complex part of TrailRunner is now much faster and supports full undo for all operations.

Intermediate Tracks -- Already introduced in 1.8 the algorithm is now capable to merge tracks and calculate an intermediate path. This is being done weighted meaning the more often you run a track course and intermediate-merge the recordings, the more accurate the elevation profile will get over time.

Other parts I am working on are still hidden or unused so nothing to talk about at the moment.

In case you would like to become a beta tester, please subscribe to MacDeveloper.net (see post below) I’ll post a first release soon.

Happy Christmas and enjoy the holidays.
- berbie.