A meaningful structure

My life has been at a kind of curious inflection point lately. When I first started on my current path, I didn't really have any idea what it was; it wasn't even a path at the time so much as a big empty field. All I knew was what felt right and what felt wrong, so I followed my feet, assuming that if my steps were good they would eventually lead me to a good place.

And they did, at least sometimes. I usually couldn't tell the difference between a step and a misstep while I was making one, but I sure found out afterwards, and every time my sense of the path became clearer. Results became data, data became patterns, and patterns – slowly, haltingly – became understanding. My feet had done their work, and it was time for my head to lead.

This curious inflection comes from the mismatch at that crossover. Overdeveloped feet and an underdeveloped head. Far enough along that the beginning has disappeared into the distant past, and far to go that the ending is still in the distant future. Knowing what I'm doing well enough to see how little I know about how to do it well.

So this is an attempt at laying out the what in enough detail that it can serve as the beginning of how. It is a human structure as arbitrary as any other, but I have crafted it to be meaningful to me, to provide an understanding greater than just whatever feels right. The feet can work that way, but the head needs more.


The core of what I do is a creative process. This is an engine that takes my skills, resources and mental environment as input, and produces creative projects as output. It's not the only process, but I see this as the most fundamental: I'd still be doing it if I was the lone survivor of the zombie apocalypse, or stranded on an island with only a volleyball for company. It involves four steps: coming up with ideas, experimenting, putting in the hours, and releasing things.

Coming up with ideas really just requires relaxing and letting them come out, which is so easy as to be incredibly difficult: overwrought seriousness and editorial self-censorship sneak in and stifle the ideas in their sleep; distractions and pressure and Big Important Thoughts clamour together until it's impossible to make out the soft whispers of creativity; and of course, there's the clock, tapping its face insistently, saying "Thinking? Now? When there's so much to do?!" Ideas don't come out unless you make space for them, so I usually sit with a blank A4 page until I've filled it.

Experimenting is actually trying the ideas out to see how they work. A lot of ideas aren't actually any good, but even by being bad they can teach you something. And even a good idea might not be good enough to be worth a lot of time. It's hard to know, so experimenting is doing just enough to get a sense of it. It doesn't necessarily result in something good, or something that works, but it always leaves you more informed. I do this even if I'm working on something else; it's very liberating to spend a little time on something with no expectation of success, and to know that even if this idea never makes it into a real project, at least it had its day.

Putting in the hours is when your experiment has graduated to a project, and you just need to put your head down and work at it for an extended period of time. I've tried measuring projects a few different ways, but most of them only work if you already know what progress looks like. Sometimes you spend all day climbing to the top of the mountain just so you can see that the real mountain is further along and you'll have to climb back down again. Is that progress? I guess it depends how you think about it, but one thing's for certain: you can't reach the top of either without putting in the hours. Some hours are easy, flowy, and fulfilling; others are a dispiriting trudge that seems to go nowhere. But, one way or another, they all need to happen.

Releasing things is something I have only lately come to appreciate. "Release" has two fun and complementary meanings in software: a release is a specially designated version of some software, imbued with some kind of semantic meaning and intended to be distributed and used. Release is also something a program does with resources it no longer needs, so that some other program can use them. To me, releasing something is both "I've released it! Give it a try!" and "I've released it. I'm ready for it to stop taking up resources in my head." That's not to say the release is instant, or that the project won't come back later, but I still think it's important to set it free. Otherwise my projects just hang on forever, following me around in an ever-growing chain until I give up and throw my Nokia 3210 at the wall.


This is how my work connects with people. It's an engine that takes the outputs of my creative process and produces value for others. I would not be able to do it on an island, nor in a zombie apocalypse, making it pretty contingent on a functioning society. Although sharing is an inherently giving thing, that doesn't make it completely selfless: it can result in money, reputation, connections, or just the highly motivating happiness of seeing others enjoy your work. My structure for sharing is a lot less fleshed out, but the forms I see as important are expressions, fragments, performances and, for want of a less latinate word, colloquia.

Expressions are kind of second-order creations. While creative projects are the main output of what I'm doing, the process of creating them also creates a lot of opportunities for self-expression. For example, writing up things I learn or ideas I think about, describing things I've made and how I made them, practising a creative skill by using it to express myself, or using a work I've created expressively. This last one is particularly important to me because I see enabling creativity as a goal of some of my most important projects, and what better way to show that than by example?

Fragments are all the little byproducts that come off whatever else I'm doing. They're basically expressions without the editorial component or respect for the audience. An expression is intended to be enjoyable or useful to someone; a fragment is just whatever happened. Fragments include things like raw scans of notebook pages, half-baked thoughts and ideas, prototype code, work notes, progress photos, etc. These are intended to be as close to zero overhead as possible, just the result of cultivating a general habit of recording things and making notes, then dumping them somewhere in case they're useful.

Performances encompass basically any live talks, demos, exhibitions etc. In a sense, these are just live action versions of things I would be doing by myself anyway. A talk is just a live expression; a demo is just a live release, etc. But the liveness also adds qualitative differences, for example live performance means live feedback, no chance to censor mistakes, and a sense of impermanence. Beyond that, the dimension of human experience can fundamentally change what a work looks like, so some expressions, and even some projects may rely on performance.

Colloquia are like performances but with peers or collaborators instead of an audience. This includes workshops, certain meetups, and a very particular sort of conversation. These can be a kind of education, but the participatory kind: helping someone by working with them on their problem, not by providing them with information or teaching them skills. Not that there's anything wrong with that, but it's not a peer relationship. There can still be a substantial skill and expertise gap, but the power dynamic and the level of contribution expected should be fairly equal.


If sharing is how I produce value for others, development is how I produce value for myself. The inputs of this engine are the feedback and rewards I get from both creation and sharing, and its outputs are skills, resources and mental environment that feed back into the creative engine. It's basically a grab bag for all the ways in which I increase my own capacity. I would be unlikely to do much of this if I were stuck on an island, but I would likely keep hitting the books in a zombie apocalypse. These activities are even less fleshed out than the sharing ones, but what seems most important so far are connection, collaboration, learning, training, meta and quiet.

Connection is meeting people, finding interesting spaces and events, and generally building my social environment. It's valuable to have these resources to draw on if you're looking to work on something, but it's also very satisfying to feel like you have a network of peers and you can see others doing work that you value.

Collaboration, in this case, is about everything you get from working with someone else that isn't the actual project. Talking about ideas, throwing stuff around and trying it out, working through differences in opinion to try to benefit from each others' experiences. Sometimes this can happen organically while working on a regular project, but that can be tricky if you don't find a shared creative vision, and it can be nice to just work on something whose main purpose is working together to build your capacity.

Learning is research: looking up information, reading, doing courses, that kind of thing. It's basically the most passive of the development activities; you just consume information like a sponge until you know enough. Often to really internalise something requires more active work afterwards, but that work can't happen without the knowledge.

Training is a deliberate and repetitive act designed to build skill, rather than knowledge. For example, soldering kits, daily sketching, programming challenges, etc. These don't have exploratory value like experiments, expressive value like expressions, or creative value like projects, you just do them to get better at them and, by extension, the skills you want.

Meta is the time put into structure, reflection, habit formation, planning, and so on. It's dangerous to get too excited by thinking about how you're going to think about doing stuff, since it's so removed from the actual stuff, but it's also dangerous to spend too little time on it and end up in the wrong direction, or with no direction at all.

Quiet is probably the master development technique. Even without any other capacity-building activity, time specifically set aside for nothing is so valuable. This is time with no entertainment, no distraction, and no stimulation (I even find music a bit much) and most importantly fighting back the urge to fill the vacuum with stuff. I find walking or sitting in the park works well. Making some quiet space gives your brain a chance to bring up anything you've missed somewhere else, to wander into thoughts beyond your current frame of reference, and to chew through whatever background thoughts it's dealing with so that they can eventually surface.

Conclusion and future plans

This structure is an attempt to construct a definition of what I do by iterating on and extrapolating from what I've done so far. There is the core creative process, which is just making stuff. This combines with the development process to form a mutually reinforcing loop, where making stuff helps me improve, which helps me make better stuff. This also combines with the sharing process to form a three-part loop, where I make stuff and then use that stuff to provide value to others, which then helps me improve and make better stuff.

The main goal here isn't necessarily to provide a descriptive account of my activities, so much as a structure that can provide meaning to those activities and a mechanism for shaping them. Historically, I've done a good job at expression via writing, but rarely any other forms. Similarly, I've had a reasonable run at experiments by doing daily prototypes, but never really fleshed it out into something that provided a lot of value to my main projects. Coming up with ideas, on the other hand, is basically unchanged since I started it and still works just as well. Sometimes you just get lucky I guess.

My main next step is to quantify these activities. That is, right now I can say I do most of these things in an average week, but I'd like to make more specific claims like "I do some kind of creative expression every day" or "I spend about 20 quality hours on ongoing project work each week", or even "I spend time coming up with ideas most days".

I'd also like to figure out what to do with fragments. This idea evolved from a few different things I'd already done: the prototype code repo where I'd put whatever I did that day, my Twitter when I did that openness experiment, and my (long-neglected) idea globe that was meant to do double-duty as idea storage and also a public archive. What I'm missing is a good system (or good systems?) for collecting the byproducts of various parts of my process. My notes are kept in one place, my sketches another, my throwaway code yet another, and it'd be good to have some general dump that can handle all of it.

But that may need to wait for something long overdue, which is to spend a bit of time just focusing on experimenting, putting in the hours, and releasing things, and give the creative engine some steam until it's clear that it's running smoothly. In theory that's the strongest and best-tested part of the whole thing anyway, but all the effort I've been putting into meta-level stuff means I haven't actually been putting very much new work out.

Which isn't to say that I'm unhappy with my meta efforts. While my first instinct historically would have been to dismiss all this structure-wrangling as unnecessary complexity, I think I'm now ready to embrace it. What I want to do is, in some sense, fundamentally unnecessary anyway, and, far from feeling like a burden to carry, this structure feels like the opposite: a vehicle powered by the head, not the feet, to carry me down the long road ahead.