It started with an itch.
I got a Wear OS watch and strapped it to my wrist. It came with watch faces, which were excellent, and most of which could be customised... to a point. You could change some of the colors, and some of the shapes, but there were never enough options.
So far so good. The market provides, so I bought some watch face apps from Google Play. Made some watch faces and tweaked them just the way I wanted them. But again, whilst they looked great, they didn't work the way I envisaged a good Wear OS app should. Again that itch...
I've written code before, right? I installed Android Studio and started scratching.
The very first versions of the code were, like heaps of other watch faces, based on the Android WatchFace Sample. Thanks Google!
Instead of tweaking a watch face on the device or in the app, I was tweaking it in Android Studio. I hard-coded my ideal watch face. It couldn't be changed except by recompiling. It didn't even have a settings screen.
Nevertheless I was happy. I'd tweak it every so often, but this version stayed on my wrist for months. It looked like:
In March 2019 I found myself with some free time in the evenings. So I started writing code every night and committing it.
I had more ideas. I wanted procedural generation, a fancy term for drawing a watch face based on a small number of settings, with complexity arising from the way all those settings combined. I wanted any random combination of settings to look decent—and difficult to make something that looked out-and-out bad.
I also wanted it to be tweakable from the watch itself, so I could fiddle with it, and not invoke Android Studio. I wanted the always-on ("ambient") mode to be bright white during the day, for legibility. And dim tactical red during the night, to not distract the kids.
And most of all I decided to release this to the public. There's a big difference between hacking something for personal use, and polishing it for the expectations of everybody else!
After a while I discovered I had been writing code every night without fail. So I did what anyone would do when on a winning streak: I kept coding!
This brings us to today, Tuesday November 5, 2019. I've written code and committed it every day for the last 35 weeks. I'm winding down development of version 0.1, I've coded everything I want for now and I'm ready for a break.
Today will be the first day that I don't commit.
Feels good, man.