Friday, February 12, 2010

Form vs. Function: a Space Odyssey

I was teaching Object Oriented Design past week, and I mentioned the interplay between form and function (form follows function; function follows form). I'm rather cautious not to spend too much time on philosophy, although a little philosophy shouldn't hurt, and people who know me tend to expect a short philosophical digression every now and then.

Function follows form: that is to say, the shape of an object will suggest possible uses. Form follows function: the intended usage of an object will constrain, and therefore guide, its physical shape. This is true for software objects as well. It's just a different material, something we can't immediately see and shape with our hands.

Realizing that function follows form is a pivotal moment in the development of intelligence. You probably remember the opening of 2001: A Space Odyssey. The apes are touching the monolith and, shortly after, one of them is playing with a bone and bang! - it's not just a bone anymore: it's a tool. Function follows form. This chapter is known as "The Dawn of Man", and rightly so.

Watch a little more, and you'll see a doughnut-shaped space station. That's a very good example of form following function (exercise for the reader :-)

By the way, if you have never seen that apes stuff till now :-), here it is, at least until it gets removed from YouTube...

3 comments:

daniele said...

Uhm... ci ho pensato un po', ma non sono proprio sicuro che la forma suggerisca la funzione. Almeno non più: forse capitava nella civiltà della pietra, ma oggi è ancora così? Mi puoi fare degli esempi?

Carlo.Pescio said...

Migliaia :-) ma tentero' di limitarmi. Una premessa: la teoria secondo la quale la forma suggerisce la funzione (e viceversa) non e' di mia creazione (purtroppo), ed e' molto ben consolidata per gli oggetti fisici.

Torniamo agli esempi. Pensa ad un maniglione antipanico, tipo quelli che sicuramente vengono fuori cercandoli con google images. Nessuno sbaglia a usarli. La forma suggerisce una funzione ovvia (e nei casi di panico implicita): appoggiati e spingi per aprire la porta.

Anche questo esempio non e' una mia creazione: l'ho letto anni fa in un bel libro sull'interazione uomo macchina ("The Design of Everyday Things" di Donald Norman) che citavo anche in un vecchio post

Peraltro, l'intera teoria delle affordances e' basata sull'idea che la giusta forma ti suggerisce la funzione primaria dell'oggetto e come usarlo. Ma ogni oggetto suggerisce anche funzioni secondarie (vedi sotto).

Un altro esempio giusto per non essere tirchi: una qualunque forma cava suggerisce una funzione (riempirla). Con un po' di sforzo suggerisce anche altri usi. Anche di questo, sotto un'altra luce, parlavo in un altro vecchio post.

Un altro esempio ancora: molte persone, per aprire un secchio di pittura, usano un cacciavite. Quella non e' la funzione primaria del cacciavite, ma la forma del cacciavite suggerisce quella funzione. Ancora, parecchie persone dopo aver aperto il barattolo useranno (orrore :-)) lo stesso cacciavite per mescolare la pittura. Di nuovo, e' la forma che suggerisce la funzione (non primaria).

Come dicevo, esempi se ne possono fare a migliaia, anche al contrario. Se un tavolo ha una gamba piu' corta, ci metti sotto una sfera? :-)

Piu' difficile e' imparare a giocare con la forma del software; questo e' un tema troppo ampio per un commento... ma ovviamente ci tornero' sopra...

daniele said...

Mi hai convinto. Adesso però mi chiedo come possa la forma del software suggerirne la funzione. Attenderò un nuovo post sul blog...