Hardware interfaces for tuning the feel of microinteractions

In Dig­i­tal Ground Mal­colm McCul­lough talks about how tun­ing is a cen­tral part of inter­ac­tion design prac­tice. How part of the chal­lenge of any project is to get to a point where you can start tweak­ing the vari­ables that deter­mine the behav­iour of your inter­face for the best feel.

Feel” is a word I bor­row from game design. There is a book on it by Steve Swink. It is a fun­ny term. We are try­ing to sim­u­late sen­sa­tions that are derived from the phys­i­cal realm. We are try­ing to make things that are pure­ly visu­al behave in such a way that they evoke these sen­sa­tions. There are many games that heav­i­ly depend on get­ting feel right. Basi­cal­ly all games that are built on a physics sim­u­la­tion of some kind require good feel for a good play­er expe­ri­ence to emerge.

Physics sim­u­la­tions have been find­ing their way into non-game soft­ware prod­ucts for some time now and they are becom­ing an increas­ing part of what makes a prod­uct, er, feel great. They are often at the foun­da­tion of sig­na­ture moments that set a prod­uct apart from the pack. These sig­na­ture moments are also known as microin­t­er­ac­tions. To get them just right, being able to tune well is very important.

The behav­iour of microin­t­er­ac­tions based on physics sim­u­la­tions is deter­mined by vari­ables. For exam­ple, the feel of a spring is deter­mined by the mass of the weight attached to the spring, the spring’s stiff­ness and the fric­tion that resists the motion of the weight. These vari­ables inter­act in ways that are hard to mod­el in your head so you need to make repeat­ed changes to each vari­able and try the sim­u­la­tion to get it just right. This is time-con­sum­ing, cum­ber­some and resists the easy explo­ration of alter­na­tives essen­tial to a good design process.

In The Set­up game design­er Ben­nett Fod­dy talks about a way to improve on this work­flow. Many of his games (if not all of them) are playable physics sim­u­la­tions with pun­ish­ing­ly hard con­trols. He sug­gests using a hard­ware inter­face (a MIDI con­troller) to tune the vari­ables that deter­mine the feel of his game while it runs. In this way the loop between chang­ing a vari­able and see­ing its effect in game is dra­mat­i­cal­ly short­ened and many dif­fer­ent com­bi­na­tions of val­ues can be explored eas­i­ly. Once a sat­is­fac­to­ry set of val­ues for the vari­ables has been found they can be writ­ten back to the soft­ware for future use.

I do believe such a set­up is still non-triv­ial to make work with todays tools. A quick check ver­i­fies that Framer does not have OSC sup­port, for exam­ple. There is an oppor­tu­ni­ty here for pro­to­typ­ing envi­ron­ments such as Framer and oth­ers to sup­port it. The approach is not lim­it­ed to motion-based microin­t­er­ac­tions but can be extend­ed to the tun­ing of vari­ables that con­trol oth­er aspects of an app’s behaviour. 

For exam­ple, when we were mak­ing Stand­ing, we would have ben­e­fit­ed huge­ly from hard­ware con­trols to tweak the sen­si­tiv­i­ty of its motion-sens­ing func­tions as we were using the app. We were forced to do it by repeat­ed­ly chang­ing num­bers in the code and build­ing the app again and again. It was quite a pain to get right. To this day I have the feel­ing we could have made it bet­ter if only we would have had the tools to do it.

Judg­ing from sna­fus such as the poor feel of the lat­est Twit­ter desk­top client, there is a real need for bet­ter tools for tun­ing microin­t­er­ac­tions. Just like pen tablets have become indis­pens­able for those design­ing the form of user inter­faces on screens. I think we might soon find a small set of hard­ware knobs on the desks of those design­ers work­ing on the behav­iour of user interfaces.

Week 148

So, the first full week of work­ing in Copen­hagen is behind me. I’ve most­ly been work­ing from our apart­ment in Nør­re­bro. Which is fine for now but I am look­ing for­ward to get­ting out more, and maybe doing some cowork­ing here and there. Would­n’t want to turn into a real her­mit here.

Let me have a look at my cal­en­dar, what’s been going on? 

Ah, so I had a meet­ing with Mar­tin and Andreas of Social Square (at the very charm­ing Gra­nola, where they serve very tasty mixed juices, by the way). We’ll be doing a mul­ti­ple day work­shop to look at their design process and dis­cov­er ways to use play as a tool for work­ing with clients. The ses­sion is sched­uled to take place in a few weeks. I just need to devel­op a more detailed plan for the session.

Nordic Game Indie Night

I crossed the Øre­sund on tues­day evening to attend the Nordic Game Indie Night, which was orga­nized by the Copen­hagen Game Col­lec­tive (whose Dark­room Sex Game I’ve blogged about here before). There were six games on dis­play, all from Scan­di­na­vian cre­ators. There was free beer. And there were a few talks, of vast­ly dif­fer­ing depth and enter­tain­ment val­ue. The set­up was nice though: the games’ cre­ators talked about each oth­ers work. The only prob­lem was that many weren’t very artic­u­late, and shied away from actu­al­ly crit­i­ciz­ing games. Some, though, like the guys from D‑Pad Stu­dio, real­ly took the time to ana­lyze a game on dif­fer­ent lev­els. Oth­ers, like Cac­tus, seemed more inter­est­ed in drink­ing beer. How­ev­er, Cac­tus’s game Tun­ing was my favorite of the bunch, for its sheer mind-fuck awesomeness.

Apart from this, I’ve con­tin­ued work on Layar, had anoth­er round of men­tor­ing chats with my stu­dents and made some more prepa­ra­tions for This hap­pened – Utrecht #6. We opened reg­is­tra­tion for the lat­ter on mon­day, by the way, and were ful­ly booked in 58 sec­onds (and had some serv­er wonk­i­ness in the process). Crazy, crazy stuff.