garmin-swatch-time

Garmin Swatch Time

A minimalist, elegant, nerdy, typography-focused Garmin Connect IQ watch face that displays the current time as Swatch time.

Swatch Time

Available for installation from Garmin Connect IQ Developer portal or through the Connect IQ mobile app.

Note
Swatch Time is part of a collection of unconventional Garmin watch faces. It has been developed for fun, as a proof of concept, and as a learning experience. It is shared as is as an open source project, with no commitment to long term maintenance and further feature development.

Please use issues to provide bug reports or feature requests.
Please use discussions for any other comments.

All feedback is wholeheartedly welcome.

Contents

Swatch time

In Swatch Time (also known as Swatch internet time), “the mean solar day is divided into 1,000 equal parts called .beats, meaning each .beat lasts 86.4 seconds (1.440 minutes) in standard time, and an hour lasts for approximately 42 .beats. The time of day always references the amount of time that has passed since midnight (standard time) in Biel, Switzerland.”

The Garmin Swatch Time watch face displays the time as beats, three-digit numbers from 000 to 999. Optionally, standard time and beatseconds (one beatsecond is defined here to be 1/000 of a beat) may be enabled. The user may also choose between two symbols for the Swatch Time: The commonly used @ (at) or the arguably better looking . (dot)

Note
The time is specific to the fixed location of Biel, Switerland. Thus the value .500 means noon Biel time, not local time at the current device location.

Features

The Swatch Time watch face supports the following features:

Screenshot Description
Swatch time beats
By default, the watch face shows a red dot, followed by three white digits showing the Swatch time beats (remember, it’s time in Biel, Switzerland).
Standard time
A setting in the Customize menu enables the user to toggle the standard time display on and off. The standard time is shown below the Swatch time in smaller, dimmer font.
Swatch time symbol
By default, the Swatch time beats are preceded with a dot. A setting in the Customize menu allows the user to toggle between the dot and the at (@) symbol.
Beatseconds
By default, Swatch time is shown as three-digit beats. A setting in the Cutomize menu allows the user to toggle the display of beatseconds on an off.

Fonts

The Swatch Time watch face uses custom fonts:

The development of Garmin watch faces motivated the implementation of two useful tools:

Note
To not appear disproportionately big, the At (@) symbol is drawn in a slightly smaller font than the Swatch time itself.

The font development proceeded as follows:

The table below lists all font sizes provided for the supported screen resolutions.

Resolution Shape Element Font Size
148 x 205 rectangle At Ubuntu bold 32
148 x 205 rectangle Beats Ubuntu bold 42
148 x 205 rectangle Beatseconds Ubuntu regular 32
148 x 205 rectangle Standard time Ubuntu regular 16
176 x 176 semi-octagon At Ubuntu bold 38
176 x 176 semi-octagon Beats Ubuntu bold 50
176 x 176 semi-octagon Beatseconds Ubuntu regular 38
176 x 176 semi-octagon Standard time Ubuntu regular 19
215 x 180 semi-round At Ubuntu bold 39
215 x 180 semi-round Beats Ubuntu bold 51
215 x 180 semi-round Beatseconds Ubuntu regular 39
215 x 180 semi-round Standard time Ubuntu regular 19
218 x 218 round At Ubuntu bold 47
218 x 218 round Beats Ubuntu bold 62
218 x 218 round Beatseconds Ubuntu regular 47
218 x 218 round Standard time Ubuntu regular 23
240 x 240 round At Ubuntu bold 51
240 x 240 rectangle At Ubuntu bold 51
240 x 240 round Beats Ubuntu bold 69
240 x 240 rectangle Beats Ubuntu bold 69
240 x 240 round Beatseconds Ubuntu regular 51
240 x 240 rectangle Beatseconds Ubuntu regular 51
240 x 240 round Standard time Ubuntu regular 26
240 x 240 rectangle Standard time Ubuntu regular 26
260 x 260 round At Ubuntu bold 56
260 x 260 round Beats Ubuntu bold 74
260 x 260 round Beatseconds Ubuntu regular 56
260 x 260 round Standard time Ubuntu regular 28
280 x 280 round At Ubuntu bold 60
280 x 280 round Beats Ubuntu bold 80
280 x 280 round Beatseconds Ubuntu regular 60
280 x 280 round Standard time Ubuntu regular 30
320 x 360 rectangle At Ubuntu bold 69
320 x 360 rectangle Beats Ubuntu bold 91
320 x 360 rectangle Beatseconds Ubuntu regular 69
320 x 360 rectangle Standard time Ubuntu regular 34
360 x 360 round At Ubuntu bold 77
360 x 360 round Beats Ubuntu bold 103
360 x 360 round Beatseconds Ubuntu regular 77
360 x 360 round Standard time Ubuntu regular 39
390 x 390 round At Ubuntu bold 84
390 x 390 round Beats Ubuntu bold 111
390 x 390 round Beatseconds Ubuntu regular 84
390 x 390 round Standard time Ubuntu regular 42
416 x 416 round At Ubuntu bold 89
416 x 416 round Beats Ubuntu bold 119
416 x 416 round Beatseconds Ubuntu regular 89
416 x 416 round Standard time Ubuntu regular 45
454 x 454 round At Ubuntu bold 97
454 x 454 round Beats Ubuntu bold 130
454 x 454 round Beatseconds Ubuntu regular 97
454 x 454 round Standard time Ubuntu regular 49

Build, test, deploy

To modify and build the sources, you need to have installed:

Consult Monkey C Visual Studio Code Extension for how to execute commands such as build and test to the Monkey C runtime.

You can use the included Makefile to conveniently trigger some of the actions from the command line.

# build binaries from sources
make build

# run unit tests -- note: requires the simulator to be running
make test

# run the simulation 
make run

# clean up the project directory
make clean

To sideload your application to your Garmin watch, see developer.garmin.com/connect-iq/connect-iq-basics/your-first-app.