View on GitHub

Blue-Mountain

a daylight meter for the fitbit versa

banner

Blue Mountain uses a companion app running in the fitbit smartphone app environment, communicating significant location changes from a passive, low-accuracy geolocation api. These changes fire an event that caches the new location to some text files on the watch, with one each for the user’s new latitude and longitude. The watch environment has access to the SVG displayed on its face, and updates the elements based on a few calculations:

This allows the watch to not only update its background to a blue sky or a starry night, but also change the sun to a moon that reflects the current phase of the one outside, using the rotation of the sprite to reflect the time as a progression from sunrise to sunset, or vice versa.

The geolocation API is only used if:

In either case, the files are created containing a new location, the watch updates its sky and sun/moon with the new data from the resultant file, and then all continues as normal. This concurrent messaging approach significantly reduces use of the phone APIs, and markedly improves battery life as a result.