(I haven't updated this page in awhile. I'm into Digital Humanities a lot these days. The below is still largely accurate.)
Core Interests and Vision
My primary areas of research are information and geographic visualization, with a focus on graphically-oriented query languages and highly interactive user interface architectures. My long term research plans revolve around developing human-computer interaction models, techniques, architectures, and systems for acquiring, managing, exploring, analyzing, and disseminating complex information in broadly accessible, live design visualization environments. The grand vision in this effort is evolution of a deep understanding of key computational components and synthetic pathways in pursuit of a national visual analytics infrastructure in collaboration with other information systems researchers and practitioners.
Information visualization is the study of the graphical representation of abstract information and the use of interactive techniques to allow people to explore and analyze data by manipulating objects and space in those representations. My research in information visualization focuses on the discovery and evaluation of multi-representational forms for interacting with heterogeneous, multidimensional data sets. I am particularly interested in coordinated and multiple view (CMV) techniques in which multiple representations are interactively interdependent. (Common CMV techniques fall into categories such as brushing, overview+detail, focus+context, semantic zoom, each with numerous variations.) Much of my effort is devoted to designing, implementing, and applying user interface architectures, software toolkits, and integrated development tools for building and browsing highly interactive information visualizations of multidimensional data.
Visual analytics is a new science emerging at a nexus connecting information visualization, data mining, and knowledge discovery. For me, one of the most enticing and rewarding characteristics of this exciting new field is that it is inherently encompassing and multidisciplinary, gaining from and giving back to numerous other areas of scientific and technical endeavor. It draws broadly from computer science (HCI, graphics, databases, programming languages, software engineering, AI), psychology (perceptual and cognitive), information science, and geography, and promises to become a prolific source of solutions for research and teaching across the natural and social sciences as well as for wide practical application to critical needs in business and homeland security. My immediate research plans focus on extending existing data models, query languages, graphical representations, interaction modes, and user interface architectures to support exploration and analysis by people working individually and collaboratively across space and time in multiple roles and environments using heterogeneous input and display devices to interact with overlapping sets of visual tools.
I work with my graduate and undergraduate students on a wide variety of research directions in the areas of information visualization, visual analytics, databases, and human-computer interaction. When I have the resources to take on new students, I look for people who have: (1) a deep interest in the human aspects of computation; (2) significant experience with any or all of (a) software design and implementation (especially in Java and/or SQL), (b) user interface design, (c) user interface evaluation/testing; (3) excellent written and oral communication skills, (4) a strong work ethic.
Here are a few potential directions for research in my own core topics of interest (with overlapping areas of CS and other fields in brackets):
  • Multidimensional Data Representations [Databases]. Improvise currently uses a homegrown in memory database to cache source data and query results. This imposes a severe limit on the number of rows, columns, and tables that can be accessed and queried. It also forces Improvise to regenerate query results and indexes every time a visualization loads. Redesigning the Improvise database around B+-trees in Berkeley DB for Java would not only help address these problems, but also open doors to developing new multidimensional indexing strategies based on interdependent B+-trees, possibly provided the foundation for elegant data structures that allow fast calculation of many/all members of the families of interactive queries behind recent multidimensional visual analysis techniques.
  • Visualization Languages [Programming Languages/Compilers]. The query language inside Improvise is a (nearly pure) functional language for evaluating database-style record transformations. Evaluation is semi-interpreted, meaning that it involves interpreted marshaling of expression trees in which the operators themselves are compiled Java methods. Although this is relatively fast in terms of processing, it has the problems of: (1) producing huge numbers of temporary objects; (2) being rather hard to optimize in a general way across operators. This is exacerbated by the fact that query expressions can be edited live. Implementing a just-in-time query expression might greatly benefit interactive performance and utility by speeding up query calculation round-trip time. The interesting research here lies in the exploration of partial compilation strategies that account for both the browser-level interactive dependencies and the builder-level editing dynamics that change the syntactic form of query expressions over time.
  • Visual Query Patterns [Human-Computer Interaction]. Recently I have developed a general “cross-filtered views” approach for designing instances of a class of visual query interfaces that support sequences of set queries for drilling down into multidimensional data sets. The queries are based on indexes across data columns that have been grouped on unique value. Other unpublished techniques involve similar relationally-inspired strategies for querying associations across columns in one or more tables. Interesting research here includes: (1) looking for novel multidimensional query strategies that can support interactive visual analysis of high-dimensional data; (2) how to deal with column data types and semantics that go beyond unique nominal values; (3) addressing storage and processing scalability limitations in the face of rapid sequences of interactively-driven queries (not to mention graphical scalability of the query results).
  • Interactive Graphs [Graphics/HCI]. The Improvise graph view was designed and coded over ten years ago in the prehistoric days of Java. Consequently, the visual representation of and interaction with nodes and edges happens in an integer coordinate plane. Nodes and edges are implemented as JComponents. The project would be to redesign and reimplement the graph view as a proper zoomable user interface (ZUI), probably using Java2D. The property-based interaction architecture and query-based visual representation language means that using one of the popular graph toolkits/libraries (JUNG, JGraph, graphviz, prefuse, etc.) is problematic. The interesting research here is in the development of novel graph interaction and multiview coordination techniques that support exploration and analysis of associative networks, social network graphs, ontologies, etc.
  • Multimodal Coordination [HCI]. Eye-tracking hardware as an ancillary attentional indicator. Develop callibration, collection, and analysis methodology. Design and implement a control and streaming input API for an eye-tracking system. Instantiate the API within the Improvise coordination architecture. Use Improvise to build metavisualizations for rapid eye-tracking analysis of visualization interfaces.
  • Evaluation/User Testing [HCI/Cognitive Psychology]. Evaluate new and existing visualizations using both qualitative and quantitative user testing techniques.
  • Teaching/Training [Education]. Explore possible roles of information visualization and visual analysis builder and browsing tools as teaching and learning artifacts.
  • Applications [All! CS/GIS/Meteorology/History/Political Science/etc./etc./etc.]. Collaborate with researchers in other disciplines to understand their data analysis needs and to develop interactive visual tools that address these needs. The digital humanities, considered broadly, is a particularly interesting target for application of visualization techniques, owing to its richly multidimensional data sources and complex yet well-grounded scholarly methods.