Tuesday, October 20, 2009

7 Difference Between RIA and Traditional Web Application

Since coined by Macromedia in 2002, RIA (Rich Internet Application) has become one of the hottest terms online. However, what is RIA? Not all people have a clear answer. Many times, when someone says RIA, he actually means Flash, AJAX, or Web Video. A typical example is, some companies put “X years RIA experience” in their job requirements, while they actually want someone good at HTML.

So, what is RIA any way? It is a set of characteristics rather than a specific framework. To understand this, let’s look at 7 Difference Between RIA and Traditional Web Application:

1. Rich Assets

This is the fundamental difference. A traditional website is mainly made up of Text (plus a few pictures). No matter what kind of site it is (blog, forum, or e-commerce), No matter what technology it uses (Static HTML, Java, or .NET), it is Text-Based.

RIA has more assets to deal with, such as Audio, Graphic, Video, State, Transition, and Effect. It is Interaction-Based.

2. Rich Experience

The richness of RIA means rich user experience. It is kind of paradigm shift from what we can provide more to how we can help users get more.

Thanks to the rich assets and their interaction-based design model, a well-built RIA often creates a WOW Experience for its users.

3. Rich Functionality

Powered by the latest web technologies such as Adobe Flex/Flash, AJAX, or Microsoft SilverLight, A RIA can provide functions way beyond traditional web pages. Just look at PhotoShop Express or Google Docs, you will see they act more like a desktop application. This is unbelievable in the past.

4. Rich Client

A traditional web application often puts heavy workload on the server side. Regardless of its development platform (Java, .Net, or PHP), the server has to maintain the user session, process the request, and render the results. The client side is merely a browser to display the final page.

On the contrary, RIA leverages the growing power of client machine. It installs a runtime (such as browser plug-in) on the client side, and executes most of functions locally.

5. Rich Communication

The traditional way to operate a web application is like:

Click a button => Wait for the result page showing => Click another button

Whenever users ask for something, the browser has to send a HTTP request to the server, wait for the response back from the server, and refresh the page. This synchronous communication method inevitably creates negative impact on usability.

While RIA normally uses Asynchronous communication method. It allows the application to get the data from the server without the page reload. It makes the application faster and more user-friendly.

6. Poor Security

While we enjoy the richness of RIA, it brings more security concerns than a traditional web application. The main reason is RIA is running on the client side. It tends to have more security flaws. Fortunately, the major RIA framework, like Adobe Flex/Flash, has realized this issue for long time. It applies restricted security protocol and provides security patches as fast as possible.

7. Poor SEO

This is another big challenge faced by RIA. Today’s major search engines are still Text-Driven. They have difficulty to fully index the content inside compiled file, such as Adobe Flash File (.swf).

On the other hand, because RIA is running independently on its own browser plug-in, it is hard for the browse to capture the application state. For example, the URL keeps the same regardless of content changes. This causes problems with Bookmark, Page History, Back Button, and Search Engine Index.

Of course, the major RIA vendors are well aware of this challenge. For example, Adobe actively cooperates with Google and Yahoo to improve the search results. It also provides Deep Link capability to support URL based navigation in the browser.

In Conclusion

Like Web 2.0, RIA provides a new way to think, design, and build the next generation Internet application. Compared to a traditional web applicaiton, RIA is richer in terms of Assets, Experience, Functionality, Client, and Communication, while it faces some challenges in the areas of Security and Search Engine Optimization.

No comments: