Welcome!

The .NET Addict's Blog

Kevin Hoffman

Subscribe to Kevin Hoffman: eMailAlertsEmail Alerts
Get Kevin Hoffman via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: RIA Developer's Journal

RIA & Ajax: Article

Scrobbles, Diggs, Flickrs and Tags of Web 2.0 - Oh My!

Most of the main guiding principles behind Web 2.0 and all that goes with it can be boiled down to two things

Most of the main guiding principles behind Web 2.0 and all that goes with it can be boiled down to two things, in rank order.
  1. Does this application actually add value for me?
  2. In the course of adding value for myself, does the application implicitly add value to the community?

The first principle is fairly obvious. The application has to be useful for someone to want to use it. Not only should it be useful, but it should be compelling, interesting, and it couldn't hurt to follow some of the new design styles and ideas floating around in the Web 2.0 space, including the use of dynamic, rich, interactive experiences on websites that might utilize technologies such as Ajax and Atlas.

The second principle is, by and large, where most new Web 2.0 efforts fail. Not only do they fail, but they fail miserably! As application developers, we need to know our audience. Let's get one thing clear: our audience is not driven by altruistic motives. While a small percentage of the audience (which typically includes ourselves) might be motivated this way, the overwhelming majority of the intended users of these applications does not do things because they help other people. They might be pleased if that's a side effect, but, and here's the part most people slip up on: they will not go out of their way to add community value before they see personal value.

It basically breaks down like this: Am I going to use a social bookmarking site that requires me to do all kinds of extra clicks and pokes and prods, and doesn't add any value for me? If the site's sole purpose is to provide community bookmarking features and doesn't offer me anything personally, I'm not going to use it. Ever. Users will not suffer through an application just to provide community value.

The real Web 2.0 applications provide an essential (or at least ridiculously cool) service for the individual user. By using the service for personal use, the user's actions implcitly create additional meaning, value, and even functionality that might not otherwise have existed. In other words, the larger the pool of users you have using your system  for personal use, the  more community value you might be able to draw from it.  The  problem arises when developers and designers build something where the community value-add is something that needs to be done explicitly by the users.

For example: First and foremost, Flickr provides me with the ability to store, organize, categorize, and annotate my photos in a central location that isn't dependent on a single machine. As an owner of multiple machines (as many tech-savvy users are wont to be these days), this is an extremely useful service for me, personally. At the core, I don't care about my community contribution to Flickr. However, its a really useful side-effect that my participation in the Flickr service, for personal use, provides community value by giving other users the ability to see my photos and see what other people are doing in the ever-expanding world of digital photography.

This leads me to a place I just recently found called Last.fm. This is essentially a musical community service, but it does something that so few sites do: it provides a personally useful service in a subtle and unobtrusive manner. This thing basically sits back and listens to my iTunes and/or Windows Media Player play lists and records what I'm listening to on the site. If I want, I can add tags to every song I listen to, or I can sit back and do nothing. If I want, I can go online and participate in an audio-centric myspace-style community with groups, online journals, buddy lists, and much more. It will use my play list history, my recorded preferences, and a relational engine that links similar music to stream me my own personal playlists based on the music I like to hear. In addition, the site can neighborhood me with other people based on their playlists. The main thing that sets this community site apart from most of the others is this: I don't have to do anything pro-actively in order to participate in the community value-add. I just sit back and listen to music all day, and the more I listen to music, the more personal value there is (recommended music is more accurate), and the more community value there is (the more people who Scrobble their music as they play it, the more powerful the music linking and people-through-music linking engines become).

I strongly suggest that anybody planning on building Web 2.0 applications, or thinking of doing "something" in the Web 2.0 arena take a long, hard look at the models provided by services like Last.fm. Users do not want to be annoyed by their applications, they don't want to have to actively do something outside their normal workflow. Web 2.0 is all about providing meaning, structure, and depth to unstructured information like blogs, wikis, bookmarks, tags, and even musical playlists. Users should not be responsible for manually adding that value. That value should simply expand as users make use of personal services.

One other feature that Last.fm provides is the ability to create little blocks of HTML you can insert anywhere to show your most recently played tracks, or your most popular tracks or artists. You can even hand out the URL to RSS feeds that contain your most recently played tracks, your favorite tracks, and much more. It truly is one of the best examples of a full-featured Web 2.0 application that doesn't abuse the user with an overwhelming abundance of "in your face" features, glitz, bling, and other ridiculous garbage.

Here's my Decepticon-styled playlist image hosted by Last.fm:



More Stories By Kevin Hoffman

Kevin Hoffman, editor-in-chief of SYS-CON's iPhone Developer's Journal, has been programming since he was 10 and has written everything from DOS shareware to n-tier, enterprise web applications in VB, C++, Delphi, and C. Hoffman is coauthor of Professional .NET Framework (Wrox Press) and co-author with Robert Foster of Microsoft SharePoint 2007 Development Unleashed. He authors The .NET Addict's Blog at .NET Developer's Journal.

Comments (8) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
.NET News Desk 08/01/06 05:06:13 PM EDT

The first principle is fairly obvious. The application has to be useful for someone to want to use it. Not only should it be useful, but it should be compelling, interesting, and it couldn't hurt to follow some of the new design styles and ideas floating around in the Web 2.0 space, including the use of dynamic, rich, interactive experiences on websites that might utilize technologies such as AJAX and Atlas.

SYS-CON Brazil News Desk 08/01/06 03:49:18 PM EDT

The first principle is fairly obvious. The application has to be useful for someone to want to use it. Not only should it be useful, but it should be compelling, interesting, and it couldn't hurt to follow some of the new design styles and ideas floating around in the Web 2.0 space, including the use of dynamic, rich, interactive experiences on websites that might utilize technologies such as AJAX and Atlas.

SYS-CON Australia News Desk 08/01/06 03:37:23 PM EDT

The first principle is fairly obvious. The application has to be useful for someone to want to use it. Not only should it be useful, but it should be compelling, interesting, and it couldn't hurt to follow some of the new design styles and ideas floating around in the Web 2.0 space, including the use of dynamic, rich, interactive experiences on websites that might utilize technologies such as AJAX and Atlas.

SYS-CON Italy News Desk 08/01/06 03:24:43 PM EDT

The first principle is fairly obvious. The application has to be useful for someone to want to use it. Not only should it be useful, but it should be compelling, interesting, and it couldn't hurt to follow some of the new design styles and ideas floating around in the Web 2.0 space, including the use of dynamic, rich, interactive experiences on websites that might utilize technologies such as AJAX and Atlas.

.NET News Desk 08/01/06 02:56:25 PM EDT

The first principle is fairly obvious. The application has to be useful for someone to want to use it. Not only should it be useful, but it should be compelling, interesting, and it couldn't hurt to follow some of the new design styles and ideas floating around in the Web 2.0 space, including the use of dynamic, rich, interactive experiences on websites that might utilize technologies such as AJAX and Atlas.

.NET News Desk 08/01/06 02:44:39 PM EDT

The first principle is fairly obvious. The application has to be useful for someone to want to use it. Not only should it be useful, but it should be compelling, interesting, and it couldn't hurt to follow some of the new design styles and ideas floating around in the Web 2.0 space, including the use of dynamic, rich, interactive experiences on websites that might utilize technologies such as AJAX and Atlas.

.NET News Desk 08/01/06 02:44:32 PM EDT

The first principle is fairly obvious. The application has to be useful for someone to want to use it. Not only should it be useful, but it should be compelling, interesting, and it couldn't hurt to follow some of the new design styles and ideas floating around in the Web 2.0 space, including the use of dynamic, rich, interactive experiences on websites that might utilize technologies such as AJAX and Atlas.

AJAXWorld News Desk 08/01/06 02:17:36 PM EDT

The first principle is fairly obvious. The application has to be useful for someone to want to use it. Not only should it be useful, but it should be compelling, interesting, and it couldn't hurt to follow some of the new design styles and ideas floating around in the Web 2.0 space, including the use of dynamic, rich, interactive experiences on websites that might utilize technologies such as AJAX and Atlas.