Clean slate internet redesign

There is an article in the current issue of the Chronicle of Higher Education that gives a nice overview of the current push to make significant improvements to the internet. Lots of things could be better. Lots of things were not anticipated when the internet was designed 30 years ago.I especially like the quote that closes the article, from Jennifer Rexford of Princeton’s CS Department:

‘People built buildings before there was civil engineering. But a lot of them fell down. Eventually, out of those experiences, people developed principles that allowed for sound construction. We’re sort of at the same point with the Internet. We’ve learned a huge amount. Now there’s a need to go to the next level. The Internet has become so important that the stakes are a lot higher. We need a sound foundation so we can build networks that are worthy of society’s trust.’

This gets at something I often tell students who are interested in computer science: I believe we are much closer to the beginning than the end of the era of new and important and interesting computer science opportunities.

Read More

In the flow

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.

Read More