Web 2.0, and social software
O'Reilly 2005 suggests some design patterns that differentiate "Web 2.0" from "Web 1.0"
- 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.
See O'Reilly 2005
A further clarification came with O'Reilly 2005
Level 3: The application could ONLY exist on the net, and draws its essential power from the network and the connections it makes possible between people or applications. These are applications that harness network effects to get better the more people use them. EBay, craigslist, Wikipedia, del.icio.us, Skype, (and yes, Dodgeball) meet this test. They are fundamentally driven by shared online activity. The web itself has this character, which Google and other search engines have then leveraged. (You can search on the desktop, but without link activity, many of the techniques that make web search work so well are not available to you.) Web crawling is one of the fundamental Web 2.0 activities, and search applications like Adsense for Content also clearly have Web 2.0 at their heart. I had a conversation with Eric Schmidt, the CEO of Google, the other day, and he summed up his philosophy and strategy as "Don't fight the internet." In the hierarchy of web 2.0 applications, the highest level is to embrace the network, to understand what creates network effects, and then to harness them in everything you do.
Level 2: The application could exist offline, but it is uniquely advantaged by being online. Flickr is a great example. You can have a local photo management application (like iPhoto) but the application gains remarkable power by leveraging an online community. In fact, the shared photo database, the online community, and the artifacts it creates (like the tag database) is central to what distinguishes Flickr from its offline counterparts. And its fuller embrace of the internet (for example, that the default state of uploaded photos is "public") is what distinguishes it from its online predecessors.
Level 1: The application can and does exist successfully offline, but it gains additional features by being online. Writely is a great example. If you want to do collaborative editing, its online component is terrific, but if you want to write alone, as Fallows did, it gives you little benefit (other than availability from computers other than your own.)
Level 0: The application has primarily taken hold online, but it would work just as well offline if you had all the data in a local cache. MapQuest, Yahoo! Local, and Google Maps are all in this category (but mashups like housingmaps.com are at Level 3.) To the extent that online mapping applications harness user contributions, they jump to Level 2.
You'll notice that I didn't mention either Amazon in the hierarchy above. That's because I can't decide whether they belong on level 2 or 3. One can imagine an Amazon-style product catalog offline (for example, in a store), but Amazon is so persistent in harnessing online participation that they have almost managed to transcend the limits of their category. They've also built services, from Associates to S3, that make them completely a network citizen. So call them level 3, and a testament to the power of strategic effort to change the game.
iTunes is another great example of an application that spans levels. Its initial market and positioning was as a desktop application with additional online features (Level 1), but as the iTunes music store becomes more and more central to its value and competitive position, iTunes moves to Level 2. To the extent that it eventually incorporates features like those in last.fm, it would eventually become an application that is so woven into the fabric of the net that it would be crippled if taken offline (i.e. Level 3). (Even now, put in a new CD when offline, and you'll find yourself moaning because the track names are missing.) Overall, I believe that there is a strong pressure for all these applications to move up the hierarchy the longer people use them and the more the network features become central to their operation.
See O'Reilly 2006
In this paper, the "collaborative web" is defined as a level 3. Decrem (2005) describes this as the "participatory web".
Not to be confused with software-as-a-service.
From the IBM Partnerworld site
Software as a Service (SaaS) is a rapidly emerging new model for ISVs to deliver applications to their customers. In this model, application functionality is delivered through a subscription model over the Internet. The customer does not take ownership of the software, but instead rents a total solution that is delivered remotely.
Through this model, the application provider defines the IT architecture of the service. The provider is responsible for the deployment, operation, and maintenance of the IT infrastructure; typically operates a single instance of the application; and manages all upgrades.
This approach means ISVs no longer need to support multiple platforms and versions, which can help to dramatically reduce support costs. ISVs can also bring out new features and functionality as desired, improving their ability to compete. Finally, the subscription pricing model and low upfront investment can help ISVs enter new markets and access new customer sets.
Web 2.0, SOA and SaaS is covered various blog entries about SPARK:
- David Hill's summary
Drew Clark, IBM Venture Capital Group, writes about Saas and the Web 2.0 as platform.