Visualization Description Language (VDL)
The Visualization Description Language (VDL) is an XML tag-based language for describing interactive visualizations. I designed VDL with the following characteristics in mind:
- VDL should be easy to read, write and understand;
- VDL should be aimed at information visualization applications; and
- VDL should use high-level visualization and modelling concepts rather than low-level graphics primitives.
By having these characteristics, VDL also addresses some of my requirements for visualization software.
VDL visualizations—called models—are implementation-language-independent visual descriptions of data. VDL models can represent:
- static pictures of data;
- interactive visualizations; and
- visual models with behaviors.
To implement these representations, VDL models have five components:
- structure;
- presentation;
- data;
- behavior; and
- tools.
VDL models can be produced in several ways, including:
- being written by hand with a text editor;
- as the output of a computer program; and
- as the output of a VDL filter.
VDL filters take raw input data, process that input and generate a VDL model of the data. Users specify the filter’s parameter values and the filter generates the VDL model. The VDL Browser application provides the main environment and user interface for VDL filters.
Documentation
VDL Models
This document describes eleven VDL models that demonstrate many aspects of the language.
VDL Filters
This document explains the cycle of filtering and re-filtering data with VDL filters to produce VDL models of that data. Seven VDL filters are described.
VDL Browser Application
This document describes the VDL Browser, a Java application that provides commonly used visualization tools for examining the structure and data in VDL models, including browsing and partitioning data, and requesting details on demand. The VDL Browser also provides the main environment and user interface for passing data into VDL filters and displaying the results. The VDL Browser uses the VDLComponent, a Java class that implements the VDL rendering engine.
VDL Compositor Application
This document describes the VDL Compositor, a detailed wireframe prototype that explores user interfaces for creating and editing VDL models by dragging and dropping visual presentations, layouts and filters; creating and editing rules; compositing VDL models with layouts; and creating and editing toolsets by dragging and dropping tools.
VDL Version 1.0 Specification
This document details the five components of VDL models (structure, presentation, data, behavior and tools), lists the variety of ways authors can describe color in VDL models, and provides a comprehensive reference of every language feature.
Example Java Applications
Document Visualizer
The Document Visualizer is a document visualization tool that supports the search-results evaluation task by presenting search terms and document similarities in four visual styles: bar charts, matrix charts, a scatter plot, and a document map. Users explore the documents with dynamic query and interactive sorting facilities, and document details are available on demand. The Document Visualizer is written in Java and implements the four visualizations as VDL models presented by the VDLComponent, the same VDL rendering engine used by the VDL Browser.
Space Filler Explorer
The Space Filler Explorer is an application for navigating hierarchical filing systems with three co-ordinated views: a directory tree structure, a list of files, and a tree-map visualization of the files. A tree-map is a 2D space filling representation of a complex hierarchical tree structure. Each file is visualized by a rectangle proportional to its size that enables users to rapidly identify large files. Users can dynamically query the tree-map visualization to filter out files based on their size using several relational operators. A pie chart visualization of disk space usage is also provided. The Space Filler Explorer is written in Java and implements the space filler and pie chart visualizations as VDL models presented by the VDLComponent, the same VDL rendering engine used by the VDL Browser.