Matt Gemmell

TOLL is available now!

An action-thriller novel — book 2 in the KESTREL series.

★★★★★ — Amazon

Finger Tools

development, interface, software, tech & user experience 1 min read

In my spare time, I sketch (and sometimes build) user interface concepts, to see if they actually work in real life. Most of them exist only as private tools for my own use, but I created one recently that I’d like to show you.

One annoying thing about desktop UIs that has also appeared on touchscreen devices is the “verb then object” style of interaction, or what I call “ink dipping”. You pick a tool from some globally-positioned area (like a toolbar or palette), then move to where you actually want to use that tool - like having to periodically re-dip your pen in an inkwell. It requires a lot of unnecessary hand-movement, and breaks the idea of “direct interaction” to a certain degree.

On a touchscreen, you often have a simplified interface, with very few options, commands or tools. I was thinking about how to improve interaction in canvas-based applications (drawing, painting, charts, diagrams, etc), and it occurred to me that you often have fewer commonly-used tools than you have fingers. So, I created a UI concept/prototype that I call Finger Tools (or perhaps Touch Tools, or the Tool Glove, or some other such thing).

Finger Tools demo screenshot

The Finger Tools concept is that your fingers are your tool-palette, so that useful tools and commands are literally always at your fingertips.

Here’s a video showing how it works, which you can also watch on YouTube:


Finger Tools are triggered by touch-holding for a period, or immediately by multi-touch interaction. That’s just my current testing setup; you could of course change the triggering mechanism to suit other situations. There are a couple of interesting points about this interface:

  • Finger Tools are naturally ambidextrous, since tools trigger in priority order regardless of finger-position. Just use whichever hand you prefer.
  • You can swap tools to ease manipulation. If you prefer (as I do) to use your index finger when dragging a tool to your target area, but that tool is attached to another finger, you can simply lift and then replace both fingers to swap tools between them. This is also a natural consequence of tools appearing in priority order.

Neither of the above features required any additional code; they’re inherent and deliberate benefits of the design.

There are still some rough areas, but I think it’s a promising concept. I plan to continue to develop it.