Knowledge blog

Rich Internet Applications, a glance

Rich Internet/Media Applications, from here on it is considered as RIAs. RIAs are the online apps which has the ability to use the rich graphics interface and functionality of a desktop software in a web browser. It uses a Rich Client Deployment Model where it deploys a completely compiled client application to the users system through browser plug-ins.

Few years back, we can only see applications rich in graphics and functionalities as desktop software. But with modern browsers, we can bring the same desktop feel in web browsers by means of Rich Internet Applications.

RIAs are built with different powerful tools available in the market. It is up to the developer and the requirement to choose which one to be used based on feasibility. RIAs are known to perform much better and faster as compared to the traditional web pages. Moreover, RIAs keeps the users more engaged with its rich look and feel that provides cool visual experience to the eyes along with its various user interactions.

Unique Characteristics of RIAs:

RIAs boast with various characteristics and features.

1. User Interaction: RIAs are meant for cool interactions. As compared to traditional web applications, RIAs come with a wide of range user interaction possibilities. For instance,

  • Users can Drag & Drop one element in to another
  • Layout can be changed on the fly
  • Character based games where the character moves around different locations
  • Interactive maps: One can pan across the map and zoom in to view the detailed location

2. Content Updates: Traditional web pages are loaded once and for every changes the whole page needs to be reloaded to post and get result from server. Even with high end internet connection one has to wait for the complete page to reload every time a query is made to the server.

But in RIAs, we have Asynchronous method to communicate with server. That means it doesn’t wait for the result to come from server. It is processed simultaneously so that user can perform any other actions as well. We have various methods to achieve this by using Real Time Messaging Protocol(RTMP), Real time streaming, Web Services and many other methods available.

3. Offline Usage: With RIAs, it is even possible to work in offline mode i.e. if the internet connection goes off in between then the RIA can be built in such a manner that it will retain the state and all the changes in local environment and as soon as the internet connection is back it will push the changes to server. This will avoid user from doing the same changes again as in traditional web apps.

This feature comes in very handy when we are in a place without internet or in a travel. We can just do the necessary changes and these will be synced with server once we have internet connection.

4. Single Code Case: This is most important feature for both developers and clients. RIAs can have a single code base and with little modifications it can be deployed across platforms and devices.

For instance, we can just create a game using Adobe Flex/AIR and deploy it across different desktops like Windows, MAC and also across mobile devices like iOS, Android and Windows phone.

5. Design Maintainability: Since, RIAs are wrapped in to a plug-in. All the designs and functionalities are same across platform and devices as compared to traditional web pages.

For instance, if we have a weather widget created as RIA then it will have same look & feel and functionality across all platforms and devices since it is going to have a single code base.

6. Performance: Performance is the main factor where RIAs considered compared to traditional pages. RIAs can perform much better based on the application built and network capabilities.

7. Real Time Feedback: Since RIAs use Asynchronous method and doesn’t reload the web page for every communication to server. The results are shown as and when required and it avoids user from waiting long time for page load to see the results from server.

Disadvantages/Drawbacks in RIAs:

In modern world, we should say there is no such disadvantages in RIAs. But still the below points come to play at some point of time.

1. Plug-in based: Since RIAs rely on a plug-in to be displayed in browser. So, the user needs to have the respective plug-in in order to have the particular RIA displayed. This might not be good for no-wise users who don’t know anything. But nowadays, more than 90 percent of computers have plug-ins like Adobe Flash Player which is used to display the RIA created using Adobe Flash/Flex/ActionScript.

2. Cost & Time: Developing RIAs are bit expensive and time consuming as compared to traditional web apps.

3. Compatibility: RIAs can be built in such a way that it can be displayed and work properly even in very low end machines. But still this is a point to be considered where it will fail in some of the low end machine as the required plug-in will not be supported.

RIAs Authoring Tools:

Below are few popular software that can used to build RIAs.

  • Adobe Flash, Adobe Flex, Adobe Integrated Runtime(AIR), ActionScript
  • AJAX – Asynchronous JavaScript
  • Java Applets
  • Microsoft Silverlight
  • HTML5/JavaScript – Google Web Toolkit(GWT), ExtJS

Reference RIA: After discussing various features of RIAs, below is a RIA project completely developed by us.

Project Name: GreenBook

Reference URL: http://greenbook.demodooms.com/

We need to click on the “Create a Green book” option to launch the RIA editor. It is a kind of online designer web to print tool. We can play with text and images. We can have different pages of our own designed text and images and then save it in to a high resolution PDF for print and also as a online slide show. It can be used as a customized eBook as well.

This is a good example of RIA that can be explored. We have many more RIAs developed but sticking with this for reference.

Thanks for reading and hope you have enjoyed. Will come with more details on recent developments on RIAs and its related technologies.

Would like to contact our expert team? Contact Us