Eagle Mode
About
Screenshots
Documentation
Download
Project Philosophy
Future Plans
Forum
Contact
Hosted at:
Get Eagle Mode at SourceForge.net. Fast, secure and Free Open Source software downloads

 

 

Copyright © 2008-2009 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
 
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.)