News from the Field: Web 2.0 Best Practices
posted Sunday, 12 February 2006
Marc Hedlund set the blogosphere on fire today with a terrific new article on O'Reilly Radar that discusses the real things happening out there in the Web 2.0 development wild. What I find so fascinating about the things we keep seeing is that ground truth seems genuinely different than it used to be. Software development just appears to have somewhat altered rules when it comes to the next generation of the Web. For one, the scale is so fundamentally different. You might have hundreds of users, but chances are pretty good you could end up with millions. So too are the tools that we use; new techniques are possible that just weren't before. Even the control level is much different; the software and services that you write can be dramatically remixed, blended, hacked, and more. And it's just supposed to be OK.
But it's the scale in particular that encourages new ways of thinking about usability and testing. If you read the comments to Marc's article, you'll find that many of them are from professional developers that just find it repugnant to ever let users co-test the software. But I'm definitely starting to believe that perhaps that's the most efficient way to do it in this new world. What's a 6 person development team when compared to the effectiveness of fifty thousand visitors a day? As long as it's explicit - as in, this software is eternal beta - maybe the best way really is to enable the mongolian horde approach to finding bugs. Users will expect to hit a few glitches (didn't they always?), and for their minor inconvenience, they also expect them to go right away. Web 2.0 recognizes that the 1 billion users now on the Web can be harnessed to do many great useful things . And one of them is to be increasingly responsible for ensureing the high quality of the software they encounter. Compelling stuff but scary for us used to the old ways of things.

And Marc's laundry list of terrific real-world Web 2.0 development best practices goes beyond just letting the users test with the developers, like simple metrics, closely watched. Another interesting concept is the shadow app. Management tools for just about any level of the application stack are now available in abundance. But they are generally faceless and generic fault detectors at best, and at worst actively trip up the systems they are supposed to be monitoring. But shadow apps are little custom applications - those in software development know them well - that tell you what you really want to know about how the software is behaving and being used. Like so many good ideas, Web 2.0 techniques talk about practical methods in concrete terms and we've all seen shadow apps informally, often just as a SQL script. We rarely see it called by name however, much less recommneded as a key strategy. Good on Marc for making this an explicit meme.
I won't go into all the others, you can read them yourself. I do want to add one final item, which I mentioned in my comment to Marc's post, that there is one other important piece in making Web 2.0 happen: Lightweight, dynamic programming models, both in terms of terrific new languages like Ruby as well as excellent featherweight data structures like JSON, POX, and microformats. These are making the small pieces, loosely joined happen.
Update: Marc does another post on all the feedback he received. Surprisingly it was basically grouped into folks who disliked the "2.0" in his post title and those that disagreed with the Q&A piece (which I'm struggling with too but trying to keep an open mind.)
A couple of notes: One, I'm going to be in Silicon Valley with my co-author of Building Web 2.0, Kate Allen, starting this Friday evening February 17th for Michael Arrington's TechCrunch BBQ. I have about three slots on Saturday the 18th to interview Web 2.0 companies for the book (we're trying to get ground truth on Web 2.0 business models, development practices, etc.) as well as line up potential product reviews for the Web 2.0 Journal. If you don't mind having a couple of friendly people take a look at what you do with your Web 2.0 startup, let me know. Two, we're getting close to having enough Ajax authors, but we have room for a couple of more, also let me know if you'd like to work on an exciting short term writing project.
What do you think Marc missed? The Web 2.0 development world is different, but is it really turning things upside down?links: del.icio.us