New Story Button

On Re-Programming Your Own UI

The more time I spend online, the more loudly my body complains about it.

Whether it’s repeated clicking on a mouse (even a “magic” mouse), or endless streams of multi-key combos for copying, pasting, selecting all, and on and on… Or just all the mouse work to have to go and check that little red dot on the Slack icon in the sidebar, only to find out that the big update in the channel was someone saying “yeah,” then closing the window, going back to “work” — or whatever semblance of it you can manage to string together in today’s world of multi-project, multi-program, multi-tasking. Whatever is going on is making my hands and arms hurt. I assume everyone else must be having these problems to a certain extent but aren’t talking about it.

Is copy-pasting the silent killer of our generation?

It’s enough to drive anyone crazy, but I can’t (yet) bring myself to engage in timed bouts of work like allegedly occur to practitioner’s of the ancient Pomodoro technique.

I prefer a more hands-on approach.

Watching this video really kickstarted it for me:

Basically it shows a split screen of someone typing something out of performing a repetitive action on a computer on the left hand side, and on the right shows someone who has set up a small customized X-Keys controller to trigger macros on their computer.

Guess who is faster.

In the video, they use a small X-Keys pad like this:

Very ugly if you ask me, though cool that you can print out your own labels and backlight your keys and stuff. But for just fooling around, the price seemed way too high, which made me investigate other options, finally settling on a Korg NanoKEY2, which is actually meant to be a MIDI input device, but I figured I would try out because it felt more in the realm of what I was going for:

And I liked the idea of trying to build input elements around an existing musical device interface — the piano keyboard.

The device is the same width as a MacBook Air, but I decided to use it turned 90 degrees, because I already have a full-size USB keyboard in front of my laptop to break up and distribute the locations of repetitive interface actions. Each keyboard is now at a different level, and I sort of jump spontaneously between them and jam out as necessary.

Yes, it’s very rock ‘n roll, my workstation.

Especially now that I’ve realized my ambition of programming a custom MIDI piano to control important browser functions a pro-level of internet copy/pasting:

The key layout is a work in progress and changes so far each of the two days that I’ve been using it. Here was the original:

CL is click. I’ve duplicated some mouse functionalty over to the left hand, combined with multi-key combinations, a few browser functions and the calling up of the most used programs in my “workflow” — which is itself perpetually evolving, we hope.

My biggest innovation in version two, (the one above the above), was to program a button that gets me the URL of the current web page already copied to my clipboard. You wanna talk about disruptive… OMFG

The program that makes this all possible is Keyboard Maestro for the Mac. You can set up basically really simple linkages between triggers, events, or incoming signals in the case of a MIDI key press and a specific programmed action on the computer. [Note: I tried MIDIStroke and couldn’t do anything with it. Maestro clinches it.]

Here’s a Slack macro I set up from customized available functions in Keyboard Maestro, which explains kind of everything at once, I hope:

So now when I see a new red bubble message indicator on my slumbering Slack icon, I can just hit the Slack key, which pops up with the quick switcher enabled, so I can immediately go anywhere or to channels with recent activity.

I guess really what I’m doing is pretty much thising my life:

But hopefully in a way that is less stupid.

Anyway, other personal greatest hits buttons which made it to round two in a different configuration include:

  • Firefox/Chrome as a button
  • Programmer switcher (not quite functional yet)
  • Screen shot to clipboard / screenshot to file / Skitch screenshot
  • Get URL
  • New tab / Tab left, tab right
  • Refresh / find
  • Top of page / close window
  • Copy / paste / undo
  • Left click / right click
  • Scroll up / scroll down

Anyway, I can already tell that my hands and arms are thanking me by breaking up and distributing these different repetitive computer & browser actions and simplifying them into single key-presses I don’t have to stress or stretch to reach.

It makes the whole experience more musical.

Especially when you also run a synth (like SimpleSynth) at the same time, so whenever you use one of your extended piano board functions, you also hear a musical note, or whatever you programmed into it.

So like “Copy - Paste - Firefox - Close Window” becomes a sequence of four musical notes. So you start to have musical phrases which come about as a result of using the interface.

Or even better:

When you start re-configuring input devices, I find that it does strange things to your brain. You start to want to try to link everything…

Like, can I, for example, have a “New Story” key on my computer?

Do I dare to live the dream?

“Works for me”
One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.