The term Rich Internet Applications was first mentioned in advertising materials for Macromedia. The company managers thus emphasized that the Flash technology is not only a way to get colorful visual effects. But it is also a tool for creating full-fledged business applications based on the Web.
What is a rich web application?
Rich internet application is an approach that uses Adobe Flash or Java applets. This approach fully or partially installs the user interface. Most browsers actually support these technologies (usually via plugins).
The emergence of this approach is due to the fact that in the framework of web applications with a “thin” client, user interaction with the application is implemented to a significant extent through the server. This requires sending data to the server, receiving a response from the server, and reloading the page on the client side.
When using Java applets, a special descriptor is included in the HTML document. A document describes the location of the file containing the applet code on the server. After the client receives the HTML of the document that includes the applet, it generates an extra request to the server.
When using rich Internet applications, you have to keep in mind these problems:
- the need to provide a secure execution environment (sandbox);
- scripts must be allowed for code execution;
- loss in performance (because it is performed on the client side);
- takes a long time to load.
How does a rich application work?
What solution to these problems does the RIA concept offer? From an architectural point of view, it translates such programs into the category of applications with a “thick” client. All rich web applications have a similar feature. This is an intermediate part, which is transmitted through the network to the client. It handles interacting with the server and displaying the user interface. The interface is superior to the HTML counterparts. The figure shows the principles of organizing interaction with users in the case of HTML and rich web applications.
The solution to the problem of saving user data occurs at the expense of running rich web applications. The intermediate part, downloaded from the network, accesses it to save and read information. From here it becomes possible to send and receive data from the server only as required, due to caching on the client side.
The issue of unstable connections can also be resolved. Rich web platforms can install an application on a user’s computer. This means that the program files will be allocated space on the disk and it can be run without a network.
Thus, the main distinguishing features of the rich web experience can be noted:
- the client part of the application is loaded onto the user’s computer. The computer handles interacting with the server and has the ability to cache data and work without connecting to the network;
- runs in a browser or as a windowed application and requires the installation of the RIA platform.
Rich Web Principles
How to create web applications that will work smoothly and be popular among the users at the same time? What are the secrets of developing a successful custom web application?
Take a look at 3 actionable principles for websites looking to install rich web experience.
Immediate response to user actions
The main task is to maximize the speed of response to user actions. No matter how much effort is put into reducing the number of hops when working with a web application, there are things beyond control.
An important factor is the unpredictable quality of communication between the client and the server. If the connection quality is poor, then retransmission of packets will occur. Where content needs to load in a couple of roundtrips, much more may be needed.
The respоnse time rates are basically the standard kept for thirty years or even more:
- 0.1 seconds is the limit for response to be perceived as immediate. No extra information needs to be displayed other than the result of the operation.
- 1.0 seconds is the limit for the user’s continuous flow of thought. Although, a delay is noticeable at this point. Usually, no more sign is required with a delay of more than 0.1 seconds, but less than 1.0 seconds. Still, the user loses the feeling of working directly with the data.
- 10 seconds is the limit for keeping the user’s attention. With a longer delay, users will want to perform a different task while waiting for a response from the computer.
A modern web application may have mechanisms to predict user actions. The most obvious application of this idea is to download data from a server ahead of time before the user requests it.
Downloading a web page when the mouse cursor appears over it so that links are clicked to show it instantly is a simple example.
Response to data changes
When data is updated on the server, the client should be notified without delay. This is a form of productivity improvement where the user is freed from the need to perform more actions. For example, press F5 or refresh the page.
Now we live in a world where you upload a photo – and almost immediately get likes and comments from friends and acquaintances. The need for instant response has become a natural necessity in the competitive environment of other apps.
Thus, the speed and responsive interface are the keys to success for the rich web application.