Uli's Web Site
[ Zathras.de - Uli's Web Site ]
Other Sites: Stories
Abi 2000
Stargate: Resurgence
Lost? Site Map!
     home | blog | moose | programming | articles >> blog

 Blog Topics

15 Most Recent [RSS]

 Less work through Xcode and shell scripts
2011-12-16 @600
 iTunesCantComplain released
2011-10-28 @954
 Dennis Ritchie deceased
2011-10-13 @359
 Thank you, Steve.
2011-10-06 @374
 Cocoa Text System everywhere...
2011-03-27 @788
 Blog migration
2011-01-29 @520
 All you need to know about the Mac keyboard
2010-08-09 @488
 Review: Sherlock
2010-07-31 @978
 Playing with Objective C on Debian
2010-05-08 @456
 Fruit vs. Obst
2010-05-08 @439
 Mixed-language ambiguity
2010-04-15 @994
 Uli's 12:07 AM Law
2010-04-12 @881
 Uli's 1:24 AM Law
2010-04-12 @874
 Uli's 6:28 AM Law
2010-04-12 @869
 Uli's 3:57 PM Law
2010-04-12 @867


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.

Reader Comments: (RSS Feed)
Duncan Campbell writes:
Seems like apple are starting to implement something similar - try holding down the Ctrl key and moving the scrollwheel on your mouse....
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.
Cris Pearson writes:
I like the Raskin zoom stuff - have followed it for a few years. The OLPC HIG is showing a partial zoom metaphor. I like their Neighbourhood, friends, home, activity distinction. http://wiki.laptop.org/go/OLPC_Human_Interface_Guidelines
Michael writes:
The first zoomable interface for the Mac file system has just been released, check it out on: http://www.raskinformac.com (and it has UliKit inside!)
Or E-Mail Uli privately.

Created: 2005-04-28 @472 Last change: 2024-04-16 @332 | Home | Admin | Edit
© Copyright 2003-2024 by M. Uli Kusterer, all rights reserved.