|
|
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 |
|
No doubt, ZUIs can be wonderfully used for interacting with graphical
information like a city map. But they are also very suitable for all
kind of information which is organized in tree structures. The reason is
that such structures can easily be translated into 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 |
|
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 can speed up refinding |
|
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 are computationally expensive |
|
Because of demands for a smooth zoom and deep views, the hardware
requirements for a ZUI are quite high, or the software must be optimized
very well. 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 are difficult to develop |
|
Developing a ZUI can be quite a challenge, especially when from scratch.
This is just an experience from developing the core of 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 are still unusual |
|
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 can look the same on desktop and mobile |
|
To a large extent, a ZUI can look the same in a desktop environment as
in a mobile environment, because the display size does not play a role
for zoomable layouts. The user interface could be programmed once for
both environments on top of a single application programming interface
(API). In contrast, GUIs typically look quite different in the two
environments, and therefore they mostly have to be programmed twice with
(also historically grown) quite different APIs. This can be an advantage
for ZUIs in less programming effort as well as in less user learning
effort.
|
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. A scripting API is also planed.
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. |
|