Zooming user interface

Last updated
Example of a ZUI ZUI example.png
Example of a ZUI

In computing, a zooming user interface or zoomable user interface (ZUI, pronounced zoo-ee) is a type of graphical user interface (GUI) where users can change the scale of the viewed area in order to see more detail or less, and browse through different documents. Information elements appear directly on an infinite virtual desktop (usually created using vector graphics), instead of in windows. Users can pan across the virtual surface in two dimensions and zoom into objects of interest. For example, as you zoom into a text object it may be represented as a small dot, then a thumbnail of a page of text, then a full-sized page and finally a magnified view of the page.

Contents

ZUIs use zooming as the main metaphor for browsing through hyperlinked or multivariate information. Objects present inside a zoomed page can in turn be zoomed themselves to reveal further detail, allowing for recursive nesting and an arbitrary level of zoom.

When the level of detail present in the resized object is changed to fit the relevant information into the current size, instead of being a proportional view of the whole object, it's called semantic zooming. [1]

Some consider the ZUI paradigm as a flexible and realistic successor to the traditional windowing GUI, being a Post-WIMP interface.[ citation needed ]

History

Ivan Sutherland presented the first program for zooming through and creating graphical structures with constraints and instancing, on a CRT in his Sketchpad program in 1962. [2]

A more general interface was done by the Architecture Machine Group in the 1970s at MIT. Hand tracking, touchscreen, joystick, and voice control were employed to control an infinite plane of projects, documents, contacts, video and interactive programs. One of the instances of this project was called Spatial Dataland. [3]

Another GUI environment of the 70's, which used the zooming idea was Smalltalk at Xerox PARC, which had infinite desktops (only later named such by Apple Computer), that could be zoomed in upon from a birds eye view after the user had recognized a miniature of the window setup for the project.

The longest running effort to create a ZUI has been the Pad++ project begun by Ken Perlin, Jim Hollan, and Ben Bederson at New York University and continued at the University of New Mexico under Hollan's direction. After Pad++, Bederson developed Jazz, then Piccolo, [4] and now Piccolo2D [5] at the University of Maryland, College Park, which is maintained in Java and C#. More recent ZUI efforts include Archy by the late Jef Raskin, ZVTM developed at INRIA (which uses the Sigma lens [6] technique), and the simple ZUI of the Squeak Smalltalk programming environment and language. The term ZUI itself was coined by Franklin Servan-Schreiber and Tom Grauman while they worked together at the Sony Research Laboratories. They were developing the first Zooming User Interface library based on Java 1.0, in partnership with Prof. Ben Bederson, University of New Mexico, and Prof. Ken Perlin, New York University.

GeoPhoenix, a Cambridge, MA, startup associated with the MIT Media Lab, founded by Julian Orbanes, Adriana Guzman, Max Riesenhuber, released the first mass-marketed commercial Zoomspace in 2002–03 on the Sony CLIÉ personal digital assistant (PDA) handheld, with Ken Miura of Sony

In 2002, Pieter Muller extended the Oberon System with a zooming user interface and named it Active Object System (AOS). [7] In 2005, due to copyright issues, it was renamed to Bluebottle, and in 2008, to A2 .

In 2006, Hillcrest Labs introduced the HoME television navigation system, the first graphical, zooming interface for television. [8]

In 2007, Microsoft's Live Labs released a zooming UI for web browsing called Microsoft Live Labs Deepfish for the Windows Mobile 5 platform.

Apple's iPhone (premiered June 2007) uses a stylized form of ZUI, in which panning and zooming are performed through a touch user interface (TUI). A more fully realised ZUI is present in the iOS home screen (as of iOS 7), with zooming from the homescreen in to folders and finally in to apps. The photo app zooms out from a single photo to moments, to collections, to years, and similarly in the calendar app with day, month and year views. [9] It is not a full ZUI implementation since these operations are applied to bounded spaces (such as web pages or photos) and have a limited range of zooming and panning.

Franklin Servan-Schreiber founded Zoomorama, based on work he did at the Sony Research Laboratories in the mid-1990s. The Zooming Browser for Collage of High Resolution Images was released in Alpha in October 2007. Zoomorama's browser is all Flash-based. In 2010, project development ended, but many examples are still available on the site.

From 2008 to 2010, GNOME Shell used a zooming user interface for virtual workspaces management. [10] This ZUI was eventually replaced by a different, scrolling-based design.

In 2017, bigpictu.re offers an infinite (pan and zoom) notepad as a web application based on one of the first ZUI open-source libraries. [11]

In 2017, Zircle UI was released. It is an open source UI library that uses zoomable navigation and circular shapes. [12]

In 2022, the Miro collaboration platform, what is a zooming user interface, reported 40 million users. It was released in 2011 as RealtimeBoard and in 2019 rebranded as Miro.

See also

Related Research Articles

<span class="mw-page-title-main">Graphical user interface</span> User interface allowing interaction through graphical icons and visual indicators

A graphical user interface, or GUI, is a form of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation. In many applications, GUIs are used instead of text-based UIs, which are based on typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard.

<span class="mw-page-title-main">History of the graphical user interface</span>

The history of the graphical user interface, understood as the use of graphic icons and a pointing device to control a computer, covers a five-decade span of incremental refinements, built on some constant core principles. Several vendors have created their own windowing systems based on independent code, but with basic elements in common that define the WIMP "window, icon, menu and pointing device" paradigm.

<span class="mw-page-title-main">User interface</span> Means by which a user interacts with and controls a machine

In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine from the human end, while the machine simultaneously feeds back information that aids the operators' decision-making process. Examples of this broad concept of user interfaces include the interactive aspects of computer operating systems, hand tools, heavy machinery operator controls and process controls. The design considerations applicable when creating user interfaces are related to, or involve such disciplines as, ergonomics and psychology.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

<span class="mw-page-title-main">Model–view–controller</span> Software design pattern

Model–view–controller (MVC) is a software design pattern commonly used for developing user interfaces that divides the related program logic into three interconnected elements. These elements are:

<span class="mw-page-title-main">Standard Widget Toolkit</span> Graphical widget toolkit for use with the Java platform

The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform. It was originally developed by Stephen Northover at IBM and is now maintained by the Eclipse Foundation in tandem with the Eclipse IDE. It is an alternative to the Abstract Window Toolkit (AWT) and Swing Java graphical user interface (GUI) toolkits provided by Sun Microsystems as part of the Java Platform, Standard Edition (J2SE).

VisualAge is a family of computer integrated development environments from IBM, which supports multiple programming languages. VisualAge was first released in October 1993 and was discontinued April 30, 2007 and its web page removed in September 2011. VisualAge was also marketed as VisualAge Smalltalk, and in 2005, Instantiations, Inc. acquired the worldwide rights to this product. IBM has stated that XL C/C++ is the followup product to VisualAge.

<span class="mw-page-title-main">Graphical widget</span> Element of interaction in a graphical user interface

A graphical widget in a graphical user interface is an element of interaction, such as a button or a scroll bar. Controls are software components that a computer user interacts with through direct manipulation to read or edit information about an application. User interface libraries such as Windows Presentation Foundation, Qt, GTK, and Cocoa, contain a collection of controls and the logic to render these.

The following outline is provided as an overview of and topical guide to human–computer interaction:

VisualWorks is a cross-platform implementation of the Smalltalk language. It is implemented as a development system based on images, which are dynamic collections of software objects, each contained in a system image.

<span class="mw-page-title-main">Magic User Interface</span> Widget toolkit for AmigaOS

The Magic User Interface is an object-oriented system by Stefan Stuntz to generate and maintain graphical user interfaces. With the aid of a preferences program, the user of an application has the ability to customize the system according to personal taste.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

In computing, Strongtalk is a Smalltalk environment with optional static typing support. Strongtalk can make some compile time checks, and offer stronger type safety guarantees; this is the source of its name. It is non-commercial, though it was originally a commercial project developed by a small startup company named LongView Technologies.

Archy is a software system that had a user interface that introduced a different approach for interacting with computers with respect to traditional graphical user interfaces. Designed by human-computer interface expert Jef Raskin, it embodies his ideas and established results about human-centered design described in his book The Humane Interface. These ideas include content persistence, modelessness, a nucleus with commands instead of applications, navigation using incremental text search, and a zooming user interface (ZUI). The system was being implemented at the Raskin Center for Humane Interfaces under Raskin's leadership. Since his death in February 2005 the project was continued by his team, which later shifted focus to the Ubiquity extension for the Firefox browser.

Apple Dylan is the original implementation of the programming language Dylan. It was developed by Apple Computer from 1992 to 1995.

QF-Test from Quality First Software is a cross-platform software tool for automated testing of programs via the graphical user interface. The program is specialized on cross-browser test automation of static and dynamic web-based applications. Version 4.1 added support for MacOS and the Apple Safari and Microsoft Edge browsers via the Selenium WebDriver. RESTful web service testing. From version 5.0, Windows applications can also be tested and modern C++ applications. Version 5.3 added support for the Chrome DevTools protocol, which allows browsers to be controlled using CDP drivers.

<span class="mw-page-title-main">Abstract Window Toolkit</span> Java-based GUI toolkit

The Abstract Window Toolkit (AWT) is Java's original platform-dependent windowing, graphics, and user-interface widget toolkit, preceding Swing. The AWT is part of the Java Foundation Classes (JFC) — the standard API for providing a graphical user interface (GUI) for a Java program. AWT is also the GUI toolkit for a number of Java ME profiles. For example, Connected Device Configuration profiles require Java runtimes on mobile telephones to support the Abstract Window Toolkit.

References

  1. Peter Bright. "Hands-on with Windows 8: A PC operating system for the tablet age". Ars Technica.
  2. Sketchpad: A man-machine graphical communication system
  3. Dataland: the MIT's '70s media room concept that influenced the Mac
  4. Piccolo (formerly Jazz): ZUI toolkit for Java and C# (no longer actively maintained)
  5. Piccolo2D: Piccolo's successor.
  6. "Sigma lenses: focus-context transitions combining space, time and translucence", Proceedings of the twenty-sixth annual SIGCHI conference on Human factors in computing systems, 2008
  7. Muller, Pieter Johannes (2002). The active object system design and multiprocessor implementation (PDF) (PhD). Swiss Federal Institute of Technology, Zürich (ETH Zurich).
  8. Popular Mechanics 2007. Retrieved November 11, 2011. Glen Derene. Wii 2.0: Loop remote lets you click by gesture.
  9. "iOS 7". Archived from the original on 2013-09-06. Retrieved 2017-09-19.
  10. "GNOME Shell, 2010-02-20 build: a Zoomable User Interface". YouTube. 2010-02-20. Archived from the original on 2021-12-12. Retrieved 2020-12-26.
  11. "bigpicture.js, a library that allows infinite panning and infinite zooming in HTML pages". GitHub . 2015.
  12. "Zircle UI: A frontend library to develop zoomable user interfaces". GitHub . 2017–2021.