Monday, August 13, 2007

Practicability of Rich Internet Applications (RIAs) and Web 2.0 for Small Organizations

As an Information Architect there are many unanswered questions related to RIAs and Web 2.0 that I always confront on message boards, email groups, or during personal discourses. Does my company need to incorporate RIAs and Web 2.0? What is there in for me? When do I need to use RIAs and Web 2.0? Is it going to be cost effective for my organization? Does my organization really need it? The questions are numerous but the answers are very few or very vague because not everybody understands and comprehends the complicated technological definitions and jargons. People are more interested in simpler explanations and about the impact of these terms in their lives, organizations, and work rather than knowing what they are.

Even if you are hearing RIAs and Web2.0 terms for the first time do not go berserk, wild, or upset. And if you were fortunate enough to have already heard of them but never understood what they were? – No worries, believe me, it is not rocket science. RIAs and Web 2.0 have become the buzz words on internet and corporate. Everybody from IT field, large organizations, and small organizations is going crazy and talking and writing about it. Whether you are reading a technology magazine or looking at the news on the internet or attending IT conferences around you, you are invariably going to confront with these terms.

This emergence is confusing for small organizations that do not have their in-house IT strategy team to explain and to guide them to take a decisive path. These small organizations have their websites made and maintained by external IT vendors. Such organizations are confused, and apprehensive about the affect and adoption of these technologies and concepts for their websites or web applications. There are two reasons for this fear and bewilderment – One, they do not know what they are; two, they do not know whether they need to adopt these for their organization or not? This article is an attempt to explain the meaning and relevancy of these technologies and concepts to small companies and organizations.

Before we go and discuss about the practicability and consequence of RIA and Web 2.0 for small organizations let us look in brief as to what actually do they mean?

According to wikipedia:Rich Internet applications (RIA) are web applications that have the features and functionality of traditional desktop applications. RIAs typically transfer the processing necessary for the user interface to the web client but keep the bulk of the data (i.e maintaining the state of the program, the data etc) back on the application server.”

Does this definition go over your head? Here is an analogy. This is a story about a departmental store (as an application server), your helper (internet protocol), your house (as client or desktop), and you as the user. You have a helper at home and assume that you have nothing to cook in your kitchen and need various things to cook. The rule is that your helper can bring only one item at a time for your kitchen from the departmental store. This obviously increases your task time because every time your helper goes and processes your request he takes time. You complete the task but take more time. Also, since the helper can get one item at a time you are not able to see the other food options available at the departmental store. Had all the options been presented to you upfront you would have made better choices and decisions about the food you cooked and produced better recipes.

Similarly, RIAs present more options upfront with better interaction models to allow users to interact easily, and take decisions faster and accurately. RIAs allow more data to be downloaded from server on your desktop, process more data using desktop’s computational power, and display results quicker because processing is happening on the desktop itself and not on the server. It also provides more interaction options to fiddle with the interface which are not provided by traditional internet applications. RIAs are capable of doing whatever a desktop application can do. The space between desktop and web application is decreasing and has started to disappear after the emergence of RIAs. Certainly, this makes RIAs the call of the hour for many organizations.

RIAs have some similar and some different attributes than traditional web applications.

RIAs

Traditional Web Application

Connected to the network

Connected to the network

Processing is distributed at the client side and server side

Processing happens only at the server side

Access local hardware (e.g. hard drives, CPU)

Does not access local hardware

Business logic is shared at the client side and server side (it made the application look intelligent and fast)

Business logic is at the server side and is slow to interact with

Has more room for creating animate effects

Very less opportunity to provide animate effects

Some of the tasks that definitely can be improved using RIAs are:

  • Shopping using shopping cart metaphor
  • Form completion with lot of text fields
  • Drag and drop of items or information for creating different arrangements
  • Movement of elements around the screen - Jigsaw puzzle type tasks
  • Display of dependencies or results using sliders - dashboards
  • Filter lot of information to narrow down choices using real time filtering
  • Only a part of a page needs to be updated

In short RIAs provide:

  • Richer, intuitive, and interactive interfaces by providing more options and information upfront. Some of the examples of the functionality are:
    • Drag and drop items in shopping cart, or configure laptops, cars, etc. and get the feedback for price, configuration, and availability instantly.
    • Present variable dependencies visually in more interactive ways using RIAs. View the effect of one variable on the processes and other variables in real time using sliders, etc. as control. (For e.g. how the 20% increase in production of ore in a mine affects the whole transport system, costs, and the inventories?)

  • Less response time for the system to provide feedback because most of the processing happens at user’s desktop and the user gets instant results. Gone are the days when users wait eternally for a web page to get refreshed and the information to load. An example of fast response time is:

§ View the adjacent areas in the map instantly without getting the screen to be refreshed because those areas are already downloaded on the machine.

  • Make effective use of server power by decrease in server load as RIAs allow more processing to happen at the client site. Get more machines connected to the same server because RIAs decrease the server load and uses client’s processing power.

Some live sites using RIAs are:

More online demos

Web 2.0 is not a technology but a vision where internet is seen as a space of participation and collaboration. It is can also be considered as a phenomenon where information is not static but is dynamic and continuously changing and getting modified by the users. Unlike Web 1.0 where the information flow was primarily unidirectional i.e. Web à Users, Web 2.0 allows bidirectional flow of information Web ßà User. I call it Pushing and Pulling of the information on the web. The bidirectional flow allows the user to customize, create, modify, delete, and share information with the world in unique ways.

Pushing: It is the flow of information from the users to the Web. The richness of information on Web 2.0 increases as more and more people from diverse background participate and share their knowledge with the world using blogs, wikis, creating tag clouds, sharing their stories, photographs, etc.

Pulling: It is the flow of information from the Web to the users. Web 2.0 enables the users to pull information from various resources and also customize it in unique ways based on their preference using live feeds such as Atom and RSS.

Apart from allowing users to push and pull the information the other interesting feature of Web 2.0 is content segregation. Users can classify content by using tags and can create tag clouds. Tags are collaboratively generated open ended labels to categorize content. The collaborative tagging helps them to find and recognize the information much faster and accurately because the information matches to their mental models.

Giving so much of power in user’s hands is the key feature of Web 2.0 and this creates the feeling of participation and collaboration among the users. Thereby, it differentiates itself from Web 1.0 by making everybody a stakeholder of the new age phenomenon.

Web 2.0 opens up the new doors for innovation and creative thinking. Organizations need to think of strategies whereby they can increase their business by leveraging upon the knowledge of users using the internet. The internet user base is seeing a rapid growth. As of June 30th, 2006, over 1.04 billion people use the Internet according to Internet World Stats.

Some of the examples of Web 2.0 are:

1. Wikipedia: Online encyclopedia managed by the users through collaboration and participation. Wikipedia had just twenty thousand articles when they started; today they have more than five million articles in different languages. They could build such a huge database only by adopting Web 2.0 concept where users are adding, and editing articles on the basis of participation and collaboration.

2. Del.icio.us: A unique way of storing your “Favorites” or “Bookmarks” with the world. It also allows sharing and discovering what others have bookmarked. The highest number of bookmarked pages surface on the top.

3. Digg: Users rank stories submitted by other users. The stories are ranked and displayed accordingly on the site.

4. Reddit: Users can post links here and these links are ranked by other users. Users can comment and discuss the links.

5. Craigslist: Content is managed by the users. They post the content themselves and decide whether the content posted follows the community norms.

6. World of Warcraft (WoW): WoW is a massively multiplayer online role playing game (MMORPG). Users play the games by participating and grouping with other players or playing against them.

7. Amazon: A site which has made a wonderful use of user preferences, reviews, feedback, and wishlists to sell the products online. For e.g. a search for a book tells the user what are the other books bought by the users who looked for the searched book.

8. Blogs: A unique way to share and present your ideas on the web. Blogs make every user a journalist and provide him a platform to communicate his thoughts to the world. Write about your personal life, society, food, etc. or just share your pictures. The opportunities are infinite.

9. RSS or Atom feeds: Customize your website or page by feeding content from news sites, blogs, and other sites that you are interested in by managing feeds. Or share your own feeds with the world.

10. Last.fm Radio: Allows the user to customize his stations using the tag chosen by the user. The radio keeps track of all the users who have selected a particular (for e.g. hard rock) tag and tries to predict their music listening behavior based on their past behaviors - which song they liked, skipped, banned, etc. and provide filtered music. It also records the music played on other mp3 players on the desktop to predict the user taste and feeds the songs similar to his taste.

11. Create your personalized pages: My yahoo, Google Personalized Home, etc. provide the opportunity in user hands to pull in the information that they are interested in and leave the rest.

Do I need it?

Let’s jump back to the apprehensions and confusions of Web 2.0 and RIAs.

Web 2.0 is a holistic picture of interaction between the users i.e. establishing a platform for collaborative communication and participation for exchange of ideas and thoughts amongst all the users of the site, whereas RIAs are about providing interesting interaction models to a single user.

RIAs should be implemented only after exhaustive user research, thorough task analysis, and developing detailed interaction models otherwise it would be a disaster for the users and the organization. Web 2.0 on the other hand should be adopted if and only if you want the controls of your site in the hands of the users. However, few parts of the site could be made open for the users initially as an experiment and later on can be expanded to include the whole site.

Implementing RIAs change the interface interaction model, while implementing Web 2.0 changes the website interaction model.

Consider the following criteria to decide the need of your organization:

  1. Purpose of the site
  2. Number of users of the site
  3. Kind of tasks that users perform on the site

1. Purpose of the site: What do you want to achieve from the site? A successful organization has a clear and focused vision about the goals it wants to accomplish and achieve from the site. The primary goals of a site depend on company’s business objective and the domain of business. Some of the primary* purposes of the site could be:

· Informatory Site - Product and Company Information (Static content)

· News and Events Site (Regular update of content)

· E-commerce Site (Shopping Carts, transactions, etc.)

· Wikis Site (Collaborative and Participatory)

· Transactional and Dynamic Data Rich Sites (Banks, Insurance, Finance, Share Market, etc.)

· Intranets (Organization’s Internal Network)

· Configurable Products Sites (Laptops, Computers, Golf Kits, etc.)

· Map Services (High Level Interactivity)

· Gaming (Collaborative and Participatory)

· Blogging (Collaborative and Participatory)

· Photosharing (Collaborative and Participatory)

*(The list given is not comprehensive but indicates some of the possible examples)

The goals and primary objectives of a site decide the technology to be used. The cost of the technology platform for a small and simple site is not really significant but as the complexity of the site and the tasks to be performed by the users increase, the costs can become significant. For example, Amazon - website with high complexity and a very high user base, was able to cut technology expenses by 25%, from $ 71 million to $ 54 million just by migration to Linux platform over others. (CNET news)

The crux is to understand the utility and to find an unambiguous and clear purpose of the site if you do not have one yet.

Number of Users: Number of users also defines the model that an organization can adopt. A site with a large user base can leverage upon its users to add, filter, and value to the site content. Having large user base ensures inclusion and representation of users from different domains and strata of the society, wide range of similar and conflicting opinions, and wide range of demographics of the users. Thereby, such a site can get the users to work for:

  • Content development (Wikipedia)
  • Content Segregation-Tagging (last.fm, flickr, Google image labeler, etc.)
  • Writing reviews for the products (Amazon reviews)
  • Software Development (Sourceforge.net)

There are many innovative and interesting ways to make the users work in the right direction for your organization. One interesting example is Image Labeler by Google (http://images.google.com/imagelabeler/). Google is very much aware of its large user base and therefore could invent a tool like Google Image Labeler. This tool allows the users of Google to label the ocean of images residing in Google’s server. Google has converted image labeling into a fun game by allowing two users to label the images. On one hand having two players tagging the image simultaneously ensures correct labeling and matching of mental models. On the other hand the time restrictions and scoring adds element of challenge and fun to it. The feeling of challenge and fun is very important for the success of any game. No wonder Google’s tool is working pretty well and more and more people are spending their precious time to work free for Google. It is a perfect example of using Web 2.0 to get work done by the users for free by creating collaborative environment which otherwise would have cost Google millions of dollars had they asked their staff to label it.

Having a relevant and segregated content helps the users to find the information that they are interested in quickly. (For e.g. filtering the information using tags of their interest.)

A site with a smaller user base should be wary of this approach because the users in this case are not the actual and true representatives of all the internet users. Contributions by a small user base might not be generic and could be biased because there are not enough users to neutralize or correct a radical or pre-determined content.

Kind of tasks that the users perform: The tasks that the users perform on the site not only define the interaction models and behaviors of the interface but also the underlying architecture and technology to be used. Better technology brings high performance, high efficiency, and high level of satisfaction by making the task intuitive and simpler for the users.

A site with complex and complicated tasks require better interfaces for their flawless and smooth completion. Such site requires high end technology (for e.g. RIAs) to make the interface work seamlessly for the users and to provide high level of user experience. However, a site with simple and straight tasks does not need to unnecessarily invest too much into high end technology, unless the organization has a budget for it.

Having a high end technology however, does add value by providing interesting interaction models for simple and mundane tasks and making them more interesting. Therefore, companies need to strike a balance between functionality and richness of interaction models for the tasks to optimize the user experience. Having a technology in hand might prompt the designers to add a lot of unneeded richness to the interface. How to make a task completion process a positive user experience without overdoing and adding unnecessary confusion is to be understood. Too much of everything is bad and this holds true everywhere.

It is the responsibility of organizations to understand their business objectives and user’s needs to adopt and integrate these technologies and concepts to provide their users a memorable user experience.

No comments:

Post a Comment