|
|
|
|
Project Philosophy
Goal of the Eagle Mode project is to propagate the idea of zoomable user
interfaces (ZUIs) 1, and to provide usable ZUI solutions. The
philosophy behind that goal is the belief that ZUIs could make computing easier
and faster, and that it would be a good idea to replace most GUIs by ZUIs
2. The pros and cons for that belief are:
 |
ZUIs are good for trees |
|
Besides graphical informations like a city map, ZUIs are very suitable
for all kind of information which is organized in tree structures. The
reason is that such structures can easily be translated to zoomable
pictures, where each tree node graphically contains its child nodes as
its details.
This is an important fact since humans tend to organize almost
everything in tree structures. Popular examples are: menus, settings,
files, programs, manuals, bookmarks and system components.
|
 |
ZUIs can spare UI elements |
|
There are some possibilities to reduces the number of UI elements in a
ZUI. Buttons, which are showing popups, can often be replaced by the
contents of the popups. Functions can be merged with their help texts,
settings and whatever, instead of providing extra interfaces for each
topic. Menu bar, tool bar and status bar can be merged into a single
zoomable bar (which is called "popup-zoomed control view" in Eagle
Mode). Finally, GUIs often provide selectable or parallel view styles
in order to show overviews, previews and detailed views. ZUIs can be
much easier there, because they are showing those styles by nature. All
this can simplify UI development and UI learning.
|
 |
ZUIs can spare UI element types |
|
The number of types of UI elements can also be reduced. Space savers
like scroll bars, tabs, combo boxes and bubble texts are not needed in a
ZUI, because a ZUI never lacks space. (Though, Eagle Mode has a new
element type called "tunnel", which is for wasting space.)
|
 |
ZUIs are more natural |
|
Even an animal stands back and takes an overview, before it comes closer
for inspecting a detail. This is more similar to the zoom-in in a ZUI,
than to the pop-up in a GUI.
|
 |
ZUIs can be so deep |
|
But ZUIs can even be "better" than the nature, because they do not need
to have a limit for the depth of zooming. To a new user this could seem
quite unnatural and strange, or just exciting.
|
 |
ZUIs for absolute beginners and absolute experts |
|
Zoomable objects always have room for help texts and advanced options,
without any limits. The size of things can depend on importance, usage
frequency and user level. This should allow to better solve the problem
of making user interfaces which are good for the whole range of users,
from absolute beginners to absolute experts.
|
 |
ZUIs can be easier to understand |
|
With good help texts in the UI elements, and by minimizing the number of
popups, it should even be possible to design a ZUI in a way that a new
user only needs to know how to navigate (zoom and scroll), and that he
can see and learn everything else just by navigating around. He should
never come to a situation where he triggers a function without knowing
whether it gives him just more options, or whether it performs an
unwanted action.
|
 |
ZUIs can speed up navigation |
|
Navigating in a ZUI is fast, simply because the user can often skip
whole tree levels. Instead of caring about a sub-object, he already sees
a sub-sub-object or even a sub-sub-sub-object and gives a command to
zoom into it.
|
 |
ZUIs can speed up search |
|
The preview nature of a ZUI speeds up searching. While being zoomed into
an object, the user may already see some information about a
sub-sub-object or more. This allows a quick decision where to continue
the search.
|
 |
ZUIs have a built-in turbo |
|
But the biggest speed advantage for the experienced user is probably the
refinding in a ZUI. It is much easier (or exacter) to remember the rough
position of an object in an overview of a two-dimensional layout, than
in a linear or even scrolled list.
|
 |
ZUIs can be hungry |
|
Because of demands for a smooth zoom and deep views, the hardware
requirements for a ZUI can be quite high. It is not just a question of
fast graphics. It is also a question of quickly loading and preparing
the objects, and of the memory for holding them.
|
 |
ZUIs can be expensive |
|
Developing a ZUI can be quite a challenge, especially when from scratch.
This is just an experience from developing Eagle Mode. Some main
problems were: unlimited depth vs. limited number types, frequent
creation/destruction of panels and models, loading in background, order
of loading, memory consumption limiting, multiple views/panels,
popup-zoom, graphics quality vs. efficiency, integration vs. stability.
|
 |
ZUIs need some love |
|
GUIs are so popular, ZUIs not. A problem is that GUI users may not be
willing to switch to ZUIs, because it takes some time to get accustomed
to a new UI style, and it requires some practice to get fast.
|
 |
ZUIs in desktop windows |
|
ZUIs should surely not replace the concept of overlapping windows on a
desktop, because that concept is extremely useful for working on
multiple things simultaneously.
In addition, it would probably be a bad idea to integrate really all
applications in a general super ZUI (like plugins in Eagle Mode). An
advanced application may require special views and special controls
(e.g. CAD), and therefore it may have to have its own ZUI in an own
window. In other words, ZUIs should surely also not completely replace
the concept of different window types.
|
 |
ZUIs and 3D-UIs |
|
Three-dimensional virtual worlds are very exciting and have their
applications, for which they cannot be replaced by anything else - no
doubt. But tree structures in 3D were not so easy to overlook as in 2D.
Thus, ZUIs and 3D-UIs should probably coexist. Maybe we should define
that a 3D-UI is also a ZUI, if it supports deep zooming into UI
surfaces. (Zooming into a surface and moving towards a surface are not
really the same - the movement speed must be negative-exponential in
order to simulate a zooming, or the software must provide a deep camera
zoom.)
|
 |
ZUIs on embedded systems |
|
Our world is full of embedded systems with complicated menus, which are
hard to learn for many people. Maybe ZUIs could help through better
overviews and descriptions?
(Eagle Mode has a feature called "ego mode" which could be used for
embedded systems with a single view. In that mode, the mouse pointer is
degenerated to a cross-hair in the center of the view, and each mouse
movement (ideally: trackball movement) scrolls the view. If you want to
try it out, focus the content view in Eagle Mode and type
"chEat:egomode!". But remember that you will have to type that cheat
code again for coming out, otherwise you may have to reset your
computer.)
|
 |
ZUIs in the industry |
|
An exciting example would surely be the supervision and control of large
technical systems like factories, plants, ships and aircrafts. A ZUI
could show a picture of the whole thing, or a plan, or a listing, or a
combination thereof. By zooming in, the user could get to all the
components and sub-components, and deeper to to all the indicators and
buttons. Settings, logs and manuals could also be found in the things to
which they belong. Alarms could blink in an extra view, equipped with
buttons for getting to the alarm source in the main view...
|
Once again, all this leads to the belief that it would be a good idea to replace
most GUIs by ZUIs. Therefore Eagle Mode is not just a file manager and viewer.
Instead, the main focus of the development is on the C++ application programming
interface (API), named emCore. The whole project is not yet given a "1.0"
version, because emCore is still not complete enough for such a version number,
although the applications are.
But currently there is a small conflict in the Future
Plans. It would be quite reasonable to complete emCore, but that job is a
little bit boring and troublesome. On the other hand, there is the plan for
emMeta, which would be a secondary API for scripting. It would allow to create a
lot of applications with less effort, and - most important ;-) - I would have
fun in developing it. Thus, it is still not clear what comes first, completing
emCore or starting emMeta.
| 1 | | |
Some call it zooming user interface instead of
zoomable user interface. So if you search the web, search
for both. |
| 2 | | |
In this text, ZUI means ZUI in a style similar to
Eagle Mode, and GUI means classic non-zoomable
GUI. (There may be different ZUI definitions, and strictly
speaking, GUIs are a superset of ZUIs.) |
|