In a column last year entitled “How Rich is the Rich GUI?” I mentioned in passing an intriguing use of fish-eye distortion by the Flash developer Samuel Wan. Similar to Mac OS X's Dock, Wan's fish-eye menu selectively magnifies items near the cursor while shrinking distant items. The result is a list that's fully scannable without scrolling and that reveals detail in a focal zone.
A reader noted that I should have credited the pioneering research of Ben Bederson, who directs the Human-Computer Interaction Lab at the University of Maryland. Bederson's work on zoomable user interfaces is, in fact, cited in the source code of Wan's Flash demo. To learn more, I visited the home page of Bederson's company, Windsor Interfaces, where I downloaded the free desktop version of an Outlook plug-in called DateLens. Written for the .Net Framework (V1.1) and intended (in its commercial form) for PDAs, DateLens is a calendar viewer that uses fish-eye distortion and tiling to combine a compressed overview of prior and future months, a standard overview of the current month, and a detailed view of the current week and day.
Using DateLens reminds me how rarely we encounter genuinely new ways of interacting with our data. The standard user-interface widgets that we've known since the dawn of the GUI era remain our staple diet. But they map poorly to our ways of perceiving. As we move around in the world, approaching objects seem to grow and receding ones seem to shrink. When we focus on something, our attention magnifies its detail. Our minds warp the physical spaces that we inhabit; computers should help us warp our virtual spaces.
Computers should also help us warp time, but the challenge here is even greater. Normal experience doesn't allow us to roam freely in the fourth dimension as we do in the first three. So we've always relied on technology to aid our perception of time. We use stop-motion photography to capture fleeting instants, and time-lapse photography to compress changes that occur over days, months, or years into movies that we can view in seconds. But computer animation, which can create movies from time-coded data sets, has so far mainly served specialized scientific markets. Just as our user interfaces rely on an aging palette of widgets, our visualizations of business data lean on a stale collection of chart types. We've all seen Flash movies that animate time-series data, but they're rare exceptions, not the rule.
It's no accident that I've mentioned Flash twice. Scalable vector graphics and animation are two of the hallmark features of Macromedia's nearly ubiquitous multimedia player. Yet the company has done a poor job of creating -- or convincing third-party developers to create -- components that make it routine for people to work with spatial and temporal data. And in the recent push to legitimize Flash as a rich-client platform, the company has de-emphasized what is at the core of every Flash movie: its timeline.
It's a hard sell, admittedly. Microsoft is also having a tough time articulating the business case for the scalable vector graphics, 3-D, and animation capabilities it's building into Avalon, the next-generation Windows graphics subsystem. My advice? Stop worshipping the raw power of next year's graphics processing unit, and start showing developers concrete ways to help users deal with their four-dimensional data.