The Full Wiki

Rich Internet application: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

Rich Internet Applications (RIAs) are web applications that have many of the characteristics of desktop applications, typically delivered either by way of a site-specific browser, via a browser plug-in, or independently via sandboxes or virtual machines.[1] Adobe Flash, Java and Microsoft Silverlight are currently the three top frameworks, with penetration rates around 95%, 80% and 45% respectively.[2]

Users generally need to install a software framework using the computer's operating system before launching the application, which typically downloads, updates, verifies and executes the RIA.[3] This is the main differentiator from Javascript-based alternatives like Ajax which use built-in browser functionality to implement comparable interfaces. While some consider such interfaces to be RIAs, some consider them competitors to RIAs and others, including Gartner, treat them as similar but separate technologies.[4][5]

RIAs dominate in online gaming as well as applications which require access to video capture (with the notable exception of Gmail, which uses its own task-specific browser plug-in[6]). As web standards such as HTML 5 have developed and the compliance of web browsers with those standards has improved, the need for plug-in based RIAs has diminished. The emergence of a range of Javascript-based desktop-like widget sets have continued this trend.[citation needed]



The term "rich Internet application" was introduced in a white paper of March 2002 by Macromedia (now merged into Adobe),[7] though the concept had existed for a number of years earlier under names such as:

Key characteristics

  • Searchability: RIAs present indexing challenges to search engines, however Adobe Flash content is now at least partially indexable.[8]
  • Advanced communications with supporting servers can improve the user experience, for example by using optimised network protocols, asynchronous I/O and pre-fetching data (as in Google Maps, for example). Accordingly, many RIAs require reliable broadband connections.
  • Complexity of advanced solutions (though making them more difficult to design, develop, deploy and debug than traditional web applications) typically reduces in RIAs compared to traditional application software)
  • Consistency of user-interface and -experience becomes controllable across operating systems (though performance monitoring and fault diagnosis can provide particular difficulties).
  • Installation and maintenance of plug-ins, sandboxes or virtual machines, though required, make applications smaller than their predecessors and typically allow automated updates. RIAs often install faster than application software but slower than native web applications, which do not always allow automation.
  • Offline use may occur by retaining state locally on the client machine (but developments in web standards have also enabled this for native web applications)
  • Security can improve over that of application software (for example through use of sandboxes and automatic updates), but the extensions themselves remain subject to vulnerabilities and access possibly is often much greater than that of native web applications. For security purposes, most RIAs run their client portions within a special isolated area of the client desktop called a sandbox. The sandbox limits visibility and access to the file-system and to the operating system on the client to the application server on the other side of the connection. This approach allows the client system to handle local activities, calculations, reformatting and so forth, thereby lowering the amount and frequency of client-server traffic, especially as compared to the client-server implementations built around so-called thin clients.[9]
  • Performance can improve - depending on the application and network characteristics. In particular, applications which can avoid the latency of round-trips to the server by processing locally on the client often run a lot faster. Offloading work to the clients can also improve server performance. Conversely the resource requirements can become prohibitive for small, embedded and mobile devices. An RIA can use a wider (and hopefully better) range of controls to improve users’ interaction with the interface, allowing efficient interactions, better error-management, feedback and overall user experience.
  • Richness by way of features not supported natively by the web browser - such as video capture (for example: Adobe Flash). RIAs are usually richer in functionality as they offer user-interface behaviors using only the HTML widgets that can include any technology being used by the client side, including drag and drop, using a slider to change data, calculations performed only by the client and not need to be sent back to the server.
  • A sub-windowing choice of MDI-based, tabbed, or stacked collapsible panes, preferably user-selectable; and related features such as modal dialog boxes.

See also


External links



Got something to say? Make a comment.
Your name
Your email address