Rich Internet Applications: How it enriches user experience
Date: Friday , April 02, 2010
The term Rich Internet Applications (RIAs) was coined in 2002 by vendors like Macromedia in an attempt to highlight the limitations of web applications existing at that time and how proprietary technologies created by those vendors was able to address these limitations.
Today, Rich Internet Applications are thought of as applications that have the visual characteristics of desktop applications but are delivered to users over the Internet using standard Internet clients such as web browsers.
RIAs offer significant advantage over traditional web applications in a number of areas, some of which I have mentioned below.
Better responsiveness
In traditional web applications user actions translate into page refreshes. Sometimes, when users perform an action that should affect only part of what is displayed on a screen, a full page refresh causes delays in response and a poor user experience.
RIAs only load data relevant to a user’s action and then refresh only parts of the screen that are affected by that data. This produces much higher levels of responsiveness and increases user productivity and engagement by allowing them to focus on specific tasks and being able to achieve those tasks quickly.
Enriched user experience
RIAs usually have much better graphical capabilities over HTML based applications. In addition, most RIAs can interact with common peripheral devices on computers like speakers, graphics cards, web cameras and styluses to provide customers a much higher level of interaction with their computer.
Increased capabilities of RIAs allow user interactions such as virtual meetings, online brainstorming, collaborative designs and voice chat possible over the Internet. Better graphics enable applications to take advantage of features such as complex graphs and animations.
Inter-connectivity and re-use
RIAs allow developers to glue together external applications into their applications to provide functionality that is served from other applications but appears as a natural extension to the containing application. This concept is usually referred to as Web Mashups. Google Maps is an application that features in many popular mashups.
Applications like Facebook and LinkedIn make heavy use of mashups.
Important RIA technologies in use today include Adobe Flex, Microsoft Silverlight, JavaFX, AJAX, Lazlo, XUL and XForms. Flex, Silverlight and AJAX are the most popular technologies in use today while JavaFX is the latest addition to this list.
Adobe Flex is a combination of technologies that include two programming languages - ActionScript and MXML, an SDK consisting of a set of language compilers and pre-compiled ActionScript and MXML libraries, an IDE called Flex Builder and optional components that provide additional components for UI and server communication. Flash Player is the web browser based runtime for Flex applications.
Flash Player has been around for a long time and works well with most web browsers, giving a big advantage over its competitors in the area of platform independence. There are many free and open-source UI component libraries for Flex that ease the task of creating feature rich UI applications. Adobe’s move to provide a freely downloadable, open-source version of the Flex SDK has made Flex a popular platform for RIA developers as well. Flash Player has also seen significant performance improvements during the last couple of years that have further improved user experience for Flex based applications. On the development side, developers familiar with Java and JavaScript will feel at home with Flex. The IDE is built around the popular Eclipse Java IDE, ActionScript is a variant of ECMAScript (of which JavaScript is another variant) and MXML is an XML based markup language.
Silverlight is similar to Windows Presentation Foundation for native Windows applications. Silverlight uses an XML based language called XAML and a subset of Microsoft.NET framework for creating RIAs.
Microsoft has been aggressively pushing out newer versions of Silverlight with more features and better performance. Platform compatibility has been a weakness for Silverlight owing to the dependence of the underlying .NET platform on Windows based operating systems. Currently Silverlight is supported on most browsers on Microsoft Windows and certain web browsers on Mac OS X. Novell has developed Moonlight, a free implementation of the Silverlight API for use on Linux and Unix based operating systems that support the X11 runtime.
For existing .NET developers, Silverlight is very easy to learn as it is based on familiar .NET technologies and API and has full support within the Visual Studio IDE. Efforts are on to integrate Moonlight with open source IDEs such as MonoDevelop.
Asynchronous JavaScript and XML (AJAX for short) is a JavaScript and XML based paradigm for developing web applications. AJAX has wide adoption due to minimum browser requirements of all RIA technologies. Due to its heavy dependence on web browsers, AJAX suffers from problems such as lack of a consistent API, browser limitations and inconsistent user experience.
Over the years AJAX has benefitted from developer efforts to create reusable frameworks around JavaScript and XML. Popular AJAX frameworks today include Google Web Toolkit (GWT), Yahoo! UI (YUI), DOJO and jQuery.
JavaFX is the latest addition to the world of RIA technologies. It is a family of technologies and products from Sun that consist of programming languages, language compilers and component libraries.
JavaFX applications can run on any device capable of running a Java Runtime Environment (JRE).
Sun’s development IDE, NetBeans has support for JavaFX development. Plug-in support for other Java based IDEs such as Eclipse is slowly becoming available.
RIA: Leveraging service oriented architecture
An increasingly higher number of RIAs are taking advantage of publicly available services to deliver increased functionality to end users. Applications like Facebook, Adobe Connect Microsoft Live are examples of such RIA applications.
Multiple deployment options
Adobe has released AIR, a cross-platform deployment technologies that allows running applications natively on computers just like traditional desktop applications. Similarly, Microsoft has released Windows Presentation Foundation (WPF) that achieves the same result for Windows based computers. These technologies offer users the choice to either continue accessing RIAs using their web browsers or deploy them as local applications. eBay Desktop and WPFPedia are great examples of applications that have leveraged these technologies.
Mobile devices
One of the biggest technological revolutions in the past few years has been the convergence of features on mobile devices such as mobile phones and PDAs. Developers have started writing RIAs for mobile devices in just the same way as they do for personal computers. This has led to increase in coverage of many RIA applications such as Google Maps and Microsoft Live that are now accessible from most mobile devices.
The author of the article is Manish Baxi, Senior Manager, Technology, Sapient. |