About time

Some thoughts and concrete suggestions on saving society through programming.


This morning I read an article that’s been making the rounds lately: Modern Media Is a DoS Attack on Your Free Will.

It’s made me think, which I must admit, I at first didn’t like. See, when I wake up in the morning (and subsequently wake up my computer) the first thing I do is go on Twitter to catch up on everything I missed while I was asleep. All this before my first coffee, mind you. Links on Twitter usually lead to stories on Medium, newly released apps on ProductHunt, and enticing sales on a new gadget or two on Amazon. Wherever it goes, in those blissfully half-awake mental recesses, the last thing I’m trying to do is think.

However, yesterday, I also happened to listen to a podcast from freeCodeCamp. It was #7: The code I’m still ashamed of. This lead to thoughts on the responsibilities of programmers - the people tasked with designing and building apps and systems meant to steer the very course of your life.

This morning, the combined swirling mess of notions brought on by these two sources of information had, even before my first coffee, the unfortunate effect of making me think.

Mostly, I thought about intention, and time.

I don’t believe it’s wildly inaccurate to say that when you go about doing something in your daily life, you have a general awareness of your reason for doing it. If you leave your building and go down the street to Starbucks and buy a coffee, more often than not, it’s because you wanted a coffee. If you go to the corner store and buy a litre of milk, you probably intend to drink it. If you find yourself nicely dressed on a Friday night waiting at a well-decorated restaurant to meet another human being with whom you share an apparent mutual attraction, I can risk a guess that you’re after some form of pleasant human interaction.

In each of these, and many more examples you can think up, the end goal is clearly defined. There is an expected final step to the process; an expected response; a return value.

What is the return value of opening up the Twitter app? Browsing Facebook? Instagram? In fact, any social media?

The concrete answer is that there isn’t one. Perhaps in those of us with resilient self-discipline, there may at least be some sort of time limitation. That’s the most we can hope for, however, and no wonder - that’s what these and other similar services have been designed for. They’re built to be open-ended black-holes for our most precious resource… time.

In the case of the Analytical Engine we have undoubtedly to lay out a certain capital of analytical labour in one particular line; but this is in order that the engine may bring us in a much larger return in another line.

Ada Augusta (Ada Lovelace) - Notes on Sketch of The Analytical Engine

Okay, so I did some more reading. Specifically, #ThrowbackThursday to the mid 1800’s and something my good friend Ada Lovelace once scribbled in a book. Widely considered one of the first computer programmers, she and Charles Babbage pioneered many concepts that programmers today take for granted. The one I’m going to hang my point on is, I think, nicely encapsulated in the above quote: the things programmers make are supposed to save you time.

Save it. Not lose it.

I think Ada and Charles would agree that, observing the effects of social media apps, clickbait news sites, and many other forms of attention-hogging interactivity that we haven’t even classified yet - something’s gone horribly wrong.

What if, as programmers, we actually did something about it?

Consider that collectively - no, even individually - we who design and build the workings of modern technology have an incredible amount of power. The next indie app that goes viral on ProductHunt will consume hundreds of hours of time from its users. Where is all that untapped, pure potential going to? Some open-ended, inoffensive amusement? Another advertising platform thinly veiled as a game? Perhaps another drop of oil to smooth the machinery of The Great Engine of Commerce?

I get it - programmers will build what they’re paid to build. That’s capitalism, that’s feeding your family, survival - life. I’m not trying to suggest we all quit our jobs, go live in the woods, and volunteer as humanitarians. That would be nice, but it’s impractical.

But we all have side projects. Free time. What are you doing with yours?

Before I’m accused of being too hand-wavy and idealistic, I want to offer a concrete suggestion. Build things that save time. Not in the “I’ve made yet another to-do list app for you to download,” kind of way, but in the “Here’s a one-liner to automate this mundane thing that would have taken you hours,” kind of way. Here, have a shameless plug.

I also really like this idea from the first article I mentioned, so hang on tight while I bring this full circle:

What’s one concrete thing companies could do now to stop subverting our attention?

I would just like to know what is the ultimate design goal of that site or that system that’s shaping my behavior or thinking. What are they really designing my experience for? Companies will say that their goal is to make the world open and connected or whatever. These are lofty marketing claims. But if you were to actually look at the dashboards that they’re designing, the high-level metrics they’re designing for, you probably wouldn’t see those things. You’d see other things, like frequency of use, time on site, this type of thing. If there was some way for the app to say, to the user, “Here’s generally what this app wants from you, from an attentional point of view,” that would be huge. It would probably be the primary way I would decide which apps I download and use.

There are so many ways I’d love to see this put into practice, from the obvious to the subversive. A little position: sticky; banner? A custom meta tag in the header? Maybe a call to action like this takes more introspection and honesty than a lot of app makers are ready for… but maybe it just takes a little of our time.