Rich Internet Application Frameworks for Mapping: An Introduction for Non-programmers

May 1, 2009

Sharing is Caring

In the early days of Web mapping, the simpler apps used basic Hypertext Markup Language (HTML) code and the Hypertext Transfer Protocol (HTTP). Those early online maps required a full round trip to the server to return new information and had very limited interactivity (Figure 1). The more complex ones, like Argus MapGuide which later became Autodesk MapGuide, required a plugin and typically provided a richer experience. Today, Web maps are likely to take advantage of Rich Internet Application Frameworks from providers like Adobe and Microsoft to provide a more desktop-like interaction, in conjunction with tools from well-known geospatial technology providers.

Figure 1. An online map using only HTML from the Oregon Department of Environmental Quality, from a paper presented at ESRI 2000 by Mitch West and Doug Terra. Source: (Click for larger image)

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, 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 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)
The reason I highlighted the options in the interface was to remind readers that these are very "desktop-y" kinds of things, exactly the sorts of things that RIAs aim to provide.
Figure 2. Clicking and dragging rotate imagery of Cape Ann, north of Boston, in Flash Earth.

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.

Figure 3. The state of Maryland used ESRI's Flex API to build an interactive map of its stimulus spending. A full-sized viewer is also available which offers 12 different "desktop-like" tools complete with interactive drawing tools to create your own map annotation. (Click for larger image)

Figure 4. Annotation made on the Maryland map within the Flex environment. (Click for larger image)
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.

A bit of an app built with the ESRI Silverlight API. Note that the user can set some Silverlight preferences.

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.

The Google Gears Framework's Location API found my location outside Boston.

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.


Sharing is Caring

Geospatial Newsletters

Keep up to date with the latest geospatial trends!

Sign up

Search DM

Get Directions Magazine delivered to you
Please enter a valid email address
Please let us know that you're not a robot by using reCAPTCHA.
Sorry, there was a problem submitting your sign up request. Please try again or email

Thank You! We'll email you to verify your address.

In order to complete the subscription process, simply check your inbox and click on the link in the email we have just sent you. If it is not there, please check your junk mail folder.

Thank you!

It looks like you're already subscribed.

If you still experience difficulties subscribing to our newsletters, please contact us at