It’s snowing outside my window as I type this, though we haven’t yet gotten a really big storm this year in Detroit. I’ve noticed a definite shift in energy and focus this month; projects both large and small seem to have their own momentum. I spent the week engrossed in more website work, including re-designing and coding this newsletter template – which you might by now have noticed!
If you’ve never had to code up an email template from scratch, let me tell you: it’s like building normal websites with an arm tied behind your back. Every email client has its own dialect; even the web version of gmail handles things differently from their iPhone app, which handles things differently from their Android one. The introduction of “dark mode” only adds another layer of complexity and inconsistency: some services automatically invert all the colors, others swap out only the darkest or lightest – or only the pure white backgrounds. Building for all of these scenarios can be like trying to build a car to traverse a road marked with potholes, but also an alley the width of a single person, and also a highway without on-ramps that operates at twice the earth’s gravity. I’m exaggerating, but not by much.
Maybe all this was what reminded me of an old project of mine. To set the scene: it was December of 2008, a similarly had-its-own-energy phase in my life, and I was in the habit of sticking post-its on my monitor bezel with to-do lists or motivational quotes. Then it occurred to me that I could put the note directly on the screen – as in, a site I could set as the homepage for my browser, that I would see every time I went on the internet. So I hacked together StickyScreen, which worked without any servers or accounts or passwords. It just stored the note in a browser cookie that updated whenever you typed something.
Someone emailed me a few months ago to say that they were still using StickyScreen after all these years, and out of curiosity I popped in some lightweight stats this weekend to see if there were any others. It turned out there are – at least a few dozen. Of course, in order to put stats, I had to look at the source code, and the source code was truly cringeworthy. It was a kludge of copy-and-pasted snippets that I put in not because I fully understood them, but because they did what I wanted them to do. There were also several constraints foisted on the site by the capabilities at the time of the languages it was written in (image saying that about a novel!)
By this time Saturday morning, the wind was already in my sails; I set about revising the code, and making it cleaner and more efficient, while also trying not to break stuff for the dozens of unnamed souls who depend on it every day. That’s a drop in the bucket as far as internet-active-users go, but it also made the endeavor feel more personal and intimate. The task ended up being an order of magnitude more complicated than I’d anticipated, for the same reason that the email template was complicated: I had to make sure things would be compatible for different kinds of people. What I thought was going to be a two-hour project turned into a two-day project.
But I realized, in that process, that it’s similar to writing for yourself – say, in a journal – and writing for other people – say, in books. If you were only writing or making something for yourself, you could write freely for your own set of experiences; you could elide certain explanations or capabilities because you would know what you meant even without them. But when you’re writing or making something that other people will read, or use, you have to consider a whole range of different backgrounds, experiences, mindsets, expectations. I’m not suggesting the first draft can’t be for yourself – in fact, quite the opposite. But after you write or build it for your self, if you then intend to put your work out into the world – make it also for other people – you open yourself up to having to consider all the complications.
I don’t want to use the word trade-off here because it sounds too transactional. I think a better word is responsibility. You take responsibility for the story – or the website or app – and do your best to be its steward. Because those extra orders of magnitude of complexity that can be so at times frustrating? They’re the same things that connect you to other people.
It’s not a cost so much as it is, I think, a gift.