EasyRoute 4.6 – Sortable Routes and Widgets

Two notable features in this release.

First, the route list is now sortable! This was a widely-requested feature and a little tricky as EasyRoute has always supported custom route ordering by dragging routes up and down the list. I didn’t want to break that but I think I found a nice way to support both.

Next, it supports iOS 14 widgets to show the next upcoming scheduled route. This is here basically because I wanted to play with iOS 14 widgets and figured EasyRoute could use them similarly to how they’re used on watchOS where the complications show the upcoming route. It was fun to do and I like seeing my next planned run on the Home Screen, so it was worth doing.

Also, it might be worth mentioning that non-premium users that are shown Google Ads should now be prompted for permission to be tracked on iOS 14.

Aside from that, the usual maintenance and cleanup.

While I’m here, I’ll tease that the Android version is under development. It works, but with plenty of quirks and lots of missing functionality. I’m chipping away at it though!

As usual, for feedback, support, bug reports or whatever. Let me know with the contact form or on Twitter.

Posted in EasyRoute | Tagged | Comments Off on EasyRoute 4.6 – Sortable Routes and Widgets

EasyRoute 4.5 – Routing and Navigation Features

EasyRoute 4.5 is out! There are two new features.

First, you can now add directions to imported routes that do not contain routes. These would be routes from GPX files or FIT workout files. It’ll do its best to match the path against known roads and add directions to it. Use the route actions toolbar button (the two diagonal arrows — 3rd from the left) and select Add Directions.

Second, when navigating a route, it’ll do its best to guide you back to your original path if you go off-route. Before, it would only provide a basic instruction as you went off-route and then another one if you went back on.

That, and the normal little fixes and updates.

As usual, for feedback, support, bug reports or whatever. Let me know with the contact form or on Twitter.

Posted in EasyRoute | Tagged | Comments Off on EasyRoute 4.5 – Routing and Navigation Features

EasyRoute 4.4 – Improved iPad Support

Split Screen

EasyRoute now supports split screen on the iPad! I’ve wanted to do this for quite some time and it’s finally here! EasyRoute began life during the iOS 5 era so when the project was set up, it was set up for a very different Apple ecosystem. There was a lot to update and modernize throughout the app to support this, so it was just a matter of making the effort.

The most useful app to open alongside it? Google Maps!

It’s almost like having Street View built into EasyRoute again!

Long Press Shortcut Menu

Long-pressing a route in the route list now brings up a menu of shortcuts.

Bike Type

When you change the routing mode to Bike, a Bike Type option appears. This should be helpful for preventing paths from being made for an inappropriate bike type. (Like a road bike being routed onto a mountain bike trail)

Goodbye iOS 11… and 12

The aforementioned modernization left some oddities on iOS 12 and they weren’t easy to solve. There are very few EasyRoute users on 12 and I was going to drop it when iOS 14 came out (soon) anyway, so it got dropped now. The App Store continues to make the last version that ran on a particular OS to users of that OS, so I figured I’d leave iOS 12 users with a good version rather than a quirky one. It was actually supporting iOS 11 as well, but there is far less usage there, so that was an easy decision.

As usual, for feedback, support, bug reports or whatever. Let me know with the contact form or on Twitter.

Posted in EasyRoute | Comments Off on EasyRoute 4.4 – Improved iPad Support

EasyRoute 4.3 – Folders!

It seems like everyone has been asking about it and now they’re finally here — folders!

This is something I attempted a few times over the years, but it always turned into a big messy set of changes that I would put aside and ultimately abandon. This time, I came up with a simpler plan and it worked out.

All your existing routes sit in the default Routes folder. You can make additional folders alongside that and move your routes around as you see fit.

You cannot delete the default Routes folder because that’s where your imported routes will end up and, under the hood, it’s important. (Backwards compatibility reasons too… it just makes things a lot less complicated to ensure it stays around.)

Also, I got some feedback around using EasyRoute to navigate a leisurely walking route, so it’s now more tolerant of going off-route and backwards a little bit when following a walking route.

That, and the normal bug fixes, clean-up and so forth.

Since I had to change the route storage (and iCloud) support, I’m a little more cautious about this release. I left it in beta longer than usual and feel pretty confident that it’s solid, but if there are any issues. Let me know through the contact form or Twitter.

Posted in EasyRoute | Tagged | Comments Off on EasyRoute 4.3 – Folders!

EasyRoute 4.2 – Watch Stuff and Offline Mode

I had some fun making stuff for EasyRoute over the winter. This release gets all that out.

Route Scheduling

This is an Apple Watch focused feature I used to assist me in marathon training. I had to add some detours and excursions to my normal running routes to make the day’s prescribed distance on the training plan. Since I use EasyRoute to navigate me through routes, I thought having watch face complications showing that day’s route would be useful (and fun to work on) and it was!

You can add routes to a schedule and they’ll be shown on the EasyRoute watch face complications. It supports all complication types for all watch faces. The day’s route will be offered at the top of the route list when you launch the EasyRoute watch app.

This and watch workouts are now under a Watch tab which is only shown if you have the EasyRoute watch app installed.

Workouts can optionally be recorded using EasyRoute and they will be added to the built-in Health and Activity apps. This is not a new feature, but they have been moved to the watch tab as well.

Offline Routing

When EasyRoute switched to fetching and caching routing data, it was only a short hop away from offline routing. Since a number of users asked about this, I went ahead and added it so this wasn’t entirely a selfish release focused on the things I was doing and having fun with. It’s under the Extras tab, under Storage.

When fetching routing data on-demand is not possible because you have no network connect, use the map options to put EasyRoute in Offline Mode. If you’ve got offline data for the area you’re routing in, it’ll work just as well as when you’re connected to the Internet.

Adding and removing segment points

These are the little dots that appear along the route as you tap. Since they are also used as anchor points for dragging the route, having too many or too few of them can be annoying. Now, if you’re dragging an existing segment point, a trash icon will appear and you can remove it.

If you’re dragging a new point along a segment an add icon will appear and you can simply add one to be an anchor for a future drag.

These operations won’t alter the route, but will help you drag the exact portion you want to drag.

You CAN alter the route by dragging either the start point or end point to the trash since these cannot otherwise be removed as anchor points.

Improvements to Navigation

A few little bugs have been fixed and a number tweaks have been made to the route navigation in EasyRoute. Running marathon routes means I spent a lot of time with it so it’s gotten a nice amount of polish!

Posted in EasyRoute | Tagged | Comments Off on EasyRoute 4.2 – Watch Stuff and Offline Mode

EasyRoute 4.10 – Sweet Watch Navigation and Ride with GPS

Improved Apple Watch Navigation

Ok, so I got a little bit lost with EasyRoute while going for a run in Atlanta. A little embarrassing, I admit, but something nice came out of it.

I was out early and the sun was not yet up. I was in a quiet neighborhood but it was still a little too dark for comfort as I really couldn’t see where I was planting my feet. I went off-route thinking I could cut past the poorly-lit area, but I was wrong about where I was, lost my bearings and didn’t bring my phone. (I’ve had so much success following routes with just EasyRoute on Apple Watch, I figured I didn’t need the phone.)

I eventually came upon a main road that I was familiar with and while I was able to find my way back, I really wished I could have at least seen where I was in relation to the route, so I dreamed up this new feature.

While it’s not exactly a map, it’s a much better visual guide than just the turn cue. At first, I figured I’d just quickly make an additional screen you could check that would draw the route in relation to your current location, but it was still pretty limited and not that helpful. So, I started playing with rendering it like a map and it came out a lot nicer than I expected.

The real-time rendering is nice and smooth. It’s much clearer than before, particularly when the roads bend and don’t meet at clean angles and you can use the Digital Crown to zoom in or out.

Another improvement is that the current location dot (shown in blue above) changes color depending on signal accuracy. Before, when the accuracy dropped to a fair or poor level, it would display a banner along the top. It was really kind of ugly, but I thought it was important to know when the location confidence level was low. Now the same information is conveyed without the ugly banner.

Ride with GPS

A few people have asked for this and for various reasons, there’s been an uptick in the number of requests for it lately, so it’s here!

Not too much to explain, it’s simply a new option in the share menu. Choose Ride with GPS, sign in, and it’ll upload! Your credentials are securely stored locally on your device so only your first upload will require a sign-in.

This is useful for group rides where you can share the route with people on Ride with GPS and they can sync it with their Wahoo bike computers.


As usual, use the contact form, or reach out via EasyRoute’s new Twitter account. I’m listening!

Posted in EasyRoute | Tagged | Comments Off on EasyRoute 4.10 – Sweet Watch Navigation and Ride with GPS

EasyRoute 4

A major change in the app means a major change in the version number, so here we are, version 4.0!

The Short Story

First, rather than query Mapbox for data over and over again as you tap and build your route, EasyRoute now goes and fetches chunks of route and elevation data as needed and caches it on your device. The initial download will take a little longer, but once you have the data, it’s very fast. It opens the door to other improvements and features as well so I’m thinking it’ll be a long-term win.

Second, it’s also now using a new elevation data source and it works the same as above. Chunks of it will be downloaded on-demand, which will also introduce a bit of an up-front delay, but then it will be very fast.

Additionally, you can also now force a light or dark map regardless of iOS dark mode by going to the EasyRoute section of the settings app and setting the map theme.

Furthermore, there are lots of little tweaks and fixes. (Dark mode thumbnails are nice.)

The Long Story

Remember how last year I had to switch away from Google Maps because their pricing became ridiculous? Well, Mapbox went and changed their pricing structure too. I wouldn’t say it’s ridiculous, but for my use case, it costs quite a bit more. At the end of the day, it’s just not sustainable, so EasyRoute is no longer using Mapbox for routing data. (Note: the map itself is still Mapbox, but that’s just a map for rendering the visuals. The map pricing is fair and I like the Mapbox map, so it stays — for now.)

So while Mapbox forced my hand, this was something I’ve been thinking about doing for a long time anyway. In fact, it’s very close to what my plan was for how the app should work in the first place. I had been researching ways of grabbing road network data and creating the routes on the phone when I realized how I could just get Google, and later Mapbox to do it for me. Elevation is another problem, but one that was solved in a similar way.

Speaking of elevation, this has been a tricky problem over the years too. At first EasyRoute used data from MapQuest and then Google. The elevation data was actually a big part of the the Google bill and Mapbox doesn’t really offer a similar service, so I had to get creative. Since the switchover to Mapbox, EasyRoute has been downloading terrain tiles from Mapbox and calculating elevation heights from that. This is not really what the terrain tiles were intended for so I’ve always been very uneasy about the solution and have always considered it a stop-gap.

Now EasyRoute will grab chunks of elevation data collected by the Shuttle Radar Topography Mission. Thus far in my testing, it produces smoother and more accurate graphs than before, so I think it’s a much better long-term solution.

The Future

Now that the device is used for both data storage and road path calculations, it’s actually quite liberating and opens up a number of improvements and features.

For example, every map data provider like Google, Mapbox, Bing, MapQuest, etc. mandates their data be used with their map. This means that when I used Google for routing, I had to show it on a Google map, when I used Mapbox, I had to display a Mapbox map, and so on. Now I can choose any map I like. (I could even go back to Google and bring Street View back properly, or have multiple maps and let you choose!)

Another great thing is, this totally opens up the door to completely offline routing, which a number of you have been asking about for a while.

Furthermore, I’m now in control of the data EasyRoute uses. Yes, it’s OpenStreetMap data, but I process it into routable data and make it available to EasyRoute myself.

Also, the on-device route computations are so much faster than the network calls that it makes new features possible. (More responsive dragging, multiple proposed routes, etc.)

So many things on the to-do list, so little time… but I’m still just as excited to work on this little app as I was more than 7 years ago when I started the project.

Since this is a “point-zero” release (4.0) and it was a big change, I expect there will be hiccups and lots of room for improvement, so let me know how it’s working for you on either the trusty old contact form or the new Twitter account and I’ll do my best to make it better.

Thanks everyone!

Posted in EasyRoute | Tagged | Comments Off on EasyRoute 4

EasyRoute and iOS 13

I figured I should address this as it is becoming a big problem.

iOS 13 largely breaks file sharing between apps. This means when you export your route as a GPX or FIT for consumption by Wahoo or Garmin apps, they might not show up as open-in options.

This seems to be a widespread problem and Apple seems to know about it.

Myself and some colleagues have looked at the problem from multiple angles, but there really isn’t much as app developers can do at the moment. Even if you first save the file to the Files app and then share the file from there, the app you want to open it in will still not show up.

Otherwise, regarding something I do have control over, I’ve heard some feedback about the dark mode maps, particularly from color-blind users. The next release will have an option to force the light maps on even when in dark mode.

Posted in EasyRoute | Tagged | Comments Off on EasyRoute and iOS 13

EasyRoute 3.2.3 – A Few Notes

A bit of a random release. I just wanted to release a few things that were ready to go.

A Setup Process

There is a new a setup/welcome prompt that takes you through some settings that might be easily missed. If you’ve been using the app, think of it as a tune-up. Otherwise, it should help new users set their preferences to their liking.

Dynamic Text

I’ve been meaning to get to this for some time, but the text sizes on the route list and a number of other places in the app will scale according to the system-wide setting. There are a few views that won’t be so straightforward to support, so they still have a fixed size for now, but my aim is to support dynamic text throughout the whole app at some point.

Record to Health with Apple Watch

Okay, so I said many times I didn’t want to turn EasyRoute into a workout tracker, but I was using the route-following feature alongside other Apple Watch workout-tracking apps (like the built-in one and the Strava app) and felt compelled to experiment with it. Also, the more I used it, the more it felt like the lack of Health tracking was an omission.

So now, if you flip a switch before following a route, a Health workout will be recorded as you follow the route. There is a new screen to the right of the route screen that will show some basic stats while you’re in-progress.

The thing is, this was a lot of fun to work on! I was training for a marathon (but got sidelined, so settled for a half) and it was pretty cool to build and tweak it for what I needed week-to-week.

As I expected though, the ways I can expand on this are endless. It opens the door for a whole new app to grow out of EasyRoute, which is tempting, but there are still a lot of route-planning features I want to do so I’m releasing what works well right now for anyone who might want to use it and moving on to some other cool route-planning features I’ve got cooking.

Why is it only supported on the Apple Watch? Well, I think it would look and behave pretty differently on the phone and I’ve got it working nicely on the watch at the moment so am just releasing that for now.

As usual, if there are any comments, questions or feedback, the best way to get me is through my contact page.

Posted in EasyRoute | Tagged | Comments Off on EasyRoute 3.2.3 – A Few Notes

EasyRoute 3 — Follow Your Route

At long last, EasyRoute 3 is here! Available for the iPhone, iPad and Apple Watch.

The big new feature is route guidance. You can now follow your route with EasyRoute and it’ll let you know when you need to take action to stay on course.

I’ve actually been working on this, on and off, for close to three years. I’d spend a little time on it, put it aside for various reasons, and eventually come back to it. Finally, after this past summer’s releases settled down, I decided to make an effort to push it over the line. After logging many miles with it guiding me through various neighborhoods and a pretty long beta period, I think it’s ready.

I also considered letting it record the trip as a workout too, but, for now at least, it’s just there for guidance. Turning EasyRoute into a full-blown workout app would be a big project so I thought it would be best to leave that to the many apps that already do this very well and have EasyRoute provide guidance alongside them. So, you can continue using your favorite workout app and have EasyRoute in the background notifying you when it’s time to take action. Alternatively, you can keep EasyRoute in the foreground too if you want to keep an eye on the upcoming turn.

I also felt it was important to provide some ways to review and customize the route so you can ensure it’s providing clear enough guidance. I added a directions-editing mode that allows this as well as a preview you can look at before starting the route. Even if you use EasyRoute to make routes for your bike computer, these can help you review the route before exporting it.

If you go off course, EasyRoute will let you know and provide some basic instructions to get you back on route, but if you get too far, it’s not going re-compute the route. This is coming in a future release.

As always, the best way to report bugs or give any kind of feedback is my contact form.

I hope you have as much fun using it as I did making it and, as always, be safe!

Posted in EasyRoute | Tagged | Comments Off on EasyRoute 3 — Follow Your Route