Cli poetry
Poetry and command line input are two ends of the linguistic spectrum that don’t often meet. In 2013 I found a static site generator called Bonsai. It was love at first site…sight.
$ bonsai --help
盆栽
bonsai, tiny and beautiful
--plant [NAME]
--repot
--cultivate
--version
--console
Bonsai’s commands are concise, memorable, and dare I say, beautiful? I came to bonsai from Jekyll. Jekyll’s commands are straightforward and fairly self explanatory. Industrial in feel. Given only a list of Jekyll’s commands, e.g. new
, serve
, build
, etc. you can arrive at a reasonable understanding of how to use it if you understand the basic concepts behind a static site generator. Bonsai is different. Its commands make sense, but aren’t necessarily self explanatory…they need to be learned.
Even so, I loved bonsai because using it felt like interacting with a poem. Bonsai’s commands are terse and appear alien in the context of a terminal window. Digital haiku.
I don’t use bonsai all that much these days (mostly because I loathe maintaining a ruby environment), but I think about it all the time. Partly out of a desire to replicate bonsai’s poetic command syntax and because I’ve been wanting to fiddle with designing command line UI, I put together a simple script to catalog ideas, IdeaVault.
I set out to design a minimal UI that was both easy to learn (aka intuitive) and “poetic.” My aim was to come up with a set of commands that are memorable while also not being run of the mill, or…computer science-y.
Here is what I settled on:
$ ./.ideavault --help
ᕙ(⇀‸↼‶)ᕗ
Idea Vault, forget fewer things.
idea Save an idea
remember List all ideas
forget Delete last idea
--help Show this message
--version Version number
I’ve been using the script for a few weeks now. I’m pleased with it, but it is by no means perfect. I am most certainly going to continue to explore this style of interaction design. Maybe I’ll read Amber Case’s Calm Technology as a next step.