Web 2.0 by O'Reilly - A struggle for a definition brings this from O'Reilly:
What Is Web 2.0 - Design Patterns and Business Models for the Next Generation of Software
Eight Core Patterns of Web 2.0
- Harnessing Collective Intelligence
- Create an architecture of participation that uses network effects and algorithms to produce software that gets better the more people use it.
- Data Is the Next "Intel Inside"
- Use unique, hard-to-recreate data sources to become the "Intel Inside" for this era in which data has become as important as function.
- Innovation in Assembly
- Build platforms to foster innovation in assembly, where remixing of data and services creates new opportunities and markets.
- Rich User Experiences
- Go beyond traditional web-page metaphors to deliver rich user experiences combining the best of desktop and online software.
- Software Above the Level of a Single Device
- Create software that spans Internet-connected devices and builds on the growing pervasiveness of online experience.
- Perpetual Beta
- Move away from old models of software development and adoption in favor of online, continuously updated, software as a service (SaaS) models.
- Leveraging the Long Tail
- Capture niche markets profitably through the low-cost economics and broad reach enabled by the Internet.
- Lightweight Models and Cost-Effective Scalability
- Use lightweight business- and software-development models to build products and businesses quickly and cost-effectively.
- Pay the user first
- Web 2.0 products start by minimizing barriers to adoption and ensuring that users achieve their primary goals quickly and efficiently
- Set network effects by default
- A technique for maximizing the impact of individual user actions when participating within a social network (a side-effect of people pursuing their own self-interests)
- Involve users explicitly and implicitly
- Maximizing the value of user interactions means leveraging both explicit user participation (such as creating new content, enriching existing content, communicating, and collaborating) and the indirect side-effects of user actions (such where they go, when, how, and what transactions are conducted).
- Provide a meaningful context for creation
- The most successful architectures of participation do more than invite users to participate; they create a coherent, consistent context
- Trust your users
- A prerequisite to harnessing collective intelligence is providing a sufficiently open context to allow participation, interaction, and transactions.
- Design software so that it improves as more people use it
- By embracing network effects, the best Web 2.0 software (eBay, Craigslist, Skype, del.icio.us, Google PageRank, and Google AdSense) becomes better as more people use it.
- Facilitate emergence
- It is often surprisingly difficult to predict the best design for a piece of software, the optimal interface, or the ways in which users will use the application. Every software application faces this challenge. Web 2.0 applications impose less upfront structure and minimize the number of hard-wired assumptions to let optimal use and structure emerge over time, based on real-world application and not unreliable predictions. This encourages unintended uses and allows user behavior to influence everything from product direction to interface navigation.
|Professional Web 2.0 Programming|