Channels ▼
RSS

C/C++

Embedding Data Visualization in Rich Internet Applications



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.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video