The April 2007 edition of Communications of the ACM has an interesting article by Jenova Chen titled ‘Flow in Games (and Everything Else)’. (If you have access to the ACM Digital Library you can read the article here). Chen describes how game designers seek to transport users into their personal ‘Flow Zones’, where the players get totally immersed in a challenging, pleasurable experience. Similar principals of Flow theory from psychology and video game design apply to any interactive system, and perhaps to almost any experience. In fact, what struck me about the article was that the eight characteristics of Flow that are listed sound like an advertisement for why designing and implementing software can be so much fun.
Here’s the list (taken from Csikszentmihalyi, 1990):
- A challenging activity requiring skill;
- A merging of action and awareness;
- Clear goals;
- Direct, immediate feedback;
- Concentration on the task at hand;
- A sense of control;
- A loss of self-consciousness; and
- An altered sense of time.
I think one of the coolest things about being a computer scientist is that you get to be in the flow not only when you are playing a game, but while you are solving important problems and creating things that will help people.