Ten Ways To Take Advantage of Web 2.0

One of the questions I get asked fairly frequently is how people can leverage Web 2.0 techniques in their applications and infrastructure today. Now that it's getting more well known, more people seem to be actively interested in making immediate, practical use of Web 2.0 ideas. For example, Microsoft is getting ever increasing buzz about their Mix 06 conference, and ZDNet's David Berlind has been raving about Mashup Camp, an event that will essentially teach folks how to create new remixed applications like ZeroBars out of Web services in literally a handful of minutes. For that matter, as a cautionary note on how history repeated, read Berlind's great write-up on how a newly mashed-up compatible Web 2.0 world will recreate the danger and white-knuckle thrills of dealing with decentralized, hand-rolled PC software just like we did during the dawn of local area networks 15 years ago.

Yes, many of Web 2.0 techniques can (and will) be leveraged by almost anybody who cares to learn (see Ning and Suprglu if you need confirmation.)

But mash-ups are just one aspect of Web 2.0 that can be used to add value to new or existing software. There are numerous ways this can be done, with varying levels of difficulty, that you can start incorporating right now to add the power and capabilities which successful Web 2.0 sites have been taking advantage of for years now. 

Here is a run-down of a few of the more significant ways to add Web 2.0 capabilities to your software. As always, agree or disagree with these, but please use the feedback area below to comment on or extend this list.

Ten Ways To Take Advantage of Web 2.0

  1. Encourage Social Contributions With Individual Benefit. This is one of the key ingredients for creating good social software and should really common sense when you think about it, yet it is neglected far too often. The social bookmarking service, del.icio.us, however does this perhaps better than anyone else. The idea is that most people will not spend the time to contribute content or enrichment to a web site unless they are getting something out of it. With social bookmarking, it's the fact that your bookmarks are uniquely valuable to you personally, regardless of whether they are socially shared. Never mind the fact that they can provide you even more value through sharing with others via affinity services and other add-ons. The core concept here is to provide personal motivation to the individual to contribute information or get involved in other types of participation that continually improves the entire service for everyone else.
  2. Make Content Editable Whenever Possible. The read/write Web is about making users co-creators of content on a massive scale. Armed with foreknowledge of the effectiveness of the Wisdom of Crowds, you can take advantage of the fact that none of us is as smart as all of us. Wiki sites turn this editable dial all the way to the right for example, and let every page be editable by anyone who is allowed. Far too many sites don't take advantage of the fact that you can give people an ownership stake, and get them immersed in working on improving what you offer, all just by letting them have the ability to change an appropriate level of content. The better wiki software keeps a copy of all versions so that no permanent damage can ever be done and that all information contributed is ultimately shareable. Note that there are still some barriers to fully exploiting this, including preventing mischievious users from causing havoc. But there are ways to limit and control this now emerging as I've written about before.
  3. Encourage Unintended Uses. Too much software assumes beforehand how it will be used. Poor design decisions often severely limit how what you've built can be mashed-up and remixed by others, thus limiting your overall value to the community, commercial or otherwise. Start from the beginning with the assumption that others will find your service or information valuable. Then don't preclude them from using it in their own service because of limiting design decisions, particularly by making things complex. This means identifying and using remix-friendly techniques and technologies. Using REST and XML over HTTP instead of SOAP or WS-*. Using simple XML formats, even microformats, instead of complex schemas and XSD validation. Make your Ajax functionality includable in other sites like Google Maps does. Build simple, atomic, stateless services with straightforward interfaces instead of complex, conversational, or stateful services with byzantine interfaces.  Document how your services work and please, please make the pieces and documentation easy to find. And if you must charge for your Web services, be reasonable.
  4. Provide Continuous, Interactive User Experiences.  Applications with lots of page loads are so five years ago. People are increasingly busy  in their personal and professional lives and they can't spend the 5 or 10 minutes of personal time that page loading can suck up, especially if they use your application daily or weekly. Never mind the frustration that static forms-based software triggers. No autocomplete? Please, we don't have the time. Never mind that native software is also really fast in comparison with simple Web pages. Fortunately, techniques like Ajax, Flash, and Lazslo can do so much better now with the Rich Internet Application (RIA) model. You can deliver an entire application within a single web page and with the latest techniques, it doesn't even break the browser experience with bookmarks or the back button. Of course, you do not have to provide an Ajax user interface to be Web 2.0 compliant, but for many types of applications, it's practically mandatory nowadays.
  5. Make Your Sure Your Site Offers Its Content as Feeds and/or Web services. This might seem obvious to some but you'd be surprised. The Web is increasingly becoming about pure data instead of web pages in HTML. Not sure about this? Think about the Google home page. There is virtually no presentation and the primary service it provides is simple lists of search results, or pure data. Not presentation. You don't go to Google for the looks. Yet Google search is probably the most widespread application in use today (I use it dozens, and often hundreds, of times a day.) Not only that, but just about everything will be an RSS feed in the near future. You may not know what RSS or a feed is yet but chances are you are using them all the time already, though probably through another Web site which is using RSS underneath. Furthermore, users on the Web, particularly the early adopters and influential users, are using browsers less and less, and information aggregators like RSS feed readers more and more. Advice: Make sure your web site offers its content up as feeds or Web services. If you don't offer, you will be an island unto yourself that people have no choice but to route around in favor of those that do.
  6. Let Users Establish and Build On Their Reputations. All great communities are built by groups of people that generally respect each other. As I've written before, this can be as simple as associating a user's actions with their user ID or can be a full blown reputation tracking system like eBay, and there are numerous other approaches. This implies that other users are aware of each other and their actions are visible and transparent. The old adage of don't do anything you wouldn't want the whole world to know about comes into play here. People act more responsible and are far more personally invested in any actions they take if their reputations are on the line. Let your users establish and build on their reputations as they interact with your service. Achieving a good balance between privacy and reputations can often be difficult but the results will be worth it.
  7. Allow Low-Friction Enrichment of Your Information. While the read/write Write has major advantages, the fact is the majority of your users won't have time to responsibly edit or improve your content. So while making content editable is nice, there are other ways of continuously improving it. This is via low-barrier enrichment mechanisms like tagging, ranking, rating, and even comments. Enrichment doesn't alter the original data and it adds useful and informative metadata which is attached to individual chunks of information. Digg is a classic example of this in that news items on Digg can't be edited by anyone, even the submitters, but everyone can "digg" can item, creating a richly annotated content database that identifies the most relevant and interesting submissions.
  8. Give Users the Right To Remix. It doesn't matter if you give people the ability to remix your information and services if your license agreement doesn't let them do it legally. I tried to add Google News to Suprglu and I was stopped because SuprGlu did not have a license to remix from all the underlying content sources. This was a major frustration and essentially prevented me from using their terrific service on a regular basis. And it didn't make me think too highly of Google either. If people are beating a path to your door to remix your service, figure out how to do it. Or they will just go somewhere else. Suggestion: Learn the ins and outs of the Creative Commons license.
  9. Reuse Other Services Aggressively. One of the classic problems developers have is the need to reinvent the wheel, never mind that wheels in terms of software are situational things that are hard to reuse in general. Fortunately, the barrier to reuse is rapidly going down with advent of loosely coupled Web services like RSS. But the lightweight programming models of Web 2.0 also lowers the cost of re-implementing functionality so it might be a wash. But recreating information and content is still extremely hard, and so it pays big dividends to reuse the databases of the Google Maps, Craigslists, and EVDBs of the world. In fact, with Web 2.0, most content and functionality will eventually just be wired together instead of created from scratch and that's why capable mash-up skills are going to be an ever hotter employment commodity.
  10. Build Small Pieces, Loosely Joined. Monolothic software is dead. If it was ever alive. This means don't build giant Ajax apps in a single Web page. This means don't build large swiss-army knife services that try to do everything. It means to build functionality one feature at a time, to do one thing well, and move on and create the next new service, or Ajax widget, or web page. Let your content and functionality grow organically. Make it easy to fix thing. Get rid of the ones that don't work, or improve them, all without affecting everything else.  Learn how to develop chunks that can be reassembled, rearranged, and extended naturally. You'll find your deliver improvement more quickly and others will reuse your pieces with ease.

These are just ten good ideas from the tenets of Web 2.0 that you can use to create better, more flexible, richer, online software that is engaging and that communities can be built upon and thrive. There are many others and I haven't even touched yet upon permalinks, software above the level of single device, and many more. Web 2.0 is indeed quite a set of interlocking and reinforcing ideas.

What do you think?  Are there other more important ways to take advantage of Web 2.0?

0 ratings
Aiden Reynolds
Aiden Reynolds
Aiden Reynolds is a content editor at WEB 2.0 JOURNAL. He was born and raised in New York, and has been interested in computer and technology since he was a child. He is also a hobbyist of artificial intelligence. Reynolds is known for his hard work ethic. He often puts in long hours at the office, and is always looking for new ways to improve his writing and reviewing skills. Despite his busy schedule, he still makes time for his interests, such as playing video games. In his free time, Reynolds enjoys spending time with his wife and two young children. He is also an active member of the community, and frequently volunteers his time to help out with local events.