The Internet has emerged from obscurity to become a dominant platform for application development and is integral to the idea of Software as a Service (SaaS). Unfortunately the demand to build applications of increasing complexity has continued to outpace the ability of traditional Web applications to represent that complexity and expectation. Utilisation of AJAX technologies attempts to reconcile some of the issues, but frequently the result is a frustrating, confusing or disengaging user experience resulting in unhappy customers, lost sales, and increased costs.

We are in a period of expanding opportunity for Internet and intranet applications. The growth in adoption and usage of the Internet has acted as a driver behind technology spending, spawned such terms as Service Orientated Architecture (SOA), Software as a Service (SaaS) and Web Services, and enterprise integration trends that seek to combine back-office infrastructures with new front-office applications and the Internet.

Integral to this is the need to communicate better with employees, customers, suppliers, and partners. Intranet applications, including enterprise information portals and employee facing applications, are increasingly depended upon to share information across a company, while outwardly focused extranet applications seek to more tightly bind networks of partners, suppliers and customers and make communication, business transactions and support easier.

A key reason Web applications cannot represent these types of complexity is because of the limitations of HTML pages. The Internet grew up on the notion of a network of loosely coupled, unintelligent clients that communicate with increasingly intelligent servers by sending requests for pages. The emergence of Rich Internet Applications (RIA’s) has served to blur the distinction between the desktop and the Web and has resulted in smart, powerful and dynamic user interfaces. RIA’s seek to combine the best of the desktop, Web and communication technologies.

As one would expect, the driving forces behind Rich Internet Applications are the big guns in the technology and Web industry; namely Adobe, Google and Microsoft. Each company has produced their own RIA platforms:

Rich Internet Applications

Adobe Integrated Runtime (AIR)

AIR is a cross-operating system runtime that allows developers to leverage their existing web development skills Flash, Flex, HTML, Ajax) to build and deploy desktop RIA’s.

Applications can be built using the following technologies:

  • Flash / Flex / ActionScript
  • HTML / JavaScript / CSS / AJAX
  • Combination of these technologies
  • PDF can be leveraged with any application

Adobe Integrated Runtime can be found at http://labs.adobe.com/technologies/air/

Google Gears

Google Gears is an open source browser extension that lets developers create web applications that can run offline.

Google Gears consists of three modules that address the core challenges in making web applications work offline.

  • LocalServer Cache and serve application resources (HTML, JavaScript, images, etc.) locally
  • Database Store data locally in a fully-searchable relational database
  • WorkerPool Make your web applications more responsive by performing resource-intensive operations asynchronously

Google Gears can be found at http://gears.google.com

Micrsoft Silverlight

Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web. Silverlight offers a flexible programming model that supports AJAX, VB, C#, Python, and Ruby, and integrates with existing Web applications. Silverlight supports fast, cost-effective delivery of high-quality video to all major browsers running on the Mac OS or Windows.

Microsoft Silverlight can be found at http://silverlight.net

Rich Internet Applications (RIAs) combine the best user interface functionality of desktop software applications with the broad reach and low-cost deployment of Web applications and the best of interactive, multimedia communication. The end result is an application which provides a more intuitive, responsive, and effective user experience.

Rich Internet Applications Venn Diagram

More specifically, the best of the desktop environment includes providing an interactive user interface for validation and formatting, fast interface response times with no page refresh, common user interface behaviours such as drag-and-drop and the ability to work online and offline. The best of the Web includes capabilities such as instant deployment, cross-platform availability, the use of progressive download for retrieving content and data, the magazine-like layout of Web pages and leveraging widely adopted Internet standards. The best of communication means incorporating two-way interactive audio and video technologies.

This means that in a RIA environment, the client is capable of doing more than just rendering pages. It is able to perform computations, send and retrieve data in the background asynchronously from the user’s requests, redraw sections of a screen, use audio and video in a tightly integrated manner, and so forth, independently of the server or back end to which it is connected.

An RIA environment provides a strong technical platform that effectively restores the client’s abilities to be more like that of desktop software applications, or a traditional client in a client/server system. It fits into the traditional n-tier development process and integrates into legacy environments to extend existing applications without the need to rework them. And it also can serve as an interactive presentation layer above underlying Web Services. It is able to address various kinds of complexity. It enables development of applications that have complexity requirements, reducing the cost of development and frequently making development of such an application possible in the first place.

Because of their architecture and capabilities, RIAs have the potential to fundamentally change the way companies engage and interact with their Web users, leading to more effective user experiences with top- and bottom-line results.

Newer entries »