Tag Archives: 2.0

2.0.0

After over a year of development, MyTrails 2 is finally ready for general release. There are a lot more changes than can be documented in the normal style of release notes, and most areas of MyTrails have been upgraded or are completely new.

Updated look

From the transparent action and status bars, to the slide-out navigation menu, to the new track manager, MyTrails uses the latest in Android interface elements.

The slide-out navigation menu: quick access to all features

The slide-out navigation menu: quick access to all features

Transparent status, action and nav bars blend seamlessly into the map

Transparent status, action and nav bars blend seamlessly into the map

Stats

MyTrails is now able to display in real-time more than 40 stats about your saved tracks and the current recording. From much-requested stats like cumulative climb to obscure ones like average slope during a descent, you can quantify many aspects of your tracks. And these stats can be displayed for multiple recordings in parallel.

You can select any of these stats (up to 5) to display in the HUD on the main map view.

Create your own dashboard

Create your own dashboard

Over 40 available metrics

Over 40 available metrics

Graphs

While stats provide a synthetic view of many variables, graphs give you a better view of how these variables evolve over time. And again, you can compare saved tracks against your current recording.

Select the tracks and axes freely

Select the tracks and axes freely

Track manager

The new track manager makes it easier to visualize your tracks without necessarily activating them: view general information, stats and graphs, and even the shape of the track, or multiple selected tracks.

Download, share, upload multiple tracks at once, and much more!

Organize your tracks, upload, download, etc.

Organize your tracks, upload, download, etc.

A 4-pane view of the track's graph, stats, properties and map

A 4-pane view of the track’s graph, stats, properties and map

Altimeter

MyTrails can now use your device’s pressure sensor, which can be much more accurate than the altitude provided by the GPS. For the most accurate results, you can calibrate it manually, or just let MyTrails auto-calibrate.

Manual or automatic calibration

Manual or automatic calibration

Minimum version

Since one of the principles of MyTrails has been to provide good performance even on basic hardware, I have supported old versions of Android for a lot longer than I should have. MyTrails 2 only supports Android 2.3 and later.

I will continue to update MyTrails 1.4 occasionally for bug-fixes and map compatibility, but all new features will only be available in MyTrails 2.

Gallery


MyTrails 2 is finally in beta

MyTrails 2 has been available as a preview alpha since April, but feature creep and ongoing support and enhancements for MyTrails 1 have delayed the launch of the new shiny version.

But now, it should be available to the roughly one thousand beta testers, and I will fix the remaining bugs that will not doubt be uncovered. I hope to launch it for everyone in about a week.

HUD font popularity contest

HUD fonts

Before launch, I will trim the number of built-in fonts that MyTrails can use for the stats and HUD. To this end, I have gathered stats on the popularity of the possible HUD fonts (the first bar represents the default Android font). These stats only include users who bothered to change the font from the default (which is ‘digital’).

I’ll wait a bit more so that results start coming in from the beta, so if you feel strongly about one of the fonts, make sure you select it in MyTrails > Stats (and the eye icon).

Hud font popularity

Altimeter in MyTrails 2

In the past, I have resisted using the barometric pressure sensor present in most recent high-end phones for a variety of reasons:

  • there is no high-level Android API to reliably get altitude information (in particular I would have expected an API that processes data from all available sensors to mitigate the inaccuracy and drift of each)
  • without such an API, a manual calibration is required, which is intrusive (especially since it needs to be repeated at regular intervals)

I have finally let myself be convinced that the GPS altitude is a poor substitute (because it’s noisy and imprecise) for an altimeter, and I have done my best to make the calibration process as unobtrusive as possible.

If your device has a barometric pressure sensor, it will automatically try to record your pressure-derived altitude. Once the GPS has a fix, MyTrails will try to get sensible defaults to help calibrate the altimeter: it looks up the ambient temperature and altitude from an online service if you are connected, or it uses the GPS altitude and temperature from your phone if it has one.

It then creates a notification to ask you to perform the calibration; you don’t have to do it immediately, so you can wait until you reach an altitude sign or a reference altitude on the map. You can tweak the values (temperature is not too important) and calibrate. MyTrails will use the calibration to set altitudes based on already-recorded pressure data, and use until the next time you calibrate (MyTrails will remind you to update the calibration at regular intervals).

New stats have been added (and can be shown on the HUD), and the altimeter-derived altitude can be graphed.

I need to tweak how altitudes are stored in exported GPX, and used for calculations and colorization, so that when the altimeter is used when it is calibrated, but the GPS is used as a backup.

Calibrating the altimeter

Calibrating the altimeter

MyTrails 2: transparent system UI

In a continued effort to make the map the most important part of MyTrails, I’ve started experimenting with a transparent action bar, and on Kitkat a transparent status and navigation bar.

I need to tweak it a bit more, and refresh the HUD, but so far I like it a lot!

With physical buttons

With a navigation bar (no physical buttons)

With a navigation bar (no physical buttons)

With physical buttons

MyTrails 2: Navigation drawer or drop-down navigation?

I’ve been experimenting with the navigation drawer that many apps are implementing, and I wanted to get some feedback.

Which do you prefer:

Drop-down navigation Navigation drawer
Drop-down navigation Navigation drawer

Pros and cons:

  • the drawer allows me to add more than just navigation: help icons, etc.
  • the drawer animation doesn’t work over OpenGL views, so I’ll have to disable the animations; it’ll be a bit abrupt
  • the drop-down navigation is more discoverable to users who haven’t been exposed to the drawer much (or who have only used it with swipe gestures)

Please use the comments to voice your opinion and suggestions.

Update: I’ve released an update to the alpha/preview with the new navigation, and the ability to toggle between the drop-down and nav-drawer style): use the toggle nav mode hidden option to alternate between the two. I’ve also added icons (5 icons are as much work to me as some features…).

MyTrails 2 Preview

MyTrails 2 is finally ready for preview!

What’s new?

The headline features in this upcoming version are stats and graphs, which I have previously teased. The track manager has also been completely rewritten and the main parts of the UI have been transitioned to a Holo UI.

Stats

MyTrails now has what is probably the most complete stats functionality of any smartphone-based navigation app. Not only can you choose among a very large selection of variables, but you can also display stats for multiple tracks, with the UI scaling to display as much information as possible within the available space.

To select other stats or reorder them, tap the Edit (pencil) button. You can select a different font by tapping the eye button. Please let me know your preferences.

Long-tap a stat to add it to the HUD (maximum 3); highlighted stats are displayed in the HUD.

Stats

Graphs

Graphs can be displayed for multiple tracks simultaneously, and they are updated in real-time. You can choose from a wide variety of variables to plot.

You can use pinch-zooming to zoom in on the graph, and then pan.

Graphs

New Track manager

The track manager makes it easier to find tracks by searching and sorting. Tap and hold on a track to select multiple tracks, so you can (for example) upload multiple tracks at once.

Tap on a track for details about that track; swipe among 4 views: track details, map view, stats and graph.

On tablets, the detail of the track(s) is displayed next to the list of tracks.

On the main map view, tap on a track (except the current recording) to see details about that track.

New track manager

Limitations of the alpha

The following are known bugs or limitations, please don’t report them:

  • some stats do not update in the HUD when the GPS is not recording (fixed in a10)
  • # satellites stat doesn’t update correctly (fixed in a10)
  • reordering stats (by tap-and-hold) is odd, and makes it hard to get the desired order (fixed in a9, there is a completely different mechanism for reordering and selecting stats)
  • the new features are enabled for all users (Pro and non-Pro), except for the fact that in non-Pro mode only one track can be displayed; this will probably change before the final release
  • pinch-zooming on a graph doesn’t work with a vertical gesture, use a horizontal pinch (fixed in a9)
  • text on the graph is displayed very small on high-density screens (fixed in a3)
  • in the Track Manager, attempting to save multiple tracks at once only saves the first one (fixed in a9)
  • in the behavior preferences, choosing a folder (for offline maps) doesn’t do anything, and the corresponding button in the offline downloader is also non-functional (fixed in a9)
  • most translations (including French) are very incomplete when it comes to the new features
  • some sort orders can not be reversed
  • the keyboard pops up inopportunely in the track manager (fixed in a3)
  • there is no option to load all tracks in a folder yet (fixed in a9)

What you should report

In order of decreasing importance:

  1. Any crashing bug, or any loss of data
  2. incorrect statistics (there are so many, I haven’t been able to thouroughly test them all yet)
  3. missing features and graphical glitches

How to install

First option: side-by-side with MyTrails 1

This is the safest option, as you can continue to use MyTrails 1 for your day-to-day activities if you find MyTrails 2 to miss some essential feature, or if you’re afraid it’s not production-quality (this option only recently became available, based on Android’s new build system).

Just download the preview version here.

Drawbacks:

  • your two versions of MyTrails are separate: different preferences and loaded tracks, etc. You can load in both the tracks you save in either, but that is a manual process
  • once you have a second instance of MyTrails installed, you can no longer sign in to Dropbox (unless you use a tool to freeze one of the instances so you can log in to the other; you only need to do this once); recent versions of Dropbox crash if you try to authorize MyTrails when the 1.x and 2.x versions are installed side-by-side.
  • I have not enabled in-app purchases on the preview, so you can’t purchase maps or the Pro version from it (it will let you try, but you will get an error message); just connect to your Google or FrogSparks account from both apps and make any purchases from MyTrails 1

Second option: use the Play Store alpha track

This is a true alpha version: do not rely on it for important track recordings! I would strongly discourage installing this alpha without first making and securing a backup of MyTrails with Titanium Backup or a similar tool: it’s entirely possible that the alpha will mess up the list of tracks (not the GPX files themselves) and the rest of your MyTrails settings.

  • Even you are already a member of the MyTrails Google+ community, you need to join the MyTrails 2.0 alpha community.
  • Then click on this link and click Become a tester. I believe you will need to do this even if you are already part of the beta testing (for MyTrails 1.4.x).

Once this is done, the Play Store will offer to update MyTrails the next time it checks for updates. It unfortunately doesn’t specify which version it’s downloading, but when you launch MyTrails the version log will tell you what’s changed.

Please note that MyTrails 2 will only be available for Android 2.2 (Froyo) and later. MyTrails 1.4.x will continue to be updated with bug fixes and new maps, but little else.

If you encounter a crash, please provide your email address in the crash comment and make sure you send the crash report.

How to leave the alpha test

Click on this link and click Leave the test, or leave the MyTrails 2.0 alpha community (use the second option if you want to stay on the beta track). This in itself will not roll back MyTrails to the latest released version, you will need to do that yourself.

Look at the instructions in the FAQ for leaving the beta for details on how to backup, uninstall and reinstall MyTrails.

MyTrails 2: Stats

One of the major new features in MyTrails 2.0 (not yet released) is support for statistics.

In MyTrails, statistics are fully dynamic and they work with multiple tracks, so if you have multiple tracks loaded, you will be able to compare the stats for each of the tracks that supports that statistic. The first three statistics will be shown in the HUD.

Here’s the list of stats we’re currently planning to support:

  • Target
    • Heading to target
    • Distance to target
    • Time to target
    • Target altitude
    • Altitude Δ to target
  • Altitude
    • Min altitude
    • Max altitude
    • Current alt.
    • Altitude Δ
    • Cumulative climb
    • Cumulative descent
  • Speed
    • Current speed
    • Recent speed
    • Max speed
    • Average speed
  • Speed (computed)
    • Avg. speed (total)
    • Avg. speed (recording)
    • Avg. speed (moving)
    • Current speed (computed)
    • Recent speed (computed)
    • Max speed (computed)
  • Duration
    • Total duration
    • Recording duration
    • Moving duration
    • Start time
    • Current time
  • Distance
    • Distance
  • Vertical speed
    • Current vertical speed
    • Max vertical speed (+)
    • Max vertical speed (-)
    • Avg vertical speed
  • Slope
    • Current slope</string>
    • Maximum slope (+)
    • Maximum slope (-)
    • Average slope
  • Track points
    • # track points
    • # track waypoints
    • # pauses
  • GPS and compass
    • GPS Accuracy (horizontal)
    • GPS Accuracy (vertical)
    • GPS # satellites
    • Compass bearing
    • GPS bearing

If you think this list is missing something, please don’t hesitate to point it out in the comments!

A few screenshots…

MyTrails 2.0 progress

For the past couple of months, development of MyTrails 1.3 has slowed down (though not quite as much as I'd hoped), while I attempted to concentrate on MyTrails 2.0.

The main goals of 2.0 are a full UI redesign of the supporting screens (the map display in 1.3 has continued to evolve, but the supporting screens (Map Manager, Track Manager, etc.) have remained mired in Android 1.6 looks and style of interaction). I'm finally able to share some screenshots of the result of that effort. It's not done by a long shot, but it's coming along nicely.

Here are a couple of screenshots of the Track Manager:

Several tracks shown in Track Manager. In landscape view, this displays the tracks on a map.

Several tracks shown in Track Manager. In landscape view, this displays the tracks on a map.

Track manager with track details. You can swipe to view the track on top of the map. I'll also be adding more track statistics and the track profile.

Track manager with track details. You can swipe to view the track on top of the map. I’ll also be adding more track statistics and the track profile.

And the Graphs screen:

Track profiles. The yellow track is being recorded and is updated in real-time.

Track profiles. The yellow track is being recorded and is updated in real-time.

Let me know what you think… I'm hoping to be able to release by mid-June.