EasyRoute 5.5 – New Elevation Chart!

It was long overdue! One of the oldest parts of EasyRoute has been revamped!

The old elevation chart (left) on iOS 16 as compared to the new one iOS 17

New Tricks

In addition to looking nicer, it’s got a few new features.

A two-finger pinch gesture can be used to zoom the graph.
Highlighting is still supported, but is now done using a long-press-and-drag.
You can restore the graph to 100% zoom with a double-tap

Notes

The new elevation chart requires iOS or iPadOS 17 as it is built on some components that are only available in the latest releases.

In addition to the new chart, this release contains some bugs fixes and improvements around importing a route. It also fixes a bug where some extraneous depart and arrive maneuvers might appear in the middle of the route after you drag some points around.

Technical Stuff

The new elevation chart is a Swift Chart. SwiftUI is actually pretty fun to work with and I’m glad I’m getting to integrate more of it into the main iOS app. The watchOS app has been completely ported to it, but the main app is much larger so it’s definitely not going to be converted in one shot. Just as I’ve been judiciously replacing Objective-C with Swift over the years1, SwiftUI will replace the old UIKit code where it makes sense as well.

The old elevation graph is Objective-C and Core Graphics. It’s pretty simple but pretty inflexible drawing code. Using an actual chart component opens the door for more improvements and visualizations in the future, so stay tuned for that.

As usual, hit me up using my contact form if you have any questions, comments or feedback.

  1. EasyRoute started before the Swift programming language was released to the public so at one point it was 100% Objective-C, and now almost 10 years later, it’s over 90% Swift. ↩︎
This entry was posted in EasyRoute and tagged . Bookmark the permalink. Follow any comments here with the RSS feed for this post. Both comments and trackbacks are currently closed.