Dynamically Generating Conceptual Browsing Interfaces for Digital Libraries Using SVG

Qianyi Gu1, Faisal Ahmad1, Francis Molina2, Tamara Sumner1
1Dept or Computer Science, University of Colorado,Campus Box 430
Boulder, CO, USA 80309-0430
{qianyi.gu, fahmad, sumner}@colorado.edu
2Project 2061American Association for the Advancement of Science,
1200 New York Avenue, NW, Washington DC, USA 20005


In this paper we present a system that supports the dynamic generation of conceptual browsing interfaces for digital libraries using SVG. This system is part of the Strand Map Service (SMS), a service being developed for the National Science Digital Library (NSDL). The SMS aims to provide educators and learners with conceptual browsing interfaces that help them to locate and use learning resources in educational digital libraries. These interfaces are comprised of interacting visual components that contain different views onto a concept space that can be modeled as nodes and links (Strand Maps). Rather than creating a static presentation of these interfaces, the system generates visualizations of these interfaces dynamically using SVG techniques from information modeled in the data repository. Our approach builds on recent advances in visualization components and programmatic interfaces to knowledge organization systems.

Concept Browsing Interfaces

Concept browsing interfaces, based on nationally recognized education standards, can help educators and learners to locate, comprehend and use educational resources in digital libraries. These interfaces provide navigational and orientational cues that are typically lacking from traditional keyword or fielded search interfaces.

Service Impact

System Features

Visualization Algorithm

The conceptual browsing interfaces contain visual components which are modeled as nodes and links. It is a form of directed acyclic graph. The visualization algorithm we developed uses tree-based processing where a strand map is viewed as consisting of a special tree with multiple roots. Breadth first search is used to compute the vertical depth level of each node relative to its nearest root. Depth first search is used to compute the horizontal relationships, across strands and within a strand, between nodes at the same vertical depth. The results of these two searches are combined to quantitatively identify internal relations between nodes. These quantitative relations are then used to allocate nodes to placements within a predefined grid that represents the available drawing space. When pairs of nodes conflict, local placement adjustments are then made by moving the conflicting node to the next available placement in the grid.

System Architecture

System Architecture

Figure 1 - System Architecture

User Request Analyzer Component:

Data Resource Component:

Graph Layout Component:

Rules and Aesthetics Component:

The Strand Map Service demonstrates the utility of dynamically generated SVGs as conceptual browsing interfaces for digital libraries.