A Web 2.0 Checklist

Email.Email weblog link
Blog this.Blog this

Kurt Cagle
Feb. 22, 2006 11:17 AM

Atom feed for this author. RSS 1.0 feed for this author. RSS 2.0 feed for this author.

URL: http://www.understandingxml.com/archives/2006/02/a_web_20_checkl.html...

Beware of marketing memes. Every so often, a company with either a very large ad budget or a very creative ad department will cobble together something that seems to catch fire as a way to sell their latest software product, shoe, or luxury sports utility vehicle. The technology field is, if anything, more susceptible than most in this regard, since the things being sold are often extraordinarily complex and difficult to describe except in terms of metaphor or marketing buzzwords.

The Web 2.0 Meme is a little different from the typical ad-agency inspired bit of doggerel. It started out more like a whisper, and a tentative one at that, by programmers dealing at the bleeding edge who began to realize that there has been a subtle but qualitative shift in the behavior of the web as critical standards, performance metrics and infrastructure changes have all fallen in place. Applications began to appear that seemed to take advantage of the dynamics of networked populations and that were defined as much by the intermixing of previously disparate concepts as upon any given business model.

As this notion has gained traction, there have been numerous definitions given as companies that have both caught this wave and the ones who are struggling to even articulate what the wave is in order to revive moribund product lines have each attempted toput their stamp onto it, to be seen as yet another Web 2.0 company and so attract venture capitalists who've been hoping to actually find an opportunity to make their money grow as well as it did in the heyday of the initial days of the web.

Most Web 2.0 companies that have emerged share a set of ten to twelve similar characteristics:

  1. Mashups. Web 2 applications currently tend to be collisional in nature you throw two or more disparate technologies together and try to determine if there is in fact a market for the resulting product. This often utilizes existing web APIs from one or more disparate providers or applications (Google search information correlated with Google Maps in order to show clustering of behaviors, for information). (Another way of seeing this is that the application developers do not necessarily own all of the pieces of the application).

  2. Extensive Use of Syndication. Syndication formats (RSS, Atom, etc.) act as a means for both synchronization and notification of services. As these syndication formats become more clearly defined, I expect that they will be used increasingly as the messaging substrate for disparate services, rather than just a syndication format for news readers, but such messaging systems generally are a string indicator of Web 2.0 membership..

  3. Preferential Use of Open Standards and Open Source. Open and non-proprietary standards are preferred to closed, proprietary ones because they increase interoperability with other systems (not because of licensing issues). Web 2 applications do not have tobe on open source platforms, though this is where the dominant players are at the moment..

  4. Diversity of Platforms. Web 2.0 applications use common frameworks or environments in order to work in a cross platform environment, and utilize intermediate modules that can be shifted between client and server transparently depending upon the richness of the application. Mobile device strategies are seen as a part of the overall application, rather than as a complete application in and of itself..

  5. Asynchronous Messaging vs. Synchronous RPCS. Web 2 applications tend to utilize asynchronous messaging at multiple levels, rather than working with synchronous calls. This comes into play with AJAX (which stands for Asynchronous Javascript and XML) as well as distributed services on the server, and has the additional effect of moving the architecture from a client/server one to a distributed network..

  6. Distributed Documentation/Data. One of the central characteristics of most web 2 applications is the distributed nature of the "user-owned" content data, images, documents, and preferences. This in turn places requirements upon two additional characteristics: Identity management and editability..

  7. The Editable Web. Once Web 2.0 identity is determined, this opens up the potential for editability of distributed resources. In some cases, this involves the use of stand-alone applications that nonetheless have access to the Internet (at least sporadically). In other cases this is the incorporation of editing capabilities into browsers, a trend that seems to be accelerating.

  8. Identity Management. Web 2.0 applications place an implicit requirement upon the need to maintain identity of participants across a network, in order to determine ownership, access rights, and editability characteristics. Because such applications are by their nature distributed, identity management moves beyond simple authentication and touches upon preferences management and personalization, as well as visibility of user assets to other users..

  9. Social Networks. The distributed nature of Web 2.0 applications tend to make them ideal for "social" applications photo-sharing, blogging, podcasting, various and sundry link and reputation enabled systems, all of these are "social" in that they involvethe sharing and meta-tagging of resources among a group of people..

  10. Metadata Rich. One of the more important aspects of the "media" content within web 2.0 apps is the fact that it usually has extensive metadata associated with it in a variety of forms, from RDF description files to embedded "tags" and micro-formats that provide a separate set of meanings or semantics on HTML code. .

  11. Community. Community the collection of users, developers and evangelists of a given technology or product has long been a critical part of any software development effort. However, Web 2.0 companies (and projects) in particular are noted for their heavy reliance upon the community in order to both promote the products in question and to provide ancillary extensions, plug-ins or add-ons that enhance the capabilities of the core products. .

  12. Rich Clients. While not all web 2.0 applications fit in this category, most tend to stretch the bounds of what web clients (browsers and related applications) can do, and are usually designed such that the client takes up a significant share of the state management, presentation generation and data processing. This in turn tends to relieve the server of having to maintain so much of this, simplifying server side code in the process.

My suspicion is that the particular term "Web 2.0" will go out of vogue pretty quickly, but that a lot of the underlying concepts that inspired the term should be seen as hallmarks for this "new" web. However, like Groucho Marx's comment about not wanting to be a member of any club that would have him as a member, definition of Web 2 applications all too often seem to be that they defy any categorization, so this list, like most out there, should be taken only as a guide.

Kurt Cagle is Director for Emerging Technologies and Training with Mercurial Communications in Victoria, British Columbia, and is the author of multiple books on Web technologies, XML, SVG and AJAX. He is also the Chairman of the SVG Open 2006 Conference.

Kurt Cagle is an author and writer specializing in XML, Web 2, SVG, and blogging.