Tim O’Reilly wrote an interesting article titled “What is Web 2.0“. Although the article is over an year old, the information is quite relavant and applicable. Some lessons from the article are captured below:
leverage customer-self service and algorithmic data management to reach out to the entire web, to the edges and not just the center, to the long tail and not just the head. (think Google AdSense)
Network effects from user contributions are the key to market dominance in the Web 2.0 era.(think Wikipedia; Collaborative spam filtering)
The race is on to own certain classes of core data. (Or, how can you add value to classic data and turn it around into a desired service? Examples here would be Amazon’s value adds to ISBN registry and Google’s additions to maps database)
Operations must become a core competency. (This is one of the big lessons that I am learning in my new job at Guru that efficient operations can be the key between struggle and success. Even the slightest efficiency that can be extracted in any process, must be made good use of. This lesson is very challenging to take to software development processes where the answer to most problems is supposedly to throw more money or more people in!!)
Rich user experience! (think AJAX, Flex)Web 2.0 Design Patterns:
- The Long Tail Small sites make up the bulk of the internet’s content; narrow niches make up the bulk of internet’s the possible applications. Therefore: Leverage customer-self service and algorithmic data management to reach out to the entire web, to the edges and not just the center, to the long tail and not just the head.
- Data is the Next Intel Inside Applications are increasingly data-driven. Therefore: For competitive advantage, seek to own a unique, hard-to-recreate source of data.
- Users Add Value The key to competitive advantage in internet applications is the extent to which users add their own data to that which you provide. Therefore: Don’t restrict your “architecture of participation” to software development. Involve your users both implicitly and explicitly in adding value to your application.
- Network Effects by Default Only a small percentage of users will go to the trouble of adding value to your application. Therefore: Set inclusive defaults for aggregating user data as a side-effect of their use of the application.
- Some Rights Reserved. Intellectual property protection limits re-use and prevents experimentation. Therefore: When benefits come from collective adoption, not private restriction, make sure that barriers to adoption are low. Follow existing standards,
and use licenses with as few restrictions as possible. Design for “hackability” and “remixability.”
- The Perpetual Beta When devices and programs are connected to the internet, applications are no longer software artifacts, they are ongoing services. Therefore: Don’t package up new features into monolithic releases, but instead add them on a regular basis as part of the normal user experience. Engage your users as real-time testers, and instrument the service so that you
know how people use the new features.
- Cooperate, Don’t Control Web 2.0 applications are built of a network of cooperating data services. Therefore: Offer web services interfaces and content syndication, and re-use the data services of others. Support lightweight programming models that
allow for loosely-coupled systems.
- Software Above the Level of a Single Device The PC is no longer the only access device for internet applications, and
applications that are limited to a single device are less valuable than those that are connected. Therefore: Design your application from the get-go to integrate services across handheld devices, PCs, and internet servers.