Monday, April 21, 2008

Putting a Web 2.0 flavor in your application

There is a question that is a leading indicator that Enterprises are waking up to Web 2.0. That question is along the lines of:
"What do I need to do to use Web 2.0 features in my application?"
Let me try to address the question here. My first reaction to this question is to want to understand what the application currently does. The next step is to find out what the person posing the question means by "adding Web 2.0 features." In many cases they are talking about the dynamic Rich Internet Application (RIA) feel and clean looks that we associate with some of the best Web 2.0 applications. For those of you thinking that way - STOP and take a step back!
Web 2.0 is a User Centric Experience
Many of the Web 1.0 applications that populate the Web were created from the perspective of the application's author and developers. What I mean by this is that the design and implementation centered around the information that needed to be collected from the user in order to complete a function. In many cases the application or web site was intended to provide a sizable suite of services. This is all well and good but remember this: In your transition from a Web 1.0 to a Web 2.0 metaphor - 
Web 2.0 is a User Centric Experience.   
That means you should start your design from the approach of "What is the user wanting to accomplish?" So when you want to introduce Web 2.0 features think about the user and whatever they may be wanting to accomplish and Keep it simple!
Do you really need all that profile information from your users before you let them experiment with your application or service? 
Web 2.0 is a Social Experience
Another aspect to think about in re-designing your application is the social aspect. Last week I was lucky enough to sit down with Eugene Lee, the new(ish) CEO of SocialText. As the leading provider of Enterprise class Wiki platforms we tend to think of SocialText as a leading Web 2.0 application and Ross Mayfield does a great job providing industry thought leadership around the use of Wikis. However, Eugene and his team are evolving SocialText, the application, in an important direction. They recognize that Web 2.0 is a Social Experience and while contributing to a wiki is a collaborative experience the whole value proposition of the Wiki can be magnified by amplifying the social dynamics. If I am contributing to a wiki then I want to know what my fellow contributors are doing. What are they editing? What are they reading? Who else is interested in the same things that I am? Answering these questions in your application can add a whole new layer of richness to it.
So my initial advice is this focus on the user and the social dynamics for your application. You may find that you can implement some of these capabilities within your existing interface and development framework. A Web 2.0 application doesn't have to have a flashy interface.  However, if you want that flashy interface the best advice is - Don't code it yourself! You do not want to be writing AJAX code from scratch. Instead go and select a development framework that will do the heavy lifting involved in creating a fully featured desktop style interface in the browser. There are many frameworks to choose from. Be it Dojo or OpenLaszlo or any of the other frameworks that seem to pop up. 
I recommend that you check out sites like ReadWriteWeb to get advice from development experts on the best toolkits and frameworks to meet your needs.
In the meantime do some thinking about your application from your user's perspective.