Characteristic Of Rich Internet Application Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Rich Internet Application basically is a type of web applications that share the same characteristic as desktop application but instead of display it in windows form, it runs on any web browsers and it also platform independent which mean it able to run on any operating system. It combines the best of desktop application, web application and communication together to form new platforms. (IDC, 2003)

RIA not only interactive and good looking, they also delivering a rich internet experience without page refresh or server postbacks. Java, flash and Microsoft Silverlight are the most common platforms available on the World Wide Web. For example, Google search engine textbox using the auto complete from AJAX, Sony Ericson website are mostly design using Adobe flash, Microsoft website video are load using Silverlight and many more. (Wikipedia, 2010)

RIA has existed long time ago such as Rich Web Application, Java applets, Macromedia Shockwave, Microsoft Remote Scripting and ubiquitous Flash format, but nowadays there are many new web standards available but most of them are using the same principles as the RIAs. (Wikipedia, 2010)

In order to launch a RIA application, users need to install a kind of software called software framework such as Adobe Flash Player, Microsoft Silverlight, Java runtime environment (JRE) and so on. This is the main difference between RIA and Ajax (Asynchronous JavaScript and XML), Ajax required no installation of any software framework at all and it uses the function or features that are build-in in the web browser.

History of RIA

The term Rich Internet Application or RIA was introduced in a Macromedia whitepaper in March 2002, though this concept had been around for years but under different names such as:

Java applets, by Sun, 1995

Remote Scripting, by Microsoft, Circa 1998

X Internet, by Forrester Research, October 2000

Rich (WEB) Clients

Rich Web Application

No one really knows exactly what is this RIA technology really is and developed by whom. The developers only know how to apply this kind of technology into their web application. Many times, when someone says RIA, they actually means JavaScript, Flash, CSS or AJAX.

The first version of AIR 1.0 was released in March 2008, current version is Adobe AIR 2 that are able to use different technology such as JavaScript, HTML code, Flash, and even ActionScript to build web application that able to run on different web browser or even as a standalone application. This technology allows the designer and developer to use their creativity to develop the application for different devices and platforms using the consistent, flexible and visual development environment provided by Adobe.

The AIR 2.0 also have many enhancement from the previous version of AIR such as, increase maximum window size, performance improvement, faster JavaScript engine, security improvement, cross-platform vector printing and so on. (Adobe, 2010)

Microsoft Silverlight

Microsoft Silverlight is a type of web application that combines all the graphic, animation, multimedia and interactivity in one runtime environment. A Silverlight application work by calling the HTML (Hyper Text Markup Language) and then load the XAML file which contain the Canvas object that act as the container for other elements. The earliest version of Silverlight is Silverlight 1.0 which is released in 2007 contain only core presentation framework that used to handle the user interface, interactivity and user input, basic UI control, graphic and animation, multimedia playback, Digital rights management (DRM) and also ROM integration. The latest version of Silverlight is version 4 that was released in April 2010. The features of Silverlight are similar to Adobe Flash. (Microsoft, 2010)

Google Gears

Google Gears is an open source application that enables the user to add more features to their existing web browsers. It uses their homebrew API to synchronize the data and us the SQLite to store all the data. Gears also need a local server host to host the content so that the user can access the content offline. It also use JavaScript to enhance the performance. (Google, 2010)

Y! BrowserPlus

BrowserPlus is a technology that allowed developers to create rich web application with the capability similar to those desktop applications using web browser. The uniqueness of the BroserPlus is the ability to update and add new services to the browser without restart the browser or reload the page. (Yahoo, 2010)

Mozilla Prism

Mozilla Prism is an application that allows the users to splits the web applications from their web browser and run it on their desktop. The user also able to add their favorite web application to their desktop environment.

Figure 3.0

Source: <>

Prism isn't a new platform, it's simply the web platform integrated into the desktop experience. Web developers don't have to target it separately, because any application that can run in a modern standards-compliant web browser can run in Prism. Prism is built on Firefox, so it supports rich internet technologies like HTML, JavaScript, CSS, and <canvas> and runs on Windows, Mac OS X, and Linux. (Bread, 2007)


The HTML 5 currently is still under development, and it is the next HTML standard. This new HTML 5 still inherits all the features from its predecessors and add-on some new features like Semantic Markup, Form Enhancement, Drag and Drop, Audio and Video playback, editable content and so on without relying on any browser plug-in or JavaScript like its predecessors. Meaning it can do all the rendering and processing within the browser itself. HTML 5 also able to handle incorrect syntax so that older versions of the web browsers also able to run the latest HTML 5 code structure. (W3C, 2009)

Characteristic of Rich Internet Application

The connection between search engine accessibility and web accessibility is rather weak. For example it took over a decade from release for Adobe Flash to be universally searchable. (impact-work, 2010)

Advanced communications with supporting servers can improve the user experience, for example by using optimized network protocols, asynchronous I/O and pre-fetching data (eg Youtube video). Likewise, these kind of technology required reliable broadband connections. (impact-work, 2010)

The advance solution and complexity of RIA makes it harder for the web developer to design, develop, deploy and debug then the traditional web application but normally is less hard than application software. (impact-work, 2010)

Consistency of user interface and experience can be controlled across operating systems. Performance monitoring and fault diagnosis sometimes can be challenging and difficult.

Plug-ins, sandboxes or virtual machines installation and maintenance is a must but for some of the smaller application, they will have it update set to automatic by its developers. The installation process is normally faster than the application software but slower than the normal traditional web applications. (impact-work, 2010)

By working in offline (or intranet), it able to maintain the state locally on the client machine but there are also other web standard such prototype in Google Gears also has this features enabled in the native web applications. (impact-work, 2010)

The security of RIA web application is improved compared to native web application but lower compare to application software with the help of the sandboxes and automatic updates but the extensions of the web application are subject to vulnerability and access is most probably much greater compare to native web application. (impact-work, 2010)

Depending on the application and the network characteristic used, the overall web application performance can be improved. For example, the application can avoid latency of round-trips to the server by processing it locally without postback to server, by doing so, the overall process is faster compare to the other traditional web application that send it process request to server and wait for server to process it and return the result. Besides that, offloading work to client machine also able to improve server performance thus the resources requirement can be converse enable for smaller, embedded and mobile devices to be use. (impact-work, 2010)

The richness of the RIA is not supported by traditional web browser such as video capture (e.g. Adobe Flash). (impact-work, 2010)

Benefits of using Rich Internet Applications

RIA uses the advantages from the client CPU to help the web server to render or process the interface, so RIA able to provide a real-time user-interface which is nearly impossible to do with normal HTML website. The rich internet function provided by RIA may included anything that can be implemented in the system in used on client side such as using slider to change the view, drag and drop function, zoom in and zoom out for image, calculation that happen on client and do not need to be send back to the server.

Rich Assets

The fundamental between traditional website and modern rich internet application is different. Traditional website in made up entirely of text maybe with some picture, whether it use static HTML, Java or .Net, it still Text-based website.

Unlike traditional website, RIA has more assets to deal with, such as Audio, Graphic, Video, State, Transition, and Effect. The content of RIA is interaction-based which mean is dynamic and the content is change from time to times. (Bryan, 2009)

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.

Due to the richness of the RIA and it interaction-based model, a well design and build web application using RIA often provide it user new experience. (Bryan, 2009)

Rich Functionality

By utilized the latest and modern web technology like Adobe Flex/Flash/AIR, AJAX, or Mircrosoft Silverlight, an RIA able to provide functions way beyond the traditional website. For example, the PhotoShop Express or Google Docs, the way they is more or less silimar to desktop application which is impossible in the past. (Bryan, 2009)

Rich Clients

In traditional web application, it often puts heavy workload to the server whether it's platforms is Java, .Net or PHP, the web server had to do all sort of processing such as maintain the user session, process the user request and process the result and send back to the user. While on the client side, it web browser just medium to display the result of the request earlier.

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.

On the contrary, RIA relies on the client machine processing power to do most of the rendering and processing. In order to do so, it had to install the browser plug-in so that RIA able to execute it functions locally. (Bryan, 2009)

Rich Communications

The traditional way to operate a web application is like:

Click a button

Wait for the respond from server

Click another button or select other action

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. (Bryan, 2009)

Search Engine Optimization

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. (Bryan, 2009)

Limitation of normal web-based application

The normal web-based application can boost their performance/response by implementing RIA into their system. RIA is needed because there are many limitations in normal web base application. They suffer from the inability to adequately visually represent the complexities required in today's applications. (IDC, 2003)

Some of the complexities in normal web applications are:

Process complexity

Process complexity mean the web application need more than one steps, process or even options to complete a task. Due to the limitations of interactivity of HTML, the users actually need to go through many steps or processes to see their results. This whole process is very troublesome, time consuming and sometime frustrating to the user.

The best practice is to represent the complex processes in simpler or linear workflow and reduce the number of steps or process and allow high degree of interactivity within user interface. A highly interactivity interface able to solve the complex processes multi steps or linear workflow more directly and intuitively. (IDC, 2003)

Data Complexity

Checking, passing or receiving data or information illustrates data complexity. E.g. HR department and Accounting department often use the internal network to get the data needed but sometime there are too much of data need to be process, as a result the performance is also being affected.

Therefore some kind of tools is needed to visualize the data needed so that users able to navigate through and explore the data and understand it better. This kind of tools allow them to display the data in a way that is easy for the user to understand such as chart or graph so that they able to see it in sections thus provide better understanding.

When user able to navigate and manipulate the data, data complexity is reduced and more understanding and compelling by the simplicity of the visual presentation. (IDC, 2003)

Configuration Complexity

Nowadays there are still exist some website that are still using text to represent the criteria-based or parametric search which mean they are unable to present the visual picture of the end result of the product.

Example, there are many Web applications that allow their users to set or configure their product from something as inexpensive as a cloth to something expensive as a PC or car.

It is difficult because the application needs to display the result of more than one or even more to the users as a result the increase the complexity of represent the valid combination of product option.

Configure these products is not an easy task and sometime is quite troublesome. Representing this complexity includes indicating required elements, indicating both valid and invalid combinations, indicating selected trouble causing elements and their proper resolution, providing cost information for each individual selection and also the total cost, in the end enabling the users to view the result. If the application able to do this then the number of users who abandon their effort part way through the process will be greatly reduce. (IDC, 2003)

Scale complexity

Most of the internet applications are able to access to the data that was previously available with the help of new techniques to search and compare data. For example, criteria-based product searching feature that allows the user to sort out the item he/she want out of hundred or thousand of it. Most of today website are using these kind of search method with textual and port of the image will show beside.

First, the user will enters his or her criteria, let's say the user wan to search a computer that suit them, then the criteria might be processor, RAM size, HDD size, GPU and etc. After that the site will return the result with matching computer that meet with the criteria that the user had enter earlier.

Another type of searching method is using image or some kind of visualization aid to help with the searching. This method able to reduce the complexity of the search space and thus providing more direct, dynamic visual feedback of the search filter. It started by providing a list of picture containing all the computers image shown on the page.

As the user selects filter criteria using check boxes or sliders or data entry fields, the site will automatically remove all the miss match computer almost instantly and leaving only those computer that match the criteria. The result is a radically different experience, of narrowing the focus from zero if no criteria matched to few computers that fit the criteria or perhaps one that closer to the user's actual physical world buying experience.

Allowing users to visually eliminate the invalid options or filtered results removes complexity and increases user confidence. (IDC, 2003)

Thing or criteria that needed on Internet Applications

Based on the growth opportunities presented in IDC research, it is clear that the impact of Internet application will continue to increase on overall business especially when the companies wants to work more closely with it customers, suppliers and internally it's staffs. (IDC, 2003)

To solve the problems that often occur in the Web application, it is able to:

Utilize a ubiquitous client

Able to run on cross platforms and multiple different hardware

Work well on low or high bandwidth connections

Restore processing power (not just rendering capabilities) to the client

Deliver engaging user interfaces with high degrees of interactivity

Represent process, data configuration, scale and feedback complexity

Utilize audio, video, images and text in a seamless manner

Support the mobile workflow by allowing users to work on- and off-line

Allow the client to determine for itself what content or data to access and when (Asynchronous content retrieval)

Access multiple middle tier services and backend data stores

Provide a dynamic and powerful front end for the evolving Web Services based network using standards such as XML and SOAP

Integrate with legacy applications and systems

Allow for the incremental addition of new functions to existing Web applications and environments to get the most out of existing Web application investments

By utilize these technology into their solutions, the limitations of traditional web application will be overcome so that the user able to experience then new kinds of engaging, innovative user experiences and applications.

Why Companies should consider implement RIA in their Internet Application

Internet application able to help companies to connect directly with their prospects, clients and also their business partners. But most of the companies often complaint that they did not fully utilize the internet technology to help them gain business advantages. While Rich Internet Applications apply across a broad lattice of industries and uses, one of their main objectives is to allow company to reduce the complexities that appear in between the modern and traditional Web application. With the help of RIA, companies able to get closer to their vision of application, their customers, and also to the business impact that they have believe in the Internet could have done for their overall business. This is expressed most clearly in what RIAs have allowed or enabled companies to do. (IDC, 2003)

Companies have considered and chosen RIAs because they believed they could:

Develop new kinds of applications with features or capabilities that would be extremely difficult or impossible for a developer to create using traditional Web technologies.

Engage, guide and listen to their customers on-line more intimately or more closely to how they would do it in person to increase loyalty, improve service, deepen the customer relationship, distinguish the company, or guide product development.

Create compelling, attractive Web sites using audio, video, text and graphics that generate leads, increase sales, simplify communication and create a unique online experience worth returning to.

Simplify typically complex processes like registration, configuration or purchasing leading to increased leads, sales, bookings, time on the site and repeat visits.

Present information to their employees, management and partners in clear, innovative, intuitive and effective ways to increase productivity, information sharing, decision-making and competitive advantage.

Provide an engaging, highly interactive presentation layer to underlying Web Services.

Reduce bandwidth costs associated with frequent page refresh for high traffic sites.

Dramatically increase sales of their products and services through their Internet channel.

Build an engaging, highly interactive Web site or application at a reduced cost compared to using alternative Web technologies.

These are the reasons why companies should consider a Rich Internet Application for their business.

Linkage to final year project

The purpose of doing this topic is to allow me to gain more knowledge on rich internet application, how it works, benefits of implement it, and why should we implement it in our web application.

Rich internet application not only allow me to overcome the limitation of normal HTML web application, but I also able to improve my Courier System GUI to even more friendlier, more dynamic and even fully utilize the function on RIA.

For example, by using Silverlight, I able to create more interesting and even prettier user interface. These interfaces not only look simple, but also easy to use compare to that legacy HTML interface that sometime confuse the user due to it complex design.

Besides that, by utilizing AJAX technology, I will be able to increase my system performance. Because AJAX allow me to use auto complete feature to search for area post by using the area name as criteria. Then the auto complete will search through the database with matching prefix of the string without the user to enter the whole area name. I also will use the updatepane in this system so that some of the function that can be done in client side will be process at client side without sending postback to server or even refresh the page.

Critical evaluation

For this research, I had look though many resources to gather information that I needed to complete my seminar report. Due to the lack of detail information in article or journal that I read, I had to search for more information in some of the report written by other organization.

Through all the resources I used, the white paper prepared by IDC (International Data Corporation), is the most resourceful among all the recourses I got in hand. The reason is the information inside this white paper had provided most of the information I needed including case study that had done by them regarding the impact about RIA to different kind of business web applications. This kind of information is very useful for me to know how RIA will affect different kind of business nature and also how RIA helps them gain profits. Not only has that, they also able to provide clear overview on the current market, characteristic and limitations, definitions, benefits summary, and so on.

Besides the white paper prepared by IDC, W3C website also one of my sources of information. Although most of the information provided in this website is in technical part, but it a good source of information to know how it actually work, the change log from older version to current version, what are the improvement and so on. But sometime the information is too "technical" that it is hard to be understand even if the person that reading it are experience in web application development. The reason is the information consist more coding then understandable information. That why if normal people that read the information without or lack of HTML or web developing background will be confused or not understand it at all.

I also gather some of my information from various major RIA developers such as Macromedia/Adobe, Microsoft, Google, Yahoo and etc. With this, I able to discover many different platforms developed by different developers. Thou most of them are explaining their own framework and platforms, but there also exception such as Adobe and Microsoft whereby there also explaining some of the basic RIA concept and some brief information. Not only that, Adobe managed to state out the advantages of using RIA in web application and also provide some of the research statistic done by other researchers.


As a conclusion, not only RIA able to overcome the limitation of the HTML website or web application but also provided some extra features to enhance the web application performance. If the RIA - based application is proper designed by the developer, it may even outstand the desktop application and not only that, it also can increase the business competitive while reducing the development cost and development time.

These kinds of technologies able to simplify the development, management and the effort of integrating or replacing the existing system without remove the old web application. With this, companies able to improve their sales, more effective customer services and customer support and also marketing strategies. Because they are able to display the data, information, or products in more linear and tidy ways and as a result gain a distinct competitive advantages over the other competitors.

RIA based application have many advantages over the traditional web application, there no reason why companies should not change their old/traditional web application to RIA based application. RIA based application able to help them gain more revenue and also able to help them to attract some potential customers.