Andrew Shorten is Senior Product Manager for Flash Builder at Adobe.
For developers, demand for applications that contain data visualization (DV) capabilities is on the rise. Gone are the days when simple tables of rows and columns met the decision-making needs of customers evaluating product options. Today, changing user expectations make Rich Internet Applications (RIAs) a requirement for delivering the types of experiences that users demand — and rich data visualization plays an integral part.
Seeing is Understanding
Whether embedded in an enterprise or customer-facing application, DV can simplify, organize, and present complex data in graphic patterns that help people understand, absorb, and respond to information more quickly and accurately. Presented visually, map-based data can help shipping professionals manage fleets and routes more effectively or help emergency-rescue teams respond better during disasters. Business intelligence data, presented visually via dashboards, helps executives spot business opportunities or threats in just a glance. Manufacturing data can be visualized to support product configurators. Personal checking account data can be visualized for consumers to depict deposit and spending behaviors. Ultimately, as long as the data is accurate and presented in a way that makes sense to users, data visualization leads to faster, more-informed decision making.
Developers are increasingly expected to embed data visualization in existing product offerings or to develop standalone data visualization applications. To date, this has been challenging — even for experienced Java-based developers. In part, the difficulty stems from the growing number of one-off data visualization components that are proliferating all over the Internet. Most of these component libraries are built by third-parties that specialize in DV, rather than application development. Because these libraries are not always built with proven applications in mind, practical use by professional developers can be questionable.
Contributing to further fragmentation, licensing models vary from library to library. Some components are commercial. Some are open source. Some are extensible and some are not. Some are supported by small contributor bases that may not be able or willing to keep pace with emerging trends. And other components do not integrate at all with existing tools, meaning that authoring DV capabilities into your application becomes a manual process. Yet mature, well-tested technology is available for developers who seek proven, integrated data visualization tools.
What to Look For
To build high-quality data visualization applications as productively and simply as possible, developers should seek DV components that are part of larger, proven frameworks that enable sophisticated integration with complex business applications.
High-Performance, Ubiquitous Run Times
For maximum effect, it is important that DV components run in all major browsers and computing platforms, freeing developers to focus on application logic instead of cross-platform testing. A ubiquitous client run time that resides on desktop computers and laptops, as well as mobile devices, will help achieve a "write once, run everywhere" universal reach. The aim is to have a run time capable of supporting responsive, interactive graphics and charting — as well as displaying large amounts of data quickly — across multiple browsers, platforms, and devices.
Adobe (the company I work for) offers the Flash Platform runtimes, Flash Player, and Adobe AIR — all are cross-platform runtimes that work consistently on a variety of hardware, operating systems, and browsers. The Flash Player is installed on more than 99 percent of Internet-enabled PCs worldwide; while Adobe AIR, used to deliver RIAs outside of browsers, has been installed more than 300 million times to date.
Consistent, Familiar Programming Languages and Environments
Development time can be further accelerated through the use of languages and environments that are familiar. Programmers who work with Java, PHP, C#, and others will be most productive working in environments that follow similar modern development patterns that enable them to leverage existing skills. This simplifies and expedites ongoing maintenance, as well. With the free Adobe Flex SDK, for example, developers write object-oriented code using the ActionScript 3, MXML, and CSS languages — which are easily mastered by experienced Java, PHP, and HTML programmers.