Adaptive design and layers

One of the topic that struck me as very compelling in Dan Saffer's "Designing for Interaction: Creating Smart Applications and Clever Devices (VOICES)" was the chapter about smart applications and clever devices. In this part, the author describes the different ways to design with that goal in mind: give applications/services a sense of history, design for multitasking, allows customization, personalization, adaption or hackability. Among all the different "design for hackability" concepts, the one of "layers" (Steward Brand and Tom Moran) is very relevant. The idea lies on the discrimination of "fast layers" that can change frequently and easily, and "slow layers" that provide stability and continuity, like a foundation. As Dan Saffer describes:

If products are desgied so that the upper layers are more exposed (if the seams show, in other words), hackers can play with those, leaving the bottom layers to provide continuity and possibility to eventually integrate changes made in the upper level.

Such a concept is nicely exemplified in Tom Moran's talk about "Adaptive Design" at DIS in 2002 (see the powerpoint slides as well as Dan Hill's notes):

Moran describes why Victorian Houses are so "adaptable": it's because of their sturdiness , the generous hallway, the room is the module, not the dwelling unit and modular rooms (same size, generous, each has light, connectable). [An aparté here, this is very pertinent lately with computing pervading the environment, as described by Jef Huang's talk the other day that stressed this idea of having a core foundation and flexible components in the Swiss House].

Saffer then goes on:

If an application is designed so that those in the know can find the seams between some of these layers (for instance, form instructions hidden in the visible source code), then hackers can hack those locations to their heart's content.

He mentions people "in the know" who can "hack" but what about the down-to-earth end- users, what about giving them the opportunity to "slip between layers". Maybe what I am discussing here has no sense because this is only about turning every user in a hacker (Ã la Michel de Certeau).

One of the strength in Saffer's book is the well-informed interview that are smart enough to provide more context to his take. About this layer issue, Dan Hill's contribution is a good addendum. In this interview, one of his points regarding the creation of hackable products are to:

  1. make sure affordances and seams are clear and malleable.
  2. enable interrogation, cloning and manipulation on particular layers.
  3. learn for the malleability, object-oriented nature and social behavior of code.
  4. build products that are self-aware in terms of behavior/usage, which then present those findings back to the users.
  5. enable products to emerge from this behavior, as well as from design research
  6. enable social interaction around products

Why do I blog this Back to the idea of building "clever and smart products", I found this discussion very relevant, ten times more than the discussion about automation and intelligent agent that people keep bringing to the table. I am not referring to Saffer's book here, what I'd like to stress here is that the direction I see technological innovation heading will be closer to that vision of adaptive design.

Would it be possible to link those thoughts to the discusson about granularity in uibcomp that Fabien mentions, in his blogpost on that topic?