Web 2.0 Expo: Embracing the Chaos

by April 16, 2007

Mike Beltzner’s Embracing The Chaos: Designing For And With Community talk at Web 2.0 Expo discussed applying open source development principles to the user experience design of products.

  • Listen to your community. They are often smarter than you but that doesn’t mean you always have to do what they say. Dean Kamen when designing a replacement for the wheelchair asked wheelchair-bound people what they wanted. Some answered mud flaps so they do not get sprayed when traveling through puddles. Kamen said “I thought you might want to walk up stairs”.
  • Lead your community. To separate signal from noise, leadership is the key.
  • Let community play & experiment. Ideas need a place to grow.
  • Mozilla has: 1 UX Lead, 40 developers, 100s daily contributors, 1000s of incremental contributors, 10,000s of nightly test builders, and 20-30 million users. 37% of code contributed since November 2006 has come from community. Anyone can propose a change: there are no gates to reporting bugs but the signal to noise ratio is quite high
  • Mozilla doesn’t let everyone approve a change: 2,000 people in bugzilla can resolve a bug, 400 people can make modifications to the source code of product
  • No easy buckets: people will write bugs off if they are not well represented or structured. Bring evidence and support your arguments.
  • A strong leadership structure helps maintain order. For Mozilla, module owners act as benevolent dictators.

Open Source Design

  • Provide a path of least resistance to channel input to where you want it.
  • Two most common design comments for Mozilla are “Fitt’s Law says…” And “my mom thinks ….”
  • Camps are formed really quickly in design debates. Opinions are often based on preferences and not actual data.
  • Identify & elevate smart comments to bring order to design discussions. Elevate discussions with data and research whenever possible.
  • Educate people on usability, data, design principles, and ways to solve design problems.
  • Create small teams with responsibility for specific areas of interest. Let them iterate and design within that area of focus.
  • Treat disagreements as negotiations: just because you can doesn’t mean we’ll let you.
  • Play & Experiment: give people a way to explore and learn. Example: Firefox add-ons & Mozilla Labs
  • Don’t feed the trolls. If you have emotional and loud people, do not respond when they don’t make sense. Take emotions out of the discussion and instead bring data into the discussion. Focus on doing what’s best for the users.
  • Voting is not the best way to decide which features need to go into your product. Voting is good for highlighting interest and popularity. But the features you ship need to align with real user needs.