Spatial Layout

From CS294-10 Visualization Fa07

Jump to: navigation, search

Lecture on Oct 15, 2007



[edit] Readings

Same readings as for Using Space Effectively: 2D II lecture. However, you are still responsible for making a comment on this lecture.

  • A general cartographic labeling algorithm, Edmondson, Marks & Shieber (pdf)
  • A survey of automated layout techniques for information presentations, Lok and Feiner (pdf)
  • Dynamic space management for user interfaces, Bell & Feiner (pdf)

Optional Readings

  • Rendering effective routemaps, Agrawala & Stolte (pdf)
  • Artistic resizing, Dragicevic et al. (pdf)
  • Adaptive grid-based document layout, Jacobs et al. (acm)
  • Map labeling bibliography


[edit] Ken-ichi - Oct 18, 2007 02:03:03 pm

This may be due to my mathematical duncehood, but if the random jitter in simulated annealing can bump the algorithm out of local minima, what's to stop the randomness from bumping it out of the global minimum, so that the algorithm just continues looking for optimal solutions forever?

[edit] Robin Held - Oct 19, 2007 02:38:01 pm

After reading about a few algorithms for automatic spatial layout, I would be interested to hear how Apple implemented their exposé feature in OS X. For instance, does the OS determine a new exposé layout each time a window is opened or closed, or is it calculated only when the user presses the hotkey? This may be a trivial question, but the answer could hint at the computational expense of their algorithm. In general, both exposé and Windows Vista's flip3d functions show how important desktop management has become. "Multitasking" may have been a buzzword in the 80's and 90's, but now the effective management of those tasks has taken precedence. Automatic layouts seem like a great step in that direction.

[edit] James Andrews - Oct 21, 2007 02:39:35 pm

Ken-ichi: Simulated Annealing's willingness to take a 'bad' transition (away from optimal) is decreased as the algorithm progresses, so it becomes closer to a simple greedy search in later stages. Also, termination criteria is (often) stated just 'stop after running this many iterations,' in which case there is no fear of possible non-termination. And in order to avoid missing out on the best solution seen, it is standard to save the 'current best' of all states seen, and return that instead of just returning the 'final' state of the search algorithm.

[edit] Amanda Alvarez - Oct 21, 2007 02:55:44 pm

Suppose you want to arrange the windows on your screen for a particular purpose, eg. comparing two documents side-by-side in an application. Is this just implemented as another constraint? Automated layout partitions the space effectively to create no overlapping windows, but there is 'awareness' of only one dimension, space; what about layout driven by a particular purpose? Within an application you can tile, cascade, or have a side-by-side view of windows, but it often requires manual tweaking to get it right. Expose and Flip3D give you all or nothing, toggling between looking at all the windows, or hiding them all. There are probably ways to 'template' particular generic viewing patterns of windows, but I think fully satisfactory automation of such a thing is still a way off (or is it?)

[edit] Mark Howison - Oct 21, 2007 03:44:03 pm

I was impressed by the quality of the layouts generated by Jacobs et al's system--far superior to anything I've every seen a web browser do. For some web layouts, it seems like a complicated layout system is unnecessary. For instance, this wiki has such a simple layout (small fixed sidebar and topbar) that rescaling it in my browser doesn't really obstruct my ability to view it until I get down to handheld PC resolutions. Other pages, however, could benefit from an adaptive grid layout. Viewing an article on the New York Times' website, for instance, would be better in two columns at higher resolutions. Currently, scaling up your window past the one-column width simply adds white margins on either side--not an effective use of screen space. Is there a way to implement a system similar to Jacob et al's using JavaScript?

[edit] Mcd - Oct 21, 2007 10:55:14 pm

Robin, thanks for your comment. I appreciated Bell and Feiner's negative-space approach to automated layout, but (I admit, I use Windows machines) had not thought of a useful example. I agree that exposé is an attractive and useful way for switching between applications, and perfectly suited to use of their approach.

I think, though, that in the realm of multitasking, there are few such examples. When I am working with multiple windows, going back and forth frequently, screen space is limited such that I want to be able to decide and re-decide what I see and what is covered by other windows. From a user-interface perspective, an automated approach is perfect for the occasional layout where you want to see everything, but likely offers less control than desirable when working dynamically between applications.

[edit] David Jacobs - Oct 22, 2007 12:24:38 am

Robin: Despite a fairly intent search, I couldn't find any documentation on what algorithms Apple uses in computing exposé layouts. That said, I'm willing to bet it's computed on the fly when you hit the key for it. The reason I say this comes from the fact that exposé layouts change if you perturb the windows slightly between two strokes of the key. If exposé layouts were precomputed, there would be tons of layouts generated that are never seen by any user. I would guess they use something kind of like the demo shown in class (with maybe a modification that keeps windows from the same application a little more closely grouped). Was anyone else able to find any official answers on this?

[edit] N8agrin - Oct 22, 2007 02:26:45 pm

Of the set of papers we read today, I particularly enjoyed the one about Cartiographic labeling. It seemed incredibly interesting to me, given the current state of dynamic automatic mapping, GPS technology and my background in molecular genetics. That last point might require some explanation. In DNA synthesis we often talked about annealing temperatures of snippets of DNA, in order to carry out PCR or DNA duplication. These temperatures are critical for certain experiments, so seeing that application of biology-like concepts to something as diverse as map drawing and place labeling is really exciting to me.

Aside from their use of annealing concepts, the techniques in general produce incredibly beautiful maps, and demonstrate how creating a set of rules can bring a visualization a long way towards being useful.

[edit] Hazel Onsrud - Nov 04, 2007 01:18:51 pm

This really belongs in a different lecture....but tag clouds do have to do with spatial layout so I thought I would at least note a use of them that I found interesting: This is a tag cloud of words used in speeches of the president, and I though it was one of the best uses of the clouds that I had seen, allowing the viewer to really see how much certain words are emphasized over others. Granted, there are other more explicit ways to display such data, but I thought that the tag cloud had a nice way of emphasizing the general words used, as well as noting the emphasized items.

[add comment]
Personal tools