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)
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
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)
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 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.
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.
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)
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)
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)
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)
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 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)
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)
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)
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.
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.