Zoomable Interfaces and Jef Raskin
One of the things I've been thinking about for quite a while now is a zoomable user interface. I think it first occurred to me during a discussion about a GUI tool for designing Interactive Fiction (aka "Text Adventures").
Essentially the idea was to have a box for each room and to show a map of all rooms by default, and to then let the user zoom into this map like in a drawing application, adding more detail as needed. That way, we would have been able to let users not only model the layout of rooms as a map, but also the positions of items inside a room, or even of sub-rooms (a box the player can hide in, a car etc.).
From there it was only a small step to the idea of extending the metaphor to actually editing items by just zooming in even more. At the time I was quite surprised nobody had done this yet. Today I learned that, of course, one of the geniuses already had this idea, because Jesse Ross posted a link to a Flash demo of Jef Raskin's zoomable interface (scroll down).
For a moment I wondered how this might work for writing source code, maybe even code written in a higher-level language. Imagine zooming into your UML diagram, getting the equivalent Smalltalk code, then zooming in for a more low-level C representation, and finally ending up at the assembler view? Then I realized we already have a little of this in modern editors with code folding and collapsing. Nonetheless, can you imagine this getting a lot smarter and more widespread?
Oh, and BTW, be sure to check out the article in the upper right of Raskin's zoomable interface. It shows the concept of a selection history. This is an intuitive and simple extension to text and object selections as we have them today. Instead of artificialities like shift-click, the OS would just remember previous selections, and you could e.g. tell it to swap the two most recently selected items. Just like in real life.
Update: Updated the demo link, opened for comments.
|Uli Kusterer replies: ★|
I don't think that Apple's zoom functionality has much to do with Raskin's idea (though I'd love to be proven wrong). It looks like Apple's zoom is mainly aimed at accessibility and supporting bigger screens at a better resolution. Raskin essentially did away with the window manager and icon representations by using the objects themselves as the windows/icons and just having people zoom into those to "open" them. Try out the flash demo. It's 8 MB, but it shows some neat uses. E.g. you can zoom into photos they stuck on the maps etc.