OpenZoom is an Open Source SDK for Multiscale Images and Zoomable User Interfaces (ZUI)
Mission
Promote and support the development of Zoomable User Interfaces with multiscale images on the web with frameworks, tools and real-world applications.
The OpenZoom core framework is built on top of the Adobe Flash Platform and provides custom components that can be used either in Flash or Flex. The core concepts such as Scene, Viewport, Transformers, Constraints, Controllers and Descriptors are not platform specific and user contributed implementations of the core SDK for other platforms are welcome.
Personally, the OpenZoom SDK is my exploration of novel ideas and different approaches in architecture and implementation for Zoomable User Interfaces (ZUIs) and Multiscale Images for the Flash Platform.
Applications
- Highly customized multiscale image viewers for Deep Zoom, Zoomify, OpenZoom and custom image sources (IMultiScaleImageDescriptor).
- GIS/Mapping
- Business Applications
- Scientific & Medical Imaging
- Data Visualization
- Presentation Software
- Dashboards
What You Can Build With It
OpenZoom was not born as a framework. Its core design elements come from architectural patterns that have been extracted from my work with ZUIs and multiscale image applications on the Flash platform such as the tandem project. Although I explore different software architectures and design patterns, I try to stay pragmatic and take advantage of the benefits that the platform, in this case Flash or Flex, has to offer. Keeping the codebase small and approachable is a high priority. The OpenZoom SDK reflects my current knowledge and experience from building ZUIs and multiscale image applications with Flash and Flex.
tandem is a real-world example of what you can do with OpenZoom. It is a proof of concept for a new paradigm of navigating and exploring Flickr. tandem was built a couple of months ago and the current state of the SDK is much more advanced.
tandem – explore your world
OpenZoom SDK Components
MultiScaleImage
The MultiScaleImage component for Flash and Flex supports single Deep Zoom, Zoomify, OpenZoom or custom multiscale images.
DeepZoomContainer
The DeepZoomContainer component for Flex supports single Deep Zoom images (DZI) and Deep Zoom collections (DZC).
As the entire SDK is still in its incubation phase, the lastest versions of those components are best obtained from the source code repository.
OpenZoom Tango
A custom viewer and templates for the Adobe Photoshop CS3/CS4 Zoomify Export feature built with the OpenZoom SDK.
Introduction: Pimp Your Photoshop Zoomify with OpenZoom – RTFM / Daniel Gasienica
Demo: OpenZoom Viewer for Adobe Photoshop CS3/CS4
Download: OpenZoom Tango
Features
- Fullscreen support
- Mouse navigation (click to zoom in and Shift-click to zoom out)
- Mouse wheel support in all browsers (scroll to zoom)
- Keyboard navigation (Pan with W, S, A, D or arrow keys, Zoom with + / – or I and O, Show All with H, Fullscreen with F.)
- Context Menu support
- Standards-compliant Flash embed through SWFObject
- 6 templates — Normal / Fullscreen: black, gray and white.
- Just 40KB — 100% Flash, no Flex.
- 100% Open Source. No branding.
Multiscale Image Descriptor Framework
The OpenZoom project features a flexible architecture for describing multiscale images. Implementations for describing existing formats such as Microsoft Deep Zoom, Zoomify and the custom OpenZoom Image Format are provided. These implementations have gone through fair amount of real-world testing and might be great starting point for an implementation to other platforms.
Getting Started
- Read Introduction & Experience the Demos
- Download the Flex MultiScaleImage Component Preview
- Read the API Documentation
Documentation
OpenZoom SDK API documentation.
License
OpenZoom is licensed under the GNU General Public License v3.
If you have any questions regarding OpenZoom licensing, feel free to contact me at daniel@gasienica.ch
//////////////////////////////////////////////////////////////////////////////// // // OpenZoom // // Copyright (c) 2007-2009, Daniel Gasienica <daniel@gasienica.ch> // // OpenZoom is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // OpenZoom is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with OpenZoom. If not, see <http://www.gnu.org/licenses/>. // ////////////////////////////////////////////////////////////////////////////////