License
Improvise is
free software, distributed under the
GNU General Public License (GPL). The source code for Improvise is freely available from links on this web page. Note that the source code is licensed under version 2 ONLY of the GPL, at least for now.
This program 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.
Requirements
Although Improvise is a complete application and has been used extensively on MacOS X, Linux, and Windows, it is research-grade software with known bugs and should be considered a prototype suitable for demonstration and evaluation purposes only.
Improvise runs as a cross-platform Java program rather than as a platform-specific “binary executable” program. It requires Java version 1.4.2 or later. If a suitable version of Java is not installed on your system, one must be installed before proceeding.
Installation
Improvise currently runs on Java-capable platforms using Web Start (JNLP), on Mac OS X as an application (in the form of a “jar bundle” rather than as a native binary), on Windows as an application (in the form of a “batch executable” rather than a native binary), or on many platforms using a command line script.
To run Improvise as a Java Web Start (JNLP) application:
- Download the Java Web Start version of Improvise. Depending on your system and browser, the file may launch directly or ask you to save it somewhere (such as your desktop) first.
- Java Web Start will try to launch Improvise using Java 1.4. If Java 1.4 is not found on your system, it will try to use Java 1.5 or any higher version. If no suitable version of Java is found on your system, you may be prompted to download and install one before proceeding. Installation may require a restart.
- The first time Improvise runs, Java Web Start will download a variety of support libraries, including some from other servers. This may take a few minutes.
- Respond affirmatively to questions regarding code authenticity/trust. (Improvise jar files are self-signed.)
- The Improvise splash window will appear, followed shortly thereafter by an empty visualization document window.
- The default look and feel in Java 1.5+ differs from that in 1.4. The example visualizations are designed around the 1.4 look and feel, so may differ somewhat from intended layout and appearance under 1.5+. Your mileage may vary.
To run Improvise as a Mac OS X application:
- Download the Mac OS X version of Improvise.
- Double-click to mount the resulting disk image.
- Move the
Improvise application to the Applications folder or to another location as desired.
- Double-click to launch Improvise like any other Mac OS X application.
- The Improvise splash window will appear, followed shortly thereafter by an empty visualization document window.
- The default look and feel of Improvise differs from that of regular Mac OS X applications. Improvise is designed to have a uniform appearance across platforms. Each Improvise visualization window has its own menu bar.
To run Improvise as a Windows application: OLDER VERSION; TESTING (REPORTS APPRECIATED)
- Download and unzip the Windows version of Improvise.
- Launch the resulting
.exe file like any other Windows application.
- The Improvise splash window will appear, followed shortly thereafter by an empty visualization document window.
To run Improvise using a command line script: TESTING (REPORTS APPRECIATED)
- Download and unzip the command line version of Improvise.
- Choose either
improvise.sh or improvise.bat as appropriate for your system.
- Execute the chosen script in your favorite shell/terminal.
- The Improvise splash window may appear, followed shortly thereafter by an empty visualization document window. Then again, it may not. This is the expert way of running Improvise, after all. What fun would it be if you didn't have to adapt the script to your own environment? Better yet, download the source (see below) and poke around.
Examples
The
examples page summarizes and links to documentation for a variety of Improvise visualizations. Many examples include a zip archive of the loadable visualization document and any data set(s) it depends upon.
To run example visualizations:
- Download and unzip the archive for the desired example.
(IMPORTANT: Actually unzip the archives; the “virtual” unzipping functionality of the Windows desktop and similar utilities will not work.)
- The resulting directory contains
*.viz documents and data directories, and possibly other files that may be safely ignored.
- Open
*.viz documents from the Improvise File/Open... menu item in the menu bar of any open visualization window.
IMPORTANT: Improvise is not designed to open visualization documents that are located over a network or stored on CDs, USB thumb drives, or other kinds of alternate storage devices. Visualization documents may fail to open correctly from such locations.
Source Code
The source code for Improvise is organized into two zip archives:
Building involves idiosyncratic shell scripts in the bin directories, as I still use emacs and the command line rather than an IDE. I've gotten reports that it's fairly easy to import and compile in Eclipse, however. No niceties like Ant, Mavin, or JUnit either. Doing everything myself helps me keep track of where all my code is at all times...all 330K lines of it.
Despite the availability of the Improvise source code under the GPL, please note that I am NOT looking for help with development of the Improvise software architecture or user interface from the general open source community at this time.
However, I am always happy to discuss ideas for research collaboration with people in the visualization/HCI/informatics communities, especially ideas that involve interdisciplinary applications to complex sources of information, novel display and interaction techniques (particularly if they involve coordinated multiple views and multi-dimensional data), connections to other toolkits, or integration of new and existing views and data processing algorithms into the Improvise toolkit/library.
Support
You are welcome to
contact me with comments or problems using Improvise or the example visualizations. However, please note that Improvise is
completely unsupported at this time. The time I have available to respond to requests for assistance is extremely limited.
Improvise is currently very limited in terms of documentation and tutorials. I hope to find time to create a series of in-depth video tutorials in the not-too-distant future. In the meanwhile, a very simple
introductory visualization and a small collection of crude
tutorial visualizations with text instructions may help potential visualization designers get started.
Improvise is an integral part of multiple active research projects. Updating of binaries, source, and examples will be sporadic at best.
Last updated Mon Apr 21 2008.