Author Archives: frogsparks

2.0.1-2.0.2

  • Android Wear support!
  • Android L adjustments
  • Bug fixes (in particular, problem in Preferences on Gingerbread)
  • More options for flexible URL map definitions

Note: 2.0.1 was only published to the beta channel.

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

Updated OS Opendata map

I’ve just updated the OS Opendata map data based on a new version created by John Thorn.

This new version contains improved data from Ordnance Survey and OSM, and features a more readable and colourful style.

Here’s a quick side-by-side comparison:

Left: old; Right: new

Left: old; Right: new

To use the new data for online maps, you can clear your cache in MyTrails > Preferences > Map Manager, then long-tap the OS Opendata map and select Clear cache.

If you have downloaded the map for offline use, you can delete the old map and create a new download.

MyTrails Pro (1 year) is free today with AppGratis

Today (May 16th) MyTrails is AppGratis‘ free app of the day, so installing MyTrails for the first time with the AppGratis application will activate MyTrails Pro for one year (MyTrails has to be run at least once during the promo period).

The promo blurb in AppGratis

The promo blurb in AppGratis

This will work only for new users, so what about faithful existing users, or users in countries that App of the Day does not cover? You can use the following trick:

Use the simulate referrer appgratis hidden option to activate the promo (make sure to enter that string exactly: no extra spaces, no capitalization, etc.)

Follow these simple steps

Follow these simple steps

You have to do this before the promo ends (late on May 16th).

If you have already used another similar promo for MyTrails, please note they can’t be combined (even if MyTrails accepts the new promo code).

Update: the promo has been extended until May 25th to give users who were unable to activate it to do so.

1.4.7

  • Updated Mapquest map
  • Force MyTrails to quit in a timely manner, even if Android wants to wait a bit
  • Removed halo around outlines (in HUD, scale, etc.)
  • Slight increase in map rendering speed

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

How can I use my external SD card for offline maps?

One of the new “features” of Android 4.4 (KitKat) is that applications can no longer use the external SD card as a generic storage volume and read/write everywhere. There are valid security reasons for the change, but the way Google has done this breaks many apps and doesn’t provide a clear way to do things right for application developers.

In the case of MyTrails, it means that if you want to store your offline maps on your external SD card, you’ll have to jump through a few hoops:

  • If your device is rooted, you can use a free app like SDFix to revert to a fully-writable SD card
  • If your device is not rooted, there is only one folder that MyTrails can write to on the external SD card: /storage/sdcard1/Android/data/com.frogsparks.mytrails (this path may be slightly different if you’re using the preview version of MyTrails, or your device mounts the SD card to a different location within /storage; some devices use /storage/extSdCard/)

Please note the following caveats (if your device is not rooted):

  • you can not share the same offline maps between the official and preview versions of MyTrails
  • if you uninstall MyTrails, your offline maps will be deleted (this is by design, part of the reason Google make this change in KitKat), unless you use a privileged file manager (one that comes as part of your device’s default software) to move them beforehand

On recent versions of Android, even the internal storage may no longer be accessible to MyTrails. One location that should always be available is /sdcard/Android/data/com.frogsparks.mytrails. This is the offline location you should use if all else fails. Warning: that location is deleted by Android when you uninstall MyTrails!

Alternately, you can use the standard Android file picker with MyTrails, which makes it possible to load and save GPX files from anywhere. Enable it by turning off Use internal file picker in MyTrails > Preferences > Other.

1.4.6

  • Updated API to invoke MyTrails Contacts
  • Fixed occasional flickering of tiles loaded from the network
  • Fixed GPSies upload for some tracks
  • License checking is more tolerant of network failure
  • Added two options: Fallback distance calculation and Don’t warn of GPS errors, that were previously hidden options