The concept of "Web 2.0" began with a conference brainstorming session between O'Reilly and MediaLive International (O’Reilly, 2005). There are many definitions of what Web 2.0 is. For the purpose of this report we have selected the following one:
“Web 2.0 is the network as platform, spanning all connected devices; Web 2.0 applications are those that make the most of the intrinsic advantages of that platform: delivering software as a continually-updated service that gets better the more people use it, consuming and remixing data from multiple sources, including individual users, while providing their own data and services in a form that allows remixing by others, creating network effects through an "architecture of participation," and going beyond the page metaphor of Web 1.0 to deliver rich user experiences.” (cit. Tim O’Reilly: Web 2.0: Compact definition?, http://radar.oreilly.com/2005/10/web-20-compact-definition.html)
Web 2.0 can be described according to the report by Osimo  and research of O’Reilly and Forrester. Web 2.0 is composed of a set of:
- Technologies - building blocks of web 2.0, e.g Ajax, XML, Open API, Microformats, Flash/Flex and other techniques for creation of web applications.
- Applications -allow easy publishing, information sharing and collaboration. They include blogs, wikis, podcasts, RSS feeds, tagging, social network sites (e.g. Facebook, Myspace), search engines, Massive Multiplayer Online and others.
- Values - they build on the knowledge and skills of the user – 1. user as a content producer/provider, 2. user providing feedback, comments, reviews of the existing content, 3. users who access, read and watch the existing content, 4. user who does not benefit from web 2.0 applications and values.
Web 2.0 Design Patterns
Web 2.0 websites are focused on involvement of their users as content providers with rights to control the data. As a summary of key features of Web 2.0 O’Reilly (2005) introduced eight key patterns of Web 2.0.
"Each pattern describes a problem that occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice." [O’Reilly (2005)]
- 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.
[Alexander, 1977] Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language: Towns, Buildings, Construction. New York, Oxford University Press, 1977.
[O’Reilly, 2005] O’Reilly, T.: What is Web 2.0: Design Patterns and Business Models for the Next Generation of Software. 30.09.2005, [Online]: http://oreilly.com/pub/a/web2/archive/what-is-web-20.html
[Osimo, 2008] Osimo, D.: Web 2.0 in Government: Why and How? JRC Scientific and Technical Report, European Communities, 2008, ISSN 1018-5593