Three Months of SwitchBoard

Written Wednesday, March 1, 2023


It's been about three months since I wrote Disability-Driven Development. I've written more about the future I think this could unlock, as well as the overall concept of what I'm doing with the SwitchBoard project. For this, I want to do something a little bit different - I want to tell a different angle of SwitchBoard's story. I want to share my commit messages.

One of the earliest things I learned about computer programs is that they are not actually for computers. Computer programs are for people. This is true of the software they represent - apps, web sites, presentation tools, and even printer drivers. But it's also true of the code that we use to "write" programs in the first place.

Far too many efforts in the digital technology space have forgotten that the point of all this technology is, after all, for people.

I've long held the opinion that "good code" is inseparable from code that people find pleasant to work with. But I think this extends far beyond the cryptic, squiggly-filled land of code itself. I extend this to the documentation I write for my software, to the essays I write about the theory behind it, and even to things like the notes I take while I do the actual programming itself.

It's common, on projects that involve more than one person, to use a particular technology called version control. When a team is involved, version control is a great way to collaborate, share work, and keep things from getting overly chaotic or stomping on each others' edits to the code.

At the moment, SwitchBoard is still a solo project - I'm the only one doing anything with it_, for now_. Some programmers would consider it overkill to use version control in this setting, but I like it.

Version control offers me two things that I prize, even when working by myself. One of those is basically a highly structured, organized "giant undo" button - if I get myself into a corner, don't like where something is heading, or otherwise just mess something up, I always have a complete history of what I've had before. Going back and "rewinding" is trivial, so it's much easier to feel brave about exploring stuff that might not work out. This experimental, exploratory style is central to how I work as a programmer.

The other thing that version control offers is record keeping. I don't have to make notes about how much I've done, or when I did a thing; the software tracks all of that for me, punctuated by moments I choose to cement in time - the moment of "commits."

Each commit can have a message attached to it. To me, commit messages are an invaluable source of context, and also just a plain fascinating historical archive of what's happened on a project over time. I use my commit history to remind myself I'm not actually dead in the water. Most of all, well written commit messages are pleasant to read.

I love microfiction, as a super-short story format. The challenge of expressing a complex, nuanced, often heavily-emotional idea in only a couple hundred words is fascinating to me - as someone who struggles with brevity in general. I love both reading and writing microfiction.

But my primary arena for telling dense, rich stories in a super compact format is commit messages.

What follows is the story - so far - of SwitchBoard, as told by commit messages. They're fairly heavy on the technical jargon, and told for a particular audience, but I hope they still retain a bit of the magic of a good narrative. I've even preserved all my original typos for authenticity, although sadly the process I used to get all the messages into this post seems to have obliterated most of my meticulous formatting.

Please, however, do feel free to just skim this - it is a lot; I promise I won't be offended if you don't want to read it all!

December 2022

January 2023

February 2023

…and then it was now…

To date, SwitchBoard has had 198 commits, across just under three months of work. There are nearly 10,000 words written across all those commit messages - a fairly hefty bit of writing in and of itself!

And this is why I put effort into keeping a detailed commit history - because in the all-too-frequent moments when I think I'm not "getting enough done," I can just pop open the records and prove those feelings very, very wrong.

The best part, to me?

I'm barely getting started.