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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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?
Reader Feedback: Page 1 of 1
Saakshi Grover commented on 28 Dec 2007
It was really a very good article, i always use to wonder about Web 2.0, hat how it's so different and what exactly makes it different from custom web 1.0 applications.
It helped me a lot!
This is a great article. Wish I had read it back in February 2006 when I was wondering what Web 2.0 is and whether I could use it in my business. But November 2007 isn't too late. I'm a convert!
SYS-CON Italy News Desk commented on 2 Feb 2006
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.
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicat...
The question before companies today is not whether to become intelligent, it’s a question of how and how fast. The key is to adopt and deploy an intelligent application strategy while simultaneously preparing to scale that intelligence. In her session at 21st Cloud Expo, Sangeeta...
Bert Loomis was a visionary. This general session will highlight how Bert Loomis and people like him inspire us to build great things with small inventions. In their general session at 19th Cloud Expo, Harold Hannon, Architect at IBM Bluemix, and Michael O'Neill, Strategic Busin...
DX World EXPO, LLC, a Lighthouse Point, Florida-based startup trade show producer and the creator of "DXWorldEXPO® - Digital Transformation Conference & Expo" has announced its executive management team. The team is headed by Levent Selamoglu, who has been named CEO. "Now is the ...
Companies are harnessing data in ways we once associated with science fiction. Analysts have access to a plethora of visualization and reporting tools, but considering the vast amount of data businesses collect and limitations of CPUs, end users are forced to design their structu...
Your registrations includes: Golden Pass Delegates will receive full conference access on October 20-22, 2008 including: Lunch and Coffee Breaks, Collectible Bag and Archives of all sessions on DVD. Includes access to all Conference Sessions including the Technical Sessions, Exhibits, Keynotes, Vendor Technology Presentations, and Power Panels.
AJAXWorld offers the undisputed best platform to position your company as a leading vendor in the fast-emerging marketplace for AJAX and Enterprise Web 2.0.
Who Should Attend?
• CTOs & VPs of Engineering
• Directors of Technology
• Sr. User Interface Architects
• Front-End Engineers
• VCs & Industry Analysts
• Directors of Business Development
• Software Engineers
• Senior Architects
• Application Programmers & Software Developers
• Project Managers
• Web Programmers & Designers
• Companies & Organizations that need to stay in front of the latest Web technology
AJAXWorld Security Bootcamp
Introducing at AJAXWorld RIA Conference 2008 West the world's first-ever full, one-day immersive "AJAX Security Bootcamp" - led by one of the world's foremost AJAX security experts and teachers, HP's Billy Hoffman.