« Conventional Wisdom is Neither Conventional Nor Wise | Main | Excellent Thoughts and Photos on Desire Lines »

August 03, 2004

DIS2004 - Design for Hackability Panel

I just attended the Design for Hackability panel here at DIS2004. Hacking, in this context, tended to mean appropriating existing technologies for purposes other than intended. Anything from modifying Barbie Dolls to grabbing audio and text feeds to manipulate objects to jumpstarting social interaction between strangers.

It was one of those talks where meme overload causes a bit of cerebral paralysis. Some notes I jotted down...

- There's a prevailing notion that "hacking" is a meme on the rise. More things are being hacked. Hacking is getting easier to do. The first suggestion as to way the increase dealt with the lowering of barriers to entry -- hacking is easier, because, thanks to the Web, you can get instructions for hacking more readily. Also, some of the tools of this kind of hacking -- RSS feeds, audio streams, plug-ins, etc -- are more readily available.

However, I think a more important aspect to the rise of hacking is as a response to what is feeling like an increasingly monolithic culture. This was touched on briefly, but I think more crucial. I think our larger political and consumer systems have left a lot of people feeling disempowered and without identity-- and hacking is a way to regain control, to personalize, to make Things Your Own.

- One thing that suggested this rise of hackability was an increase in presence in pop culture. The magazine Readymade was a case in point -- it's filled with do-it-yourself projects for augmenting and configuring your life. And I wondered the degree to which Readymade is like Wallpaper or Seventeen -- it's more aspirational than actually practiced. People crave the DIY life, don't have the time for it, but can read about at and feel involved.

- And then I thought of Alton Brown, and his requirement of every tool in his kitchen to be a "multitasker". Alton has done a lot to hack kitchen tools (and non-kitchen tools) for the purpose of cooking. This was a tangential thought. Though the success of Good Eats speaks to the popularity of this approach.

- I started wondering if it's valuable to distinguish between hacking products and hacking media. Jonah Brucker-Cohenand Lalya Gaye strike me as product hackers. Dan Hill, through his work with BBC Radio online, addressed more media hacking -- blogs, BBC radio feeds, etc. Similarly, Elizabeth discussed the Billboard Liberation Front.

Though, as I'm typing these notes, I'm seeing the distinctions between the two blur. Things like Steam are products for hacking media. But, I guess, for me, I see hacking media as far more accessible than hacking products.

- Hackability Happens. This was a theme, though not necessarily stated explicitly. Designers need to recognize that people will modify their products to adapt to their personal needs, contexts. Period.

- However, currently, hackability is kind of a privilege. You need to have the savvy and the time to hack. And while the barriers are dropping, they are still significant. I fear that, in this strive for hackability, we'll create a new set of haves and havenots... I mean, we see this already. People who can hack have a distinct advantage over those who can't. This relates a bit to my post on Shit Is Too Hard To Use. I've been watching people attempt to use products that require a significant level of technical savvy. And people are feeling overwhelmed by these technical requirements.

- So, for me, what I realized would come out of this notion of "design for hackability" is a pattern language for hackability. Given that users will configure their products, and, if I want to be a responsible designer, I want to support and enable such configuration, what are ways and approaches I can take to accommodate hackability. What are the qualities of hackable systems?

Posted by peterme at August 3, 2004 08:30 AM

Comments

"What are the qualities of hackable systems?"

You can answer this question for yourself by trying to hack things.

Some suggestions off the top of my head:

  1. Open APIs / Standard APIs
  2. Modular systems
  3. Clear, meaningful configuration variable names in places that are easy to find.
  4. If appropriate, include a shell
  5. Good, accessible logging
  6. Access to underlying services

The Tivo is an excellent place to look for this. Particularly look at JavaHMO. It's a very good example of a service that can be hacked in a useful way.

More than anything else, hacking is a way to add features you want to a product that goes some of the way there.

Posted by: Adam Fields at August 3, 2004 12:48 PM

Thanks for first making me aware of this - it got me thinking about the idea in general, which I've written up here and here.

Posted by: Rick Pan at August 8, 2004 09:00 PM

Your ultimate video on demand solutions

Posted by: Anonymous at September 14, 2004 07:20 AM