Just a Speedometer
Hello! This post is a real quick one to share a new app I made for my Garmin fitness watch. It's called JustSpeedometer, and you can find it on this Connect app page. It should work on just about any Garmin watch newer than 2018.
As the name suggests, it's an activity that shows your current speed in either kilometers or miles per hour. Install from your phone and then launch like you would any other activity like running or cycling. The app page has examples of the layout.
Why did I make it? Well I was sitting in the train one day and wanted to know how fast it was going. But I'm too lazy to pull out my phone and find some app to tell me. And I'm even less inclined to start a cycling activity on my watch and look at the speed data field. Then I would have to squint to see the little number, and afterwards I'd have to discard the activity.
Alas, that's just too much work for me. Thus instead I created this app so I can see my current speed in one tap. Clearly, I know where my time is best spent.
However, the conclusion of this little story is that the watch really doesn't find a great GPS signal in the train. And I took a video recording of using it there, but I didn't account for the screen being completely dark because of the high contrast with the bright scene outside the window. Well, here's an enhanced capture just so I'm not leaving you completely empty-handed.
Notes
If you happen to be interested in this kind of thing, I found it pretty easy to get started since they moved the environment into VS Code. However the documentation sorely lacks useful examples, and even this simple app took me a couple days because I struggled to find a way to dynamically update the layout without resorting to actual pixel-level draw manipulation (think ncurses, ewww!).
If you make an app like this then keep the following in mind! Or come back for a reminder when you need to update an element within a layout by its ID.
// Update GPS text to green when quality is good
var gpsText = View.findDrawableById("gpsText");
if (quality == Position.QUALITY_GOOD) {
gpsText.setText("GPS");
gpsText.setColor(Graphics.COLOR_GREEN);
}
And finally, as usual for me, the entire source code is up on Github.
View Comments