dwMap — After the Launch
Part 2 of the story of dwMap and dynamicWatch
After the release of dwMap at the end of August, 2015 (as recounted in dwMap — the Origin Story), it quickly rose to being consistently the most popular application in the Garmin Connect IQ App Store. As hundreds of users turned to thousands of users, we started to get a steady stream of requests and suggestions for improvements, together with assorted bug reports. We also got numerous requests regarding the features of the website, particularly regarding the difficulty of creating routes.
Watch App Development
As we started to add features to the dwMap watch app, we soon realized that we were going to be constrained by the limited memory available on the watches (just 64kB per app) and the relatively slow processor speed. When we tried to download more detailed route lines to the watch, for example, we started to hit out-of-memory errors and also that the watch might take several seconds to redraw the map screen. Since fresh GPS location data is available every second, and that the watch does not respond to touchscreen or button presses during these redraws, this made the app act and feel very sluggish.
From then on, every possible feature had to be weighed carefully in terms of its importance since we could not use all of even the good ones. We developed processes for measuring the memory use of the app, and for every feature we implemented we measured the “before” and “after” memory footprint. Likewise we measured the milliseconds needed to respond to each new GPS point. Several times we completely implemented a feature only to discard it because the cost/benefit ratio was not good enough.
Some features that did make the cut during this time were auto-pause, auto-lap, support for the “semi-round” faces of the Forerunner 630/230/235 watches, and a “track-up” option (for drawing the map on the watch screen based on the current direction of travel rather than keeping it in a “north-up” orientation).
Web Site Development
When it was initially launched, the dynamic.watch website required you to import a route from somewhere else. You could create it at Garmin Connect, MapMyRun/MapMyRide, RideWithGPS and other popular websites, then you would import it to dynamic.watch. These sites have mature, feature-rich route creators, and that was a “wheel” that we did not want to reinvent.
But users were clamoring for an easy, integrated way of creating routes, particularly on their phones. So the first major new feature on the website was building a basic route planner. This was built on top of Google Maps and its brilliant tools for developers (API), including the auto-routing feature it offers on roads and trails for many parts of the world. You can create your route in our Planner by routing along these paths, or along short straight segments if the route you want is not available (or if you’re planning a kayak route).
We focused on keeping it very simple: just tap on a few points on the map and you had a route. This wasn’t just to make our task easier: it was because our users were telling us how complicated some of the other available route planners were. Click “save”, and the new route was ready to be automatically downloaded by the watch app when you next started it.
Since 45% of our users access the website from their phone browsers (and 10% more from their tablets), we made sure the new Planner was “responsive” and mobile-browser-friendly from the start.
Now 59% of the routes in our system have been created in Planner!
The story continues in Navigation on a Watch: dwMap Premium