Skip navigation

[2015-08-03] New in 0.12.0-SNAPSHOT:

  • Added a new glyph picker, PickerVS, that works with VirtualSpace coordinates only (useful for zvtm-cluster based applications that run on ultra-high-resolution wall displays).
  • Glyph event callbacks enterGlyph and exitGlyph have moved from ViewListener to a dedicated interface: PickerListener
  • Camera portals now support multiple cameras (on separate layers)
  • Bugs:
    • 138 (VPolygonOr loses rescale factor when reoriented)

[2015-03-11] New in release 0.11.2:

  • Now possible to set the visibility of View layers independently for the context and focus regions when a lens is active
  • The RouteLens interaction technique can now be associated with any lens (Contributed by Caroline Appert). Details published in: J. Alvina, C. Appert, O. Chapuis, E. Pietriga, RouteLens: Easy Route Following for Map Applications, AVI '14: Proceedings of the 12th working conference on Advanced visual interfaces, May 2014
  • Portals are now supported in zvtm-cluster for wall displays
  • Added VirtualSpace.removeGlyphs(Glyph[]), which is approximately twice as fast as calling VirtualSpace.removeGlyph(Glyph) in a for loop.
  • Bugs:
    • 135 (Dynamically changing magnification lens outer radius)
    • 134 (VText background rect rendering)
    • 20 (Lens magnification problem when intersecting view boundary)

[2013-08-19] New in release 0.11.1:

  • Added VPolygonOr
  • DPath can be cloned
  • Enhanced Menu widget API
  • RFEs:
    • 3579777 (View.centerOnRegion takes visibility padding into account)

[2012-03-09] New in release 0.11.0:

  • All virtual space coordinates (glyphs, cameras, cursors) are now double precision floating point values
  • All sizes exposed through the public API are now homogeneous: bounding circle diameter, bounding box width/height (previously using radius and half width/height)
  • Small icon and methods for representing 1st-order-of-control panning
  • zvtm main module renamed zvtm-core in Maven and SVN
  • Removed all deprecated methods
  • Started using generics as ZVTM now requires Java 1.5+
  • Added VTextLayout, a subclass of VText that wraps an AWT TextLayout and provides features such as in-place editing, character-aware selection and highlighting for copy/paste, multiline text
  • Several redundant glyph classes removed (see API changes for details).
  • Other minor API changes
  • Aggregated JavaDoc for all ZVTM/ZUIST modules
  • Bugs:
    • 3050850 (inverted export of polygons in SVGWriter)
    • 3149303 (Cursor not erased when exiting STD view)
  • RFEs:
    • 3180564 (enable 1st order of control motion for arbitrary cameras)
EICS 2011 logo

[2011-04-24] Research paper on ZVTM for cluster-driven ultra-high-resolution wall displays to be presented at ACM EICS 2011

CHI 2011 logo

[2011-04-13] Research paper on Mid-air Pan-zoom on wall-sized displays to be presented at ACM CHI 2011

[2010-08-16] New in release 0.10.2:

  • New type of Composite glyph
  • New translucent JList widget
  • RFEs:
    • 3014355 (Update of glyphs under cursor after animation)

[2010-05-20] New in release 0.10.1:

  • Package fr.inria.zvtm.svg has moved to a separate Maven module. See build instructions for details.
  • VPath has been removed, following its deprecation in favor of DPath in v0.9.7
  • Bugs:
    • 2896680 (1st order camera zoom handled through AnimationManager was linear)
    • 2912073 (can't add segment to DPath when in VirtualSpace)
    • 2962619 (Bad rendering of VRectangle and other rect shapes when small)
CHI 2010 logo

[2010-04-12] Research paper on High Precision Magnification Lenses to be presented at ACM CHI 2010

[2009-09-25] New in release 0.10.0:

  • ZVTM now requires Java 1.5.0 or later to run
  • The package structure has been simplified. Packages that were split for historical reasons have been merged into a single hierarchy: fr.inria.zvtm.
  • Major modifications to the animation manager and API, now based on Sun's Timing Framework 1.0. Much more powerful animations can now be created. Documentation available in the Developer's guide, Chapter 4.
  • Simplification of the Glyph class hierarchy, and several other API changes, see API changes for more detail.
  • Completely revised View threading model. Rendering is now entirely performed through the EDT, fixing some rendering bugs
  • Code optimization and clean up
  • New features for cursor management
  • Bugs:
    • 2809312 [fix contributed by David J. Hamilton], 2810308 (SVG parsing errors)
    • 2812122 (Picking when cursor is inside lens yields wrong results)
    • 2813772 (Keyboard events in PView)
JavaOne logo

[2009-05-19] ZVTM at JavaOne:

  • ZVTM, ZUIST and several applications including ZGRViewer will be demonstrated from June 1st to June 4th at JavaOne in San Francisco.
  • Meet us at the Moscone Center, Exhibition booth #628 (INRIA)
DynaSpot figure

[2009-04-07] New in release 0.9.8:

  • Full implementation of the DynaSpot pointing technique
  • New Glyph: VBTextST (translucent text with background)
  • Bugs:
    • 2254706 (No background for VBText seen through lens)
    • 2275466 (SVG group translate() parsing error)
    • 2321117 (Translation of DPath does not work)
    • 2349829 (SVG parsing: + sign not allowed in exponent notation)
    • 2355124 (VirtualSpace method name destroyGlyph() is misleading) - see API changes
  • RFEs:
    • 2353832 (Support for DPath in SVG export)
    • 2493709 (Select interpolation method for image-based glyphs)
    • 2705736 (VText* glyphs now fire cursor events enterGlyph() and exitGlyph)

[2009-04-05] DynaSpot support in ZVTM

  • ZVTM now features full support for the DynaSpot pointing technique. Most geometrical shapes can be selected with DynaSpot, including splines and complex shapes.
CHI 2009 logo

[2008-03-20] Two research papers involving ZVTM to be presented at ACM CHI 2009

Translucent widgets

[2008-11-03] New in release 0.9.7:

  • New package with Swing-based widgets that can be overlaid on top of ZVTM views: TranslucentButton, TranslucentRadioButton, TranslucentTextArea
  • Overhaul of DPath* glyph clipping algorithms, computing a more accurate bounding box, for improved performance. DPath, rather than VPath, should now be used as the main glyph for drawing cubic curves, quadratic curves and general paths.
  • Bugs:
    • 1999082 (better metadata propagation in groups for SVGReader)
    • 2048078 (Wrong font in text glyphs when setting font in Java2DPainter)
    • 2083755 (Bad propagation of camera movements to attached cameras)

[2008-06-17] New in release 0.9.6:

  • The SVN repository has been completely reorganized to provide a clearer separation between ZVTM and the various applications based on it and hosted in the same repository. In addition all projects are now managed with Maven 2.0. Instructions for getting ZVTM's source code have been updated. New build instructions are available.
  • Sigma Lenses
  • Full implementation of the Sigma Lens framework (CHI paper also available from the HAL-INRIA open archive), with ready-to-use implementations of several new lenses (blending lens, speed-coupled blending lens, speed-coupled flattening lens, etc.). A video demonstrating some of the lenses as implemented in ZVTM is available.
  • Previously unused Glyph variable z is now used as a z-index to declaratively control the z-ordering of glyphs on a given layer.
  • Bugs:
    • 1742896 (Unwanted translation when dragging scrollbar slider)
    • 1757329 (Wrong rendering for Manhattan lenses)
    • 1796250 (centerOnGlyph() and rectangular shapes)
  • Feature Requests:
    • 1859431 (Added support in SVGReader for referenced SVG images/icons in SVG files) - contributed by Alex Poylisher
    • 1986337 (New Glyph: VRing - slice of a ring)
    • 1986346 (Enhanced pie menus)
    • 1990946 (Added support for translucent text and translucent line segments in SVG reader)
    • 1996025 (instantiation of blank composite glyphs) - contributed by greenfreak
CHI 2008 logo

[2008-03-25] Research paper on Sigma Lenses to be presented at ACM CHI 2008

UIST 2007 logo

[2007-10-07] ZVTM demonstrated at ACM UIST 2007:

  • ZUIST, an application based on ZVTM that lets you navigate in 20 years of papers published at the ACM UIST conference, will be one of the 20th Anniversary Interactive Visualization tools demonstrated on Monday. A sample video can be downloaded (QuickTime H.264).
  • Some technical details: ZUIST is a zoomable user interface that lets you navigate in 578 research papers, typically 4 to 10 page long. Papers can be browsed by year, by author, by keyword. Overall, the multi-scale scene is composed of more than 80,000 graphical objects, most of them being 1224x1584 pixels bitmap images, loaded dynamically.
  • Short YouTube Video of ZUIST on a SmartBoard 3000i at the conference.

[2007-07-14] New in release 0.9.5a:

  • This is a bug fix release: a dependency (statemachine.jar) was missing, that prevented compilation of ZVTM and the use of some features

[2007-07-09] New documentation

[2007-06-25] New in release 0.9.5:

  • Portals: 2D regions embedded inside Views and drawing arbitrary objects (Java2D instructions or ZVTM glyphs). CameraPortal and subclasses are portals associated with a Camera, and can thus display what is seen through this Camera in a region inside a View (itself showing what is seen through another Camera). A CameraPortal can for instance be used to embed an overview as an inset in a View.
  • New distortion lenses using the L(3) distance metrics (Gaussian, linear, Manhattan, Inverse cosine, Fresnel drop-offs).
  • Two new types of Manhattan lenses using alpha blending as a transition between focus and context.
  • New JPanel View supporting Default, OpenGL and VolatileImage-based rendering, contributed by Rubin Kleiman.
  • Scroll bars in Views
  • New repaint notification mechanism (makes it possible to be notified when a view is actually repainted after a repaint request has been issued by the client application)
  • Views are now repainted while being resized
  • Six new Glyphs:
    • DPath (same as VPath, but geometry of all curves (start, end, and control points) can be dynamically modified and animated)
    • DPathST (same as DPath, can be made translucent)
    • VImageST (same as VImage, but with a ZVTM-level alpha channel that can be combined with the embedded bitmap's own alpha channel)
    • VImageOrST (same, can be rotated)
    • VPathST (same as VPath, can be made translucent)
    • VTextST (same as VText, can be made translucent)
    • VTextOrST (can be rotated and made translucent)
  • Glyph API re-factoring that might make client code incompatible with this version. Modifications required to make client code compatible should be minor (see API changes).
  • Different ViewEventHandler implementations can be set for the different layers of the same View.
  • Other minor enhancements to the API and javadoc.
  • Support for State Machines as an alternate way of handling mouse and keyboard events in ZVTM views.
  • RFEs:
    • 1610868 (SVG image elements not supported by SVGReader)
    • 1673413 (fade-in/fade-out transitions)
    • 1719830 (scale text glyphs without changing font size)
  • Bugs:
    • 1614685 (wrong background color in rasterization)
    • 1656629 (rectangles with custom border disappear at low altitude)
    • 1672282 (mouse wheel events not recognized in applet views and other embedded views)
    • 1674197 (SVG parsing failure when stroke color explicitly set to none)
    • 1675161 (panel view size not updated after parent resizing)

[2007-06-08] New documentation

CHI 2007 logo

[2007-04-15] A research paper involving ZVTM to be presented at ACM CHI 2007

  • E. Pietriga, C. Appert, M. Beaudouin-Lafon, Pointing and Beyond: an Operationalization and Preliminary Evaluation of Multi-scale Searching, CHI '07: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pages 1215-1224, April 2007, San Jose, CA, USA
  • The conference takes place in April/May in San Jose, CA, USA.

[2007-03-27] New documentation and demonstration

[2006-08-17] Add-on library ZVTM-MPD v0.2.1 released

  • Based on Domino 0.6

[2006-06-16] CVS to SVN migration completed

  • ZVTM source code has been transfered from the now inactive CVS repository to a new SVN repository. All development will now take place in the SVN repository. See Download for instructions on how to checkout a copy of the SVN repository.

[2006-06-15] New in release 0.9.4:

  • Bug fixes:
    • 1461147 (optimized repaint requests),
    • 1362683 (lenses can cross view borders),
    • 1363479 (Cursor coordinates and lenses),
    • 1441932 (list of glyphs under cursor was empty),
    • 1407125 (wrong color for 1px-wide glyphs),
    • 1458698 (focus request and internal views),
    • 1506118 (modifier key events)
    • other minor bug fixes
  • RFEs:
    • 1494798 (Glyph color animations),
    • 1362679 (lenses can be moved around in views),
    • 1387127 (post animation actions),
    • 1443070 (Java2DPainter after lens distortion),
    • 1465689 (sticking a camera to a camera),
    • 1466305 (color of cursor hints),
    • 1473499 (custom cursors)
  • In an effort to clean-up the API, all glyph classes except VText (and its subclasses) no longer support methods setText and getText. Text should now only be managed through the creation of VText instances (use the Glyph sticking mechanism to attach a VText to any other glyph, including another VText).

[2005-10-17] New in release 0.9.3:

  • New Java2DPainter interface for adding Java2D paint instructions in ZVTM views
  • Bug fixes:
    • 1238273,
    • 1240098 (distortion lenses now work well under Mac OS X 10.4),
    • other minor bug fixes
  • RFEs:
  • Other minor enhancements: decreased memory consumption, source code cleanup, View API, better font management in SVG reader.
  • Permanently disabled Agile2D-based views as GL4Java is no longer available. Building ZVTM from source no longer requires Agile2D.

[2005-09-24] ZVTM research paper published in the IEEE VL/HCC'05 Symposium Proceedings

[2005-08-26] ZVTM research paper presented at the IEEE VL/HCC'05 Symposium

[2005-06-06] Add-on library ZVTM-MPD v0.2.0 released

  • Added a method for listener removal
  • Based on Domino 0.5:
    • removed dependency on Batik's XML DOM library
    • dependencies now are : Xerces 2.6.2, Xalan 2.6.0 (both included)
  • Bug fixes

[2005-05-24] Add-on library ZVTM-MPD v0.1.0 released

  • Supports multiple pointing devices for bi-manual interaction (Linux only). See MPD mini-HOWTO for more details.

[2005-05-20] New in release 0.9.2:

  • distortion lenses are now supported under Mac OS X
  • glyphs can be attached to cameras (for translation)
  • a view's content can be rasterized to a PNG file or buffered image with parameterable dimensions (beyond display screen width and height)
  • support for ALT modifier in mouse events
  • support for stroke-dasharray and stroke-width in SVG reader
  • new Ant build file for ZVTM and ZGRViewer
  • minor performance enhancement in main drawing loop by limiting Glyph casting operations
  • support for upcoming add-on library capable of handling multiple pointing devices for bi-manual interaction (Linux only)

[2004-12-14] A set of slides describing ZVTM's main concepts in English is available (see Documentation).

[2004-11-17] New in release 0.9.1:

  • added support for the following distortion lenses (used to build fisheye views): linear, inverse cosine and manhattan
  • distortion lens attributes (radius, magnification) can be animated
  • new type of View offering Java 5.0-based OpenGL acceleration
  • new type of View offering Agile2D-based OpenGL acceleration
  • added support for the META modifier key in mouse events (equivalent to the COMMAND key on Apple computers)
  • added support for mouse wheel events
  • ZVTM nows requires a Java 1.4.0 (or later) runtime
  • minor API and performance improvements

[2003-08-06] New in release 0.9.0:

  • changed Glyph setColor() method names for consistency with Java/AWT/Swing
  • the old implementation of VPolygon has been moved to FPolygon (it does not support resizing but might be more efficient)
  • new glyphs: VRoundRect
  • improved the handling of bitmap images in the SVG export module (saved more efficiently (sharing), in a subdirectory with pointers as relative URIs)
  • SVGWriter now appends a generic font family for textual elements (based on the informal CSS classification)
  • added more methods for managing strokes used to paint glyph borders
  • added more methods to manage "sticked" glyphs
  • added support for VRoundRect in GlyphIcon
  • fixed a major thread-related bug that caused, in certain circumstances, the mouse cursor to think it was inside glyphs when it was not (this was only happening when several cameras were observing the same virtual space)
  • fixed a bug in VPolygon (getJava2DShape() was returning an incorrect shape) and implemented resizing operations for VPolygons
  • fixed a bug in View.getImage() which sometimes caused the returned image to miss some glyphs (incomplete rendering)

[2003-02-12] New in release 0.8.2:

  • Enhanced zooming capabilities
  • Support for more SVG elements and attributes in SVGReader (e.g. Polygon and Polyline)
  • New glyphs: VPolygon and VClippedPath (experimental)
  • Switch to Xerces 2
  • Full screen mode for external views (experimental)
  • Better support for font, and Font chooser dialog
  • fixed bug in SVGReader (some polygons describing rectangles were incorrectly laid out)
  • Fixed major bug in AnimationListener

[2003-01-02] New in release 0.8.1:

  • First release hosted by
  • Composite glyphs (glyphs made of one or more basic glyphs)
  • A Glyph Factory to create ZVTM Glyphs by direct visual manipulation
  • An XML file format for saving ZVTM entities (glyphs, virtual spaces, views, etc.)

[2002] New in release 0.8.0:

  • Enhanced performances based on the XOR mode drawing technique which allows better mouse control when displaying complex scenes (like large graphs)
  • New type of View that can be embedded in other components (like a JApplet ; the new view behaves as a JPanel)
  • Several bug fixes (in particular, the getBitmap hanging problem under Linux/Solaris and the SVG export offset have been fixed)
Hosted by Logo