Unboxing’ at Behavior Design Amsterdam #16

Below is a write-up of the talk I gave at the Behav­ior Design Ams­ter­dam #16 meet­up on Thurs­day, Feb­ru­ary 15, 2018.

'Pandora' by John William Waterhouse (1896)
‘Pan­do­ra’ by John William Water­house (1896)

I’d like to talk about the future of our design prac­tice and what I think we should focus our atten­tion on. It is all relat­ed to this idea of com­plex­i­ty and open­ing up black box­es. We’re going to take the scenic route, though. So bear with me.

Software Design

Two years ago I spent about half a year in Singapore.

While there I worked as prod­uct strate­gist and design­er at a start­up called ARTO, an art rec­om­men­da­tion ser­vice. It shows you a ran­dom sam­ple of art­works, you tell it which ones you like, and it will then start rec­om­mend­ing pieces it thinks you like. In case you were won­der­ing: yes, swip­ing left and right was involved.

We had this inter­est­ing prob­lem of ingest­ing art from many dif­fer­ent sources (most­ly online gal­leries) with meta­da­ta of wild­ly vary­ing lev­els of qual­i­ty. So, using meta­da­ta to fig­ure out which art to show was a bit of a non-starter. It should come as no sur­prise then, that we start­ed look­ing into machine learning—image pro­cess­ing in particular.

And so I found myself work­ing with my engi­neer­ing col­leagues on an art rec­om­men­da­tion stream which was dri­ven at least in part by machine learn­ing. And I quick­ly realised we had a prob­lem. In terms of how we worked togeth­er on this part of the prod­uct, it felt like we had tak­en a bunch of steps back in time. Back to a way of col­lab­o­rat­ing that was less inte­grat­ed and less responsive.

That’s because we have all these nice tools and tech­niques for design­ing tra­di­tion­al soft­ware prod­ucts. But soft­ware is deter­min­is­tic. Machine learn­ing is fun­da­men­tal­ly dif­fer­ent in nature: it is probabilistic.

It was hard for me to take the lead in the design of this part of the prod­uct for two rea­sons. First of all, it was chal­leng­ing to get a first-hand feel of the machine learn­ing fea­ture before it was implemented.

And sec­ond of all, it was hard for me to com­mu­ni­cate or visu­alise the intend­ed behav­iour of the machine learn­ing fea­ture to the rest of the team.

So when I came back to the Nether­lands I decid­ed to dig into this prob­lem of design for machine learn­ing. Turns out I opened up quite the can of worms for myself. But that’s okay.

There are two rea­sons I care about this:

The first is that I think we need more design-led inno­va­tion in the machine learn­ing space. At the moment it is engi­neer­ing-dom­i­nat­ed, which doesn’t nec­es­sar­i­ly lead to use­ful out­comes. But if you want to take the lead in the design of machine learn­ing appli­ca­tions, you need a firm han­dle on the nature of the technology.

The sec­ond rea­son why I think we need to edu­cate our­selves as design­ers on the nature of machine learn­ing is that we need to take respon­si­bil­i­ty for the impact the tech­nol­o­gy has on the lives of peo­ple. There is a lot of talk about ethics in the design indus­try at the moment. Which I con­sid­er a pos­i­tive sign. But I also see a reluc­tance to real­ly grap­ple with what ethics is and what the rela­tion­ship between tech­nol­o­gy and soci­ety is. We seem to want easy answers, which is under­stand­able because we are all very busy peo­ple. But hav­ing spent some time dig­ging into this stuff myself I am here to tell you: There are no easy answers. That isn’t a bug, it’s a fea­ture. And we should embrace it.

Machine Learning

At the end of 2016 I attend­ed ThingsCon here in Ams­ter­dam and I was intro­duced by Ianus Keller to TU Delft PhD researcher Péter Kun. It turns out we were both inter­est­ed in machine learn­ing. So with encour­age­ment from Ianus we decid­ed to put togeth­er a work­shop that would enable indus­tri­al design mas­ter stu­dents to tan­gle with it in a hands-on manner.

About a year lat­er now, this has grown into a thing we call Pro­to­typ­ing the Use­less But­ler. Dur­ing the work­shop, you use machine learn­ing algo­rithms to train a mod­el that takes inputs from a net­work-con­nect­ed arduino’s sen­sors and dri­ves that same arduino’s actu­a­tors. In effect, you can cre­ate inter­ac­tive behav­iour with­out writ­ing a sin­gle line of code. And you get a first hand feel for how com­mon appli­ca­tions of machine learn­ing work. Things like regres­sion, clas­si­fi­ca­tion and dynam­ic time warping.

The thing that makes this work­shop tick is an open source soft­ware appli­ca­tion called Wek­ina­tor. Which was cre­at­ed by Rebec­ca Fiebrink. It was orig­i­nal­ly aimed at per­form­ing artists so that they could build inter­ac­tive instru­ments with­out writ­ing code. But it takes inputs from any­thing and sends out­puts to any­thing. So we appro­pri­at­ed it towards our own ends.

You can find every­thing relat­ed to Use­less But­ler on this GitHub repo.

The think­ing behind this work­shop is that for us design­ers to be able to think cre­ative­ly about appli­ca­tions of machine learn­ing, we need a gran­u­lar under­stand­ing of the nature of the tech­nol­o­gy. The thing with design­ers is, we can’t real­ly learn about such things from books. A lot of design knowl­edge is tac­it, it emerges from our phys­i­cal engage­ment with the world. This is why things like sketch­ing and pro­to­typ­ing are such essen­tial parts of our way of work­ing. And so with use­less but­ler we aim to cre­ate an envi­ron­ment in which you as a design­er can gain tac­it knowl­edge about the work­ings of machine learning.

Sim­ply put, for a lot of us, machine learn­ing is a black box. With Use­less But­ler, we open the black box a bit and let you peer inside. This should improve the odds of design-led inno­va­tion hap­pen­ing in the machine learn­ing space. And it should also help with ethics. But it’s def­i­nite­ly not enough. Knowl­edge about the tech­nol­o­gy isn’t the only issue here. There are more black box­es to open.

Values

Which brings me back to that oth­er black box: ethics. Like I already men­tioned there is a lot of talk in the tech indus­try about how we should “be more eth­i­cal”. But things are often reduced to this notion that design­ers should do no harm. As if ethics is a prob­lem to be fixed in stead of a thing to be practiced.

So I start­ed to talk about this to peo­ple I know in acad­e­mia and more than once this thing called Val­ue Sen­si­tive Design was men­tioned. It should be no sur­prise to any­one that schol­ars have been chew­ing on this stuff for quite a while. One of the ear­li­est ref­er­ences I came across, an essay by Batya Fried­man in Inter­ac­tions is from 1996! This is a les­son to all of us I think. Pay more atten­tion to what the aca­d­e­mics are talk­ing about.

So, at the end of last year I dove into this top­ic. Our host Iskan­der Smit, Rob Mai­jers and myself coor­di­nate a grass­roots com­mu­ni­ty for tech work­ers called Tech Sol­i­dar­i­ty NL. We want to build tech­nol­o­gy that serves the needs of the many, not the few. Val­ue Sen­si­tive Design seemed like a good thing to dig into and so we did.

I’m not going to dive into the details here. There’s a report on the Tech Sol­i­dar­i­ty NL web­site if you’re inter­est­ed. But I will high­light a few things that val­ue sen­si­tive design asks us to con­sid­er that I think help us unpack what it means to prac­tice eth­i­cal design.

First of all, val­ues. Here’s how it is com­mon­ly defined in the literature:

A val­ue refers to what a per­son or group of peo­ple con­sid­er impor­tant in life.”

I like it because it’s com­mon sense, right? But it also makes clear that there can nev­er be one mono­lith­ic def­i­n­i­tion of what ‘good’ is in all cas­es. As we design­ers like to say: “it depends” and when it comes to val­ues things are no different.

Per­son or group” implies there can be var­i­ous stake­hold­ers. Val­ue sen­si­tive design dis­tin­guish­es between direct and indi­rect stake­hold­ers. The for­mer have direct con­tact with the tech­nol­o­gy, the lat­ter don’t but are affect­ed by it nonethe­less. Val­ue sen­si­tive design means tak­ing both into account. So this blows up the con­ven­tion­al notion of a sin­gle user to design for.

Var­i­ous stake­hold­er groups can have com­pet­ing val­ues and so to design for them means to arrive at some sort of trade-off between val­ues. This is a cru­cial point. There is no such thing as a per­fect or objec­tive­ly best solu­tion to eth­i­cal conun­drums. Not in the design of tech­nol­o­gy and not any­where else.

Val­ue sen­si­tive design encour­ages you to map stake­hold­ers and their val­ues. These will be dif­fer­ent for every design project. Anoth­er approach is to use lists like the one pic­tured here as an ana­lyt­i­cal tool to think about how a design impacts var­i­ous values.

Fur­ther­more, dur­ing your design process you might not only think about the short-term impact of a tech­nol­o­gy, but also think about how it will affect things in the long run.

And sim­i­lar­ly, you might think about the effects of a tech­nol­o­gy not only when a few peo­ple are using it, but also when it becomes wild­ly suc­cess­ful and every­body uses it.

There are tools out there that can help you think through these things. But so far much of the work in this area is hap­pen­ing on the aca­d­e­m­ic side. I think there is an oppor­tu­ni­ty for us to cre­ate tools and case stud­ies that will help us edu­cate our­selves on this stuff.

There’s a lot more to say on this but I’m going to stop here. The point is, as with the nature of the tech­nolo­gies we work with, it helps to dig deep­er into the nature of the rela­tion­ship between tech­nol­o­gy and soci­ety. Yes, it com­pli­cates things. But that is exact­ly the point.

Priv­i­leg­ing sim­ple and scal­able solu­tions over those adapt­ed to local needs is social­ly, eco­nom­i­cal­ly and eco­log­i­cal­ly unsus­tain­able. So I hope you will join me in embrac­ing complexity.

Playing with emergence is like gardening

It’s been a while since I fin­ished read­ing Steven Berlin John­son’s Emer­gence. I picked up the book because ever since I start­ed think­ing about what IxDs can learn from game design, the con­cept of emer­gence kept pop­ping up.

Johnson’s book is a pleas­ant read, an easy-going intro­duc­tion to the sub­ject. I start­ed and fin­ished it over the course of a week­end. There were a few pas­sages I marked as I went a long, and I’d like to quote them here and com­ment on them. In order, they are about:

  1. Prin­ci­ples that are required for emer­gence to happen
  2. How learn­ing can be unconscious
  3. Unique skills of game players
  4. Gar­den­ing as a metaphor for using (and mak­ing) emer­gent systems

A cheat sheet

Let’s start with the prin­ci­ples.1

If you’re build­ing a sys­tem designed to learn from the ground lev­el, a sys­tem where macroin­tel­li­gence and adapt­abil­i­ty derive from local knowl­edge, there are five fun­da­men­tal prin­ci­ples you need to follow.”

These prin­ci­ples togeth­er form a use­ful crib sheet for design­ers work­ing on social soft­ware, MMOGs, etc. I’ll sum­marise each of Johnson’s prin­ci­ples here.

More is different.”

You need to have a size­able amount of low-lev­el ele­ments inter­act­ing to get pat­terns emerg­ing. Also, there is a dif­fer­ence between the behav­iour you will observe on the microlev­el, and on the macrolev­el. You need to be aware of both.

Igno­rance is useful.”

The sim­ple ele­ments don’t have to be aware of the high­er-lev­el order. In fact, it’s best if they aren’t. Oth­er­wise nasty feed­back-loops might come into being.

Encour­age ran­dom encounters.”

You need chance hap­pen­ings for the sys­tem to be able to learn and adapt.2

Look for pat­terns in the signs.”

Sim­ply put, the basic ele­ments can have a sim­ple vocab­u­lary, but should be able to recog­nise pat­terns. So although you might be work­ing with only one sig­nal, things such as fre­quen­cy and inten­si­ty should be used to make a range of meanings.

Pay atten­tion to your neighbours.”

There must be as much inter­ac­tion between the com­po­nents as pos­si­ble. They should be made con­stant­ly aware of each other.

Now with these prin­ci­ples in mind look at sys­tems that suc­cess­ful­ly lever­age col­lec­tive intel­li­gence. Look at Flickr for instance. They are all present.

Chicken pox

I liked the fol­low­ing pas­sage because it seems to offer a nice metaphor for what I think is the unique kind of learn­ing that hap­pens while play­ing. In a way, games and toys are like chick­en pox.3

[…] learn­ing is not always con­tin­gent on con­scious­ness. […] Most of us have devel­oped immu­ni­ty to the vari­cel­la-zoster virus—also known as chick­en pox—based on our expo­sure to it ear­ly in child­hood. The immu­ni­ty is a learn­ing process: the anti­bod­ies of our immune sys­tem learn to neu­tral­ize the anti­gens of the virus, and they remem­ber those neu­tral­iza­tion strate­gies for the rest of our lives. […] Those anti­bod­ies func­tion as a “recog­ni­tion sys­tem,” in Ger­ald Edelman’s phrase, suc­cess­ful­ly attack­ing the virus and stor­ing the infor­ma­tion about it, then recall­ing that infor­ma­tion the next time the virus comes across the radar. […] the recog­ni­tion unfolds pure­ly on a cel­lu­lar lev­el: we are not aware of the vari­cel­la-zoster virus in any sense of the word, […] The body learns with­out con­scious­ness, and so do cities, because learn­ing is not just about being aware of infor­ma­tion; it’s also about stor­ing infor­ma­tion and know­ing where to find it. […] It’s about alter­ing a system’s behav­iour in response to those pat­terns in ways that make the sys­tem more suc­cess­ful at what­ev­er goal it’s pur­su­ing. The sys­tem need not be con­scious to be capa­ble of that kind of learn­ing.

Empha­sis on the last sen­tence mine, by the way.

Patience

John­son writes about his impres­sion of chil­dren play­ing video games:4

[…] they are more tol­er­ant of being out of con­trol, more tol­er­ant of that explorato­ry phase where the rules don’t all make sense, and where few goals have been clear­ly defined.”

This atti­tude is very valu­able in today’s increas­ing­ly com­plex world. It should be fos­tered and lever­aged in areas besides gam­ing too, IMHO. This point was at the core of my Play­ing With Com­plex­i­ty talk.

Gardening

Inter­act­ing with emer­gent soft­ware is already more like grow­ing a gar­den than dri­ving a car or read­ing a book.”5

Yet, we still tend to approach the design of sys­tems like this from a tra­di­tion of mak­ing tools (cars) or media (books). I not only believe that the use of sys­tems like this is like gar­den­ing, but also their cre­ation. Per­haps they lie in each other’s exten­sion, are part of one nev­er-end­ing cycle? In any case, when design­ing com­plex sys­tems, you need to work with it “live”. Plant some seeds, observe, prune, weed, plant some more, etc. 

I am going to keep a gar­den (on my bal­cony). I’m pret­ty sure that will teach me more about inter­ac­tion design than build­ing cars or writ­ing books.

  1. The fol­low­ing quotes are tak­en from pages 77–79. []
  2. This reminds me of Nas­sim Nicholas Taleb’s The Black Swan, where­in he writes about max­imis­ing your chance of hav­ing serendip­i­tous encoun­ters. []
  3. Tak­en from pages 103–104. []
  4. Page 177. []
  5. Page 207. []

Playing With Complexity — slides and notes for my NLGD Festival of Games talk

When the NLGD Foun­da­tion invit­ed me to speak at their anu­al Fes­ti­val of Games I asked them what they would like me to dis­cuss. “Any­thing you like,” was what they said, essen­tial­ly. I decid­ed to sub­mit an abstract deal­ing with data visu­al­iza­tion. I had been pay­ing more and more atten­tion to this field, but was unsuc­cess­ful in relat­ing it the oth­er themes run­ning through my work, most notably play. So I thought I’d force myself to tack­le this issue by promis­ing to speak about it. Often a good strat­e­gy, I’ve found. If it worked out this time I leave for you to judge.

In brief, in the pre­sen­ta­tion I argue two things: one — that the more sophis­ti­cat­ed appli­ca­tions of inter­ac­tive data visu­al­iza­tion resem­ble games and toys in many ways, and two — that game design can con­tribute to the solu­tions to sev­er­al design issues I have detect­ed in the field of data visualization.

Below are the notes for the talk, slight­ly edit­ed, and with ref­er­ences includ­ed. The full deck of slides, which includes cred­its for all the images used, is up on SlideShare.

Hel­lo every­one, my name is Kars Alfrink. I am a Dutch inter­ac­tion design­er and I work free­lance. At the moment I work in Copen­hagen, but pret­ty soon I will be back here in Utrecht, my love­ly hometown. 

In my work I focus on three areas: mobil­i­ty, social inter­ac­tions, and play. Here is an exam­ple of my work: These are sto­ry­boards that explore pos­si­ble appli­ca­tions of mul­ti­touch tech­nol­o­gy in a gat­ed com­mu­ni­ty. Using these tech­nolo­gies I tried to com­pen­sate for the neg­a­tive effects a gat­ed com­mu­ni­ty has on the build-up of social cap­i­tal. I also tried to bal­ance ‘being-in-the-screen’ with ‘being-in-the-world’ — mul­ti­touch tech­nolo­gies tend to be very atten­tion-absorb­ing, but in built envi­ron­ments this is often not desir­able.1

I am not going to talk about mul­ti­touch though. Today’s top­ic is data visu­al­iza­tion and what oppor­tu­ni­ties there are for game design­ers in that field. My talk is rough­ly divid­ed in three parts. First, I will briefly describe what I think data visu­al­iza­tion is. Next, I will look at some appli­ca­tions beyond the very obvi­ous. Third and last, I will dis­cuss some design issues involved with data visu­al­iza­tion. For each of these issues, I will show how game design can contribute.

Right, let’s get started.

Con­tin­ue read­ing Play­ing With Com­plex­i­ty — slides and notes for my NLGD Fes­ti­val of Games talk

  1. For more back­ground on this project please see this old­er blog post. More exam­ples of my recent work can be found in my port­fo­lio. []

Learning about emergence from games

A game of Go

I’m still try­ing to get a grip on why I think games are such a good ref­er­ence point for IAs and IxDs. I’ll try to take anoth­er stab at it in this post. Pre­vi­ous­ly I wrote about how games might be a good way to ‘sell’ algo­rith­mic archi­tec­tures to your client. Even if you’re not active­ly push­ing your clients to adopt ideas such as on-the-fly cre­ation of site nav­i­ga­tion, soon­er or lat­er I’m con­vinced you’ll find your­self con­front­ed with a project where you’re not asked to devel­op a defin­i­tive infor­ma­tion archi­tec­ture. Instead you’ll be charged with the task to come up with mech­a­nisms to gen­er­ate these pro­ce­du­ral­ly. When this is this case, you’re tru­ly fac­ing a sec­ond-order design prob­lem. How can games help here? 

One of the defin­ing char­ac­ter­is­tics of games are their com­plex­i­ty. A few years ago Ben Cer­ve­ny gave a bril­liant talk on play (MP3) at Reboot 7.0 and men­tioned this specif­i­cal­ly — that much of the plea­sure derived from game-play is the result of the play­er com­ing to terms with com­plex pat­terns. This com­plex­i­ty is some­thing dif­fer­ent from pure ran­dom­ness and most cer­tain­ly dif­fer­ent from a ‘mere’ state machine. In oth­er words, games show emergence.

There are many exam­ples of emer­gent sys­tems. The Game of Life springs to mind. This sys­tem isn’t real­ly a game but shows a remark­able rich­ness in pat­terns, despite (or maybe because of) the fact that it is based on a set of decep­tive­ly sim­ple rules (which appar­ent­ly took its cre­ator, John Con­way, over 2 years to per­fect!) The thing is though, The Game of Life is not interactive. 

A won­der­ful exam­ple of a com­plex emer­gent sys­tem that is inter­ac­tive is the real game Go. It has a set of very sim­ple rules, but play­ing it well takes a huge amount of prac­tice. The joy of play­ing Go for me (an absolute begin­ner) is large­ly due to dis­cov­er­ing the many dif­fer­ent per­mu­ta­tions play can go through. 

So get­ting back to my ear­li­er remark: If you’re con­vinced you’ll need to get a bet­ter han­dle on solv­ing the sec­ond-order design prob­lems pre­sent­ed by the design of com­plex emer­gent sys­tems, games are an excel­lent place to start learn­ing. They are emer­gent first and inter­ac­tive sec­ond, the per­fect twin to the web envi­ron­ments we’ll be shap­ing in the future.