topical media & game development

talk show tell print

What Is Web 2.0 -- Design Patterns and Business Models for the Next Generation of Software


by Tim O'Reilly 09/30/2005

www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html



  Web 1.0  	   	Web 2.0
  DoubleClick 	--> 	Google AdSense
  Ofoto 	--> 	Flickr
  Akamai 	--> 	BitTorrent
  mp3.com 	--> 	Napster
  Britannica Online 	--> 	Wikipedia
  personal websites 	--> 	blogging
  evite 	--> 	upcoming.org and EVDB
  domain name speculation 	--> 	search engine optimization
  page views 	--> 	cost per click
  screen scraping 	--> 	web services
  publishing 	--> 	participation
  content management systems 	--> 	wikis
  directories (taxonomy) 	--> 	tagging ("folksonomy")
  stickiness 	--> 	syndicationo
  

www.oreillynet.com/oreilly/tim/news/2005/09/30/graphics/figure1.jpg


Figure 1 shows a "meme map" of Web 2.0 that was developed at a brainstorming session during FOO Camp, a conference at O'Reilly Media. It's very much a work in progress, but shows the many ideas that radiate out from the Web 2.0 core.

ajax


"Ajax isn't a technology. It's really several technologies, each flourishing in its own right, coming together in powerful new ways. Ajax incorporates:


* standards-based presentation using XHTML and CSS;
* dynamic display and interaction using the Document Object Model;
* data interchange and manipulation using XML and XSLT;
* asynchronous data retrieval using XMLHttpRequest;
* and JavaScript binding everything together."

design pattern(s)


1. 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.

2. 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.

3. 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.

4. 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.

5. 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."

6. 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.

7. 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.

8. 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.

Core Competencies of Web 2.0 Companies



* Services, not packaged software, with cost-effective scalability
* Control over unique, hard-to-recreate data sources that get richer as more people use them
* Trusting users as co-developers
* Harnessing collective intelligence
* Leveraging the long tail through customer self-service
* Software above the level of a single device
* Lightweight user interfaces, development models, AND business models


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.