Artist’s will tell you the worst thing they ever encounter is a blank canvas.
When building an app on my own, I could easily type
rails new app, but all it does is provide an empty container that I have to consider and work to fill. The possibilities are endless. It’s paralyzing.
So I set a goal. Google says there’s fifty different ways of doing it. Some will argue one way works over another, while others will say that it’s a matter of style.That goal seems even farther away, even though I’m programming and actually building the damn thing. Motivation drops. The app falls by the wayside.
Consider, Constrain, Create
I consider the consequences of trying to play code golf, or having to finish as quickly as possible. Is my code readable? What might I miss if I go too fast?
As a break from my usual coding, I looked at the fantasy console Pico-8. It’s defined by it’s limitations. Limited memory, limited graphics, limited sound manipulation, limited Lua language support. If more choices were what defined the worth of a tool, this would be a terrible tool to use.
But it’s not.
Limited size means careful consideration about the efficiency of my code.
Limited graphic and sound choices means that the aesthetic of the game has to communicate clearly otherwise the meaning and intent of the game is lost.
A more limited and stripped down language ensures a low barrier of entry and forces me to consider how the magic methods in other languages work.
As a learning experience, it’s pretty damn fun.
Sometimes I am restricted by the requirements of my project or my tools. Other times I choose it. So I can learn. Or avoid decision fatigue. Intentionality is key. Otherwise it’s just false difficulty.
If you have the time, want to learn something, or having trouble with motivation. Slap a restriction on it. Force yourself to think a little.