Freedom Isn't Free
Recently, while working on a client project, a colleague mentioned that they quite liked how the limits of a particular framework pushed them down a specific path. This struck me as slightly unusual, since we usually view these sorts of limitations as productivity roadblocks that prevent us from solving problems. So this got me thinking: are constraints and limitations really a bad thing? What if we could free ourselves from constraints – I mean, everyone wants to be free, right?
Of course, we’re physically bound within all sorts of limits. Consider gravity: without it, or with the ability of natural flight, early aviation experiments wouldn’t have been necessary but its very presence posed a problem which required a creative mind to solve. Rocket science and aerodynamics aside, it’s clear to see that for inventors posed with that problem, with their limited technology, the solution was not as simple as mimicking those creatures capable of flight and the problem needed some lateral thinking applied. Throughout the last century we have continued to break our earth-bound shackles and nowadays we have jet propulsion and air, and even low-earth orbit, travel is fairly common place.
Physical limitations are no more poignant than when we consider less able-bodied people. If these people were to merely look at the constraints imposed upon themselves as something which could not be overcome, they may be excluded from certain activities enjoyed by their more able-bodied peers. Thankfully, however, that is not the case and these limitations have sparked a creative energy for invention. For example, running blades for amputees allow atheletes to compete in track events and an entire visual language was invented for hearing-impaired humans: sign language.
Like sports, games are fun and no game would work without a set of rules and constraints. Indeed it’s the very constraints that define the game and make it fun. In charades for example, the player cannot talk so they must invent another language and rely solely on visual clues to prompt others to arrive at the correct answer. Arguably, these kinds of constraints force us to concoct creative ways of acheiving a goal. Puzzles & puzzle-based games often demand that we think laterally about a problem and seek clues in less obvious sources so it’s no wonder that we often give young children jigsaw puzzles to encourage decision making and strengthen creative problem solving skills.
In all forms of design, we find ourselves confined to a set of rules, usually in the form of a brief, and software design is no exception. For someone designing a car, they are required to make it road-worthy despite whatever aesthetic principles they wish to administer, and in software design we often find ourselves being constrained to a specific platform, API or framework for example that may at first seem limiting.
It’s clear that in a world without limitations, there are no need for novel solutions to overcome these problems. In reality though, we find ourselves constrained in many ways and we can, if we choose, begin to use these constraints to drive our own creativity. We can even go one step further by applying constraints of our own in order to test and improve our own problem solving capabilities. In this way, innovation can continue to flourish in the face of obstacles, be they self-imposed, imposed by our environment or physically inherent.
One constraint in our working and personal lives alike that we can all share an affinity with is budget. How much does it take to build X piece of software? Can you feed yourself properly for a week on just a tenner? While budget constraints are not usually something we have a huge amount of control over, and it’s probably safe to say that most of us would rather pay as little as necessary, it’s worth drawing attention to. It’s potentially an area in which we’re all being creative without realising. Yes we can only go so far with so much, but it’s likely that we’re already making the budget constraints work for the job, rather than the other way round, i.e. our output is unlikely to suffer as a result.
Music, and art in general, are other areas where great creativity is to be found in the (often self-imposed) application of particular boundaries. In a recent interview, musician Mark Ramos‐Nishita (a.k.a. Money Mark) stated that limitations and rules were key to his creative, song-writing process . In fact, he was inspired by a movement within film-making with a similar approach to creativity through self-imposed boundaries and rules, known as Dogme 95 . The rules within Dogme 95 are extremely strict and one might be led to believe that this would in fact stifle creativity within cinema. However, its founders firmly believed that the mandate would usher cinema into a new age of creativity and save it from predictability.
Money Mark is not the only artist to derive a creative practice by constraining themselves. While his rules are self-imposed, Brian Eno found unexpected inspiration in something stipulated by a client’s brief that, to a musician, might seem crippling to one’s creativity: write a piece of music that is no longer than 3 1/4 seconds long . Not only did Eno eventually revel in the making of this music (so much so that he output much more than was required) but when he returned to his standard practice, he found that the lifting of the time limitation made everyday song-writing seem like he had 'oceans of time'.
In fact, I made 84 pieces. I got completely into this world of tiny, tiny little pieces of music. I was so sensitive to microseconds at the end of this that it really broke a logjam in my own work. Then when I’d finished that and I went back to working with pieces that were like three minutes long, it seemed like oceans of time.
Eno’s is a good example of a common constraint that is also usually applicable to many other practices: time. How long does it take to build the MVP for a client? It’s the length of a piece of string really… and where does it end? Imposing time constraints, like Eno had in the Windows startup chime, can actually force us to look at what is completely necessary to deliver the best product in a set period of time. We are compelled to analyse our own practices and balance them with feature requests. The Pomodoro technique actually encourages placing very hard limits on productivity windows. In fact, the technique claims to improve productivity “IMMEDIATELY!” . While this very strict approach to timekeeping mightn’t be applicable to all, it’s worth considering time limitations and comparing results with a more open-ended approach, tweaking various elements to see what works at an individual level.
How often have we complained that a particular SDK doesn’t allow us to achieve the result we so desperately seek, or is, in fact, demanded by the project, only to find ourselves working around it and producing a workable solution? For this very reason alone, I would argue that constraints, whether self-imposed or set by others, actually serve to strengthen our technical and creative problem-solving skills. Give it a go yourself… can you write a one-line program in ten minutes that prints the first one thousand prime numbers?