While programmers do all the magic to create these apps, it's ultimately end users who assess their value, ease of use, speed and other characteristics. This primer examines a few of these Rich Internet Application Frameworks and how they work in Web mapping solutions.
What's a Rich Internet Application, Anyway?
Rich Internet Application (RIA) is a phrase that distinguishes the more elegant Web apps from the less elegant ones. Different publications list different "properties" for RIAs. This list is from Java Today.
The app:
- is launched from (or even contained within) a Web page
- provides immediate feedback to users, with no refresh required
- supports tree controls, tabbed panels, drag and drop, and keyboard navigation usually found in desktop packages
- used platform independent coding
RIA Frameworks
RIAs are enabled by RIA frameworks, software installed on the client computer. The frameworks manage downloads and updates, and run the RIAs. In the best case scenario, the frameworks are invisible to the user.
There are many RIA frameworks (and some arguments about which technologies are, or are not, RIA frameworks), but the most widely known in the geospatial arena are probably AJAX, Adobe Flash/Flex and Microsoft Silverlight. Soon, we are likely to hear more about Google Gears.
AJAX
AJAX, a technology named by combining Asynchronous JavaScript and XML, is not considered an RIA framework by everyone. (ReadWriteWeb examined the question in 2007. Computerworld puts AJAX firmly in the RIA camp.) But for us in mapping, I think it must be included. Remember when Google's "slippy maps" redefined interactive mapping applications, possibly forever, back in 2005? For the first time end users could do what they did with their desktop mapping (and CAD) applications: pan without interruption! AJAX made that possible and set the bar for how mapping applications should work from that time forward.
Flash/Flex
Flash dates back to 1996 when it was launched as MacroMedia Flash. Adobe acquired MacroMedia and now supports Flash and related technologies. Flash, in its early days, was thought of as a browser plugin that enabled animated ads, games and later video. In the days of slower Internet access, many users disabled Flash and graphics to speed up webpage retrieval. Today, it's hard to imagine using a Web browser that does not support Flash.
One of the pivotal Flash mapping applications is Flash Earth (Figure 2). To run it you need to have JavaScript enabled and have the latest Flash plugin installed. Paul Neave used some clever techniques to access various mapping apps' data (WorldWind, Yahoo Maps, Virtual Earth, etc.) and presents the results in a Flash application. A few things to note about the interface:
- As you "mouse over" the tools on the left, their containers highlight
- You can click and drag the slider to zoom in or out (a mouse wheel works, too)
- Clicking on a source radio button executes the command; there's no "apply" button
- Interface tool panels can be minimized or expanded
- You can rotate the map by clicking and dragging the compass rose
- You can use keyboard shortcuts (detailed in the help)
Today, Flash is a component of an RIA framework called Flex. Adobe Flex dates back to 2004, but made a big leap in 2008 when the Flex 3 SDK was released under an open source license. Other parts of the environment, including the Flash Player, are proprietary.
One of the early users of Flex for mapping was Yahoo. It used an early version, 1.5, but later switched to AJAX. I could not find an end user mapping portal that currently uses Flex.
What have appeared are many Flex Application Programming Interfaces (APIs) that allow development of mapping applications with popular mapping and GIS platforms including Google Maps, Yahoo Maps and ESRI's ArcGIS Server. The state of Maryland used Flex and ArcGIS Server to create its map (Figure 3, 4) of how it will spend its stimulus money.
Microsoft Silverlight, while first launched in 2006, didn't make a splash in the end user community until the company, in a deal with NBC, used the technology to show footage of the 2008 Olympics. That pushed many people to download and install the framework. In the last few weeks ESRI and Microsoft have announced Silverlight tools for Web mapping.
Microsoft announced a technology preview of the Virtual Earth Silverlight Map Control which enhances speed and smoothness with large datasets. I noted a few demonstrations I found at All Point Blog. Since the control is really aimed at enhancing performance issues, it's perhaps better to get a sense of what it can do in a more familiar situation. Contrast the experience with this ArcGIS Server Silverlight demo app with the Flex one above. ESRI offers samples of specific functionality implemented using Silverlight.
Gears
The other RIA Framework that's getting some attention is Google's Gears. While it's built in to Google's browser, Chrome, it's open source and can be installed to support many other browsers. It may become a valuable RIA for mapping because of its integrated location technology. That means it can detect location and then provide that information to applications built upon it.
I have not found any mapping applications yet that use Gears, but this demo illustrates the features of the Geolocation API.
Looking Ahead
The news for end users regarding RIAs is all good. Web applications for mapping and other needs that use RIA frameworks are more responsive, more intuitive and work more like full-fledged desktop applications. The challenge, it seems, rests with developers. They must determine which of the RIAs best fits their clients' needs. Based on the recent past, more RIAs and more mapping APIs that support them will appear and gain popularity in the coming months and years.