Eagle Mode
Project Philosophy
Future Plans
Hosted at:
Get Eagle Mode at SourceForge.net. Fast, secure and Free Open Source software downloads



Copyright © 2008-2012 Oliver Hamann. All rights reserved.

All trademarks are the property of their respective owners.

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.