Web 2.0
What Is Web 2.0 ?
Lecture:2. Agenda
3. Web 2.0
4. Read-Write Web
5. Other Web 2.0 influences
6. Web 2.0 by Tim O'Reilly
7. Web 2.0 Principles
8. Core Competencies of Web 2.0 Companies
9. Web 2.0 Design Patterns
10. Six (or so) Quick Examples
Web 2.0
- “What is Web 2.0?” is a common question these days. Web 2.0 is certainly a buzz word that has been “bouncing around the blogosphere” since late 2004.
- Tim O'Reilly attempts the following “compact” definition:
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.
- “network as platform, spanning all connected devices”: the notion that Web 2.0 data is accessible anywhere; Flickr is not “Windows Only”, for instance.
- “delivering software as a continually-updated service that gets better the more people use it”: hints of service-oriented architecture, Web services
- “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”: Web 2.0 services enable mashups and/or reuse of their data in perhaps unexpected ways
- “creating network effects”: network effects are those in which benefits of using a system increase as more users make use of it. The classic example is that of a telephone. If only one person has a telephone, its not very useful. As more and more people gain access to telephones, the benefit to an individual user goes up quite quickly
- “going beyond the page metaphor of Web 1.0”: Web 2.0 services should feel like desktop applications that just happen to live in a browser. See Writely for instance.
Read-Write Web
- Tim Bray (among others) feels that everything that is classified as Web 2.0 comes from the enabling of the Read-Write Web
- In Web 1.0 days, the Web was a read-only environment (if you ignore the long-standing ability by many Web sites to let people leave comments on a Web page via the use of a CGI script)
- But, slowly, over the years since 1993, the Web has become more and more a read-write environment in which its easier for end-users to create information that can then be re-used by others
- I should note that Tim Berners-Lee has always wanted the Web to be read-write. His first Web browser (developed on a NeXT workstation) supported GET and PUT operations but this ability got lost in the transition to Mosaic and Netscape. It is also important to note that the vision of a read-write Web is in tune with the visions of the “fathers of hypertext”: Vannevar Bush, Doug Englebart and Ted Nelson
- I should also note that an extremely active Web 2.0-related blog is called Read / Write Web.
Other Web 2.0 influences
- One blogger, phil jones, traces a lot of what is considered to be Web 2.0 to the following influential people:
- Jakob Nielsen: an alumnus of Aarhus University, has long been an advocate against bad Web design
- Philip Greenspun: author of an early book on database-backed Web sites
- Chris Locke: A co-author of The Cluetrain Manifesto
- Eric Raymond: Hacker and Author. Author of the influential The Cathedral and the Bazaar
- Dave Winer: an influential force in the creation of RSS and Podcasting. Created the first weblog on April 1, 1997.
- Ward Cunningham: inventor of the first Wiki and highly influential in the field of software design patterns
- Disclaimer: Of course, this is just one person's opinion… other people might make other lists!
Web 2.0 by Tim O'Reilly
- Tim O'Reilly played an instrumental role in promoting the concept of Web 2.0 via O'Reilly publications and conferences
- He has published an article in which he expands on the definition we discussed above. (Material on this slide and the next draw heavily from that article, please read the original for full details.)
- He claims that they initially defined the Web 2.0 concept by example:
Web 1.0 | Web 2.0 |
---|---|
DoubleClick | Google AdSense |
Ofoto | Flickr |
… | |
Britannica Online | Wikipedia |
personal websites | blogging |
… | |
screen scraping | web services |
… | |
directories (taxonomy) | tagging ("folksonomy") |
stickiness | syndication |
- They then attempted to tease out the underlying principles that allowed them to classify a particular concept, system, or company in one or the other category.
Web 2.0 Principles
- The Web As Platform
- software as service, doesn't matter what the client platform is
- clients pay directly (place ads) or indirectly (view ads) for use of service
- No scheduled software releases, just continuous improvement
- no licensing or sale, just usage
- no porting to different platforms, just massive server forms handled internally
- AdSense Ads: no banners, just minimally intrusive, context-sensitive, consumer-friendly text ads
- BitTorrent: every client is also a server
- BitTorrent: the service automatically gets better the more people use it (network effects), aka the “architecture of participation” (blogging is another example here)
- Key lesson: do business with the edges and “long tail” (see Wikipedia's and Tim Bray's explanation) of the Internet
- Harnessing Collective Intelligence
- Hyperlinking is fundamental
- Yahoo!: Its directories were created via the input of its users
- Google's PageRank
- eBay's products organically shift based on the activities of its users
- Amazon's search takes into consideration the concept of “most popular” which shifts based on the activities of their users
- Wikipediia: radical experiment in trust that, similar to open source software development, can produce high quality output
- folksonomy, i.e. tagging. Tagging creates organic taxonomies, categories of objects that arise via the activities of the participants; supports the overlapping associations that the brain itself uses, rather than rigid categories
- Blogging: its ability to create dynamic conversations and harness the “wisdom of crowds”
- Key lesson: Network effects from user contributions are key to market dominance in the Web 2.0 era
- Data is the Next Intel Inside
- MapQuest licensed map data, satellite images, etc. to create its product; Google and other companies created competing products simply by licensing the same data. Bad for MapQuest, good for the companies that own the data
- As such, “the race is on to own certain classes of core data”
- location
- identity
- calendaring of public events
- product identifiers
- In areas where there is significant cost to create the data, an opportunity exists for a company to become the sole owner of that database and then license it to all who want it (this is referred to as an “Intel Inside strategy”)
- End of the Software Release Cycle
- Operations must become a core competency
- Not software product development…
- because software as service means the system is running 24/7
- Your system will cease to perform unless it is maintained on a daily basis
- Users must be treated as co-developers
- As is recommended in open source software development
- You need to be able to monitor the use of features in your system
- Features not used should be removed
- Deploy in a few small areas and if they get picked up, deploy across the entire site
- Operations must become a core competency
- Lightweight Programming Models
- Once the idea of Web services became popular, large companies jumped into the arena with a complex web services stack
- But the Web itself was successful primarily because it discarded a lot of the complexity of prior hypertext models
- As such there is a drive to keep Web 2.0 programming models simple, as is seen with REST and Ajax's approach of using XML and Javascript
- O'Reilly highlights several significant lessons with respect to this:
- Support lightweight programming models that allow for loosely coupled systems
- Think syndication, not coordination
- Design for "hackability" and remixability (Similar to the Web's "View Source" command)
- Once the idea of Web services became popular, large companies jumped into the arena with a complex web services stack
- Software Above the Level of a Single Device
Best to quote from O'Reilly directly
One other feature of Web 2.0 that deserves mention is the fact that it's no longer limited to the PC platform. In his parting advice to Microsoft, long time Microsoft developer Dave Stutz pointed out that "Useful software written above the level of the single device will command high margins for a long time to come."
Of course, any web application can be seen as software above the level of a single device. After all, even the simplest web application involves at least two computers: the one hosting the web server and the one hosting the browser. And as we've discussed, the development of the web as platform extends this idea to synthetic applications composed of services provided by multiple computers.
But as with many areas of Web 2.0, where the "2.0-ness" is not something new, but rather a fuller realization of the true potential of the web platform, this phrase gives us a key insight into how to design applications and services for the new platform.
To date, iTunes is the best exemplar of this principle. This application seamlessly reaches from the handheld device to a massive web back-end, with the PC acting as a local cache and control station. There have been many previous attempts to bring web content to portable devices, but the iPod/iTunes combination is one of the first such applications designed from the ground up to span multiple devices. TiVo is another good example.
iTunes and TiVo also demonstrate many of the other core principles of Web 2.0. They are not web applications per se, but they leverage the power of the web platform, making it a seamless, almost invisible part of their infrastructure. Data management is most clearly the heart of their offering. They are services, not packaged applications (although in the case of iTunes, it can be used as a packaged application, managing only the user's local data.) What's more, both TiVo and iTunes show some budding use of collective intelligence, although in each case, their experiments are at war with the IP lobby's. There's only a limited architecture of participation in iTunes, though the recent addition of podcasting changes that equation substantially.
This is one of the areas of Web 2.0 where we expect to see some of the greatest change, as more and more devices are connected to the new platform. What applications become possible when our phones and our cars are not consuming data but reporting it? Real time traffic monitoring, flash mobs, and citizen journalism are only a few of the early warning signs of the capabilities of the new platform.
- Rich User Experiences
- Started with GMail and Google Maps, web apps that act like desktop apps
- Use of XHTML, CSS, DOM, XML, XSLT, XMLHttpRequest, and Javascript: AJAX!
Core Competencies of Web 2.0 Companies
- O'Reilly states that Web 2.0 companies require skills in the following areas:
- 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
Web 2.0 Design Patterns
O'Reilly states that Web 2.0 has the following design patterns (note: the text below is a direct quote from here):
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. |
Six (or so) Quick Examples
- Tagging in GMail and YouTube
- Technorati and other Blog Search sites
- Yahoo User Interface Library: Web 2.0 Toolkit and Google's Toolkits
- Ning: Playground for creating “social web apps”
- Inquisitor: AJAX-based Instant Web Search
- Newsvine: News, Web 2.0 Style
- Spanning Sync: A tool (not yet released) to sync calendars between iCal and Google Calendar
Comments