
Graphs, charts, video, sound, data entry widgets, animation—these are the elements that make up engaging, powerful online applications ideally suited for education, entertainment, e-commerce, and online retail. Some examples of inventive, retail-based rich Internet applications (RIAs) include Airtreks Trip Planner, Concept Retail, Timberland Boot Configurator, and RbkCustom.
RIA development, whether today in Flex or historically in Flash, has many similarities with application development in languages such as Java, .NET, and C++. Over the years since their introduction, software engineers using these languages have developed best practices for managing and executing the development of large and complex applications. Many of these lessons can also be effectively applied to the development of RIAs.
In this article, I will use the RbkCustom shoe configuration website that Fluid developed for Reebok International to illustrate our particular organization's best practice development tactics.
The RbkCustom Online Shoe Configurator (see Figure 1) allows consumers to configure and purchase selected Reebok shoes by choosing colors and options such as lace locks, outsole styles, and heel clips. Reebok administrators use the accompanying RbkCustom Admin Tools web application to configure the Configurator securely by defining colors, assigning prices, and building "starting point" recipes.

Figure 1. RbkCustom Online Shoe Configurator
These guidelines apply to building RIAs using either of the following software products. The sample files illustrate internally developed reusable code.
Andrew Guldman is a principal engineer at Fluid, Inc., creators of award-winning online retail and merchandising solutions. Andrew has 16 years' experience architecting complex applications, performing object-oriented analysis and design, and programming in languages such as Java, ColdFusion, and Flash. He has been on the forefront of rich Internet application development since 2001. Andrew has led seminars, spoken at FlashForward, and authored white papers on building RIAs and using video in Flash. He also helped develop features for both Macromedia Flash MX and Flash MX 2004.