niffler logo niffler banner
TAMS / Applets / Niffler: image viewer
Summary This is the home page for Niffler, a simple image viewer and browser. The program is written in Java and runs on many platforms, including Windows, Linux, and Mac OS X. The slideshow and navigation commands automatically include images in subdirectories, which can be a great help when searching or browsing a large or deeply-nested image collection. If you like pixel-peeping at magnified images, you might enjoy the fast 2D mouse-dragging option, much more convenient than the traditional scrollbars. The current version of the program also displays image EXIF data and includes several image editing commands.

To start and test Niffler, just click the Java Webstart button below. Read on for a detailed description, screenshots, and the download section.

Webstart
(requires Java webstart and JRE 1.4.2 or higher)

Just click the above button to download and start the program via the Java Webstart installer. Once the program has started, select an image directory via the file menu, and explore the menu commands. Type the cursor keys or the 'n' and 'p' keys to open the next/previous image.

Note that the application archive uses a self-signed certificate instead of an expensive commerical certificate. You will have to ignore the security warning of the Java Webstart installer and allow to run the program. After all, the risk of running the image viewer via Webstart is not higher than downloading the program manually and then running it. If you don't trust this webserver, just download and check the source code, then compile the program yourself.

Screenshots Click one of the following thumbnails for a few screenshots (taken with the Linux version):

main window with histogram and exif summary main window with tools menu main window with tree and thumbnails image canvas only

Features The following list summarizes some features of Niffler:
  • image viewer and browser written in Java.
  • runs on Windows, Linux, Mac OS X, etc.
  • supports JPEG, GIF, and PNG - but neither TIFF nor digicam RAW formats.
  • searches for all supported images in the specified directory, including all subdirectories. For example, select your home directory and the program will search for and include all your image files in the viewing list (this may take a few seconds).
  • arbitrary zoom factor, including zoom-fit, fit-to-width, original image-size options, auto-zoom-fit for each image.
  • mouse dragging for fast image scrolling (plus traditional scrollbar support).
  • many navigation options (next image, previous image, goto image, go forward/backwards by 10/100/1000 images, random image).
  • tree view (read "explorer") for direct image selection.
  • thumbnails support for image selection.
  • image histogram.
  • shows image EXIF data (one-line summary or complete EXIF dump).
  • slide shows (linear or random order).
  • popup-menu and accelerator keys.
  • basic postprocessing commands and image filters.
  • option to skip over small images (e.g. thumbnails or banners) - it only shows the 'real' images.

Naturally, you may want to know its limitations as well:

  • no support for several common image formats like BMP, TIFF, PPM (yet).
  • no support for exotic image formats.
  • still no printing.
  • performance should be ok on recent Java virtual machines. Please remember to specify a large-enough memory-size for your Java VM, the default limit of 64 MBytes is way too small for typical digicam images. I recommend -Xmx400m (or larger).

Changes:

  • 03.08.2007: The first public version based on the re-organized version of the sourcecode. Several new functions and fixes. Another upgrade coming soon.
  • 30.04.2007: Uploaded a new version with much better performance (up to 10X faster) for most image operations.
  • 19.03.2007: Re-instated the Java-webstart link, which was dangling after the latest webserver restructuring.
  • 01.08.2006: first upload of the new, completely rewritten version. New user interface, image editing operations, histogram, EXIF support.
  • 25.01.2006: thumbnails support, open-source, lots of fixes.
  • 06.09.2005: rotate and save images, option for inverse dragging, many small fixes.
  • 23.11.2004: re-show cursor before showing dialog windows, set slideshow delay
  • 05.04.2004: usability changes: hide cursor, more recent-directories, set filechooser directory from recent-directories.
  • 29.03.2004: 'delete image' should now work on Windows, too.

Downloads If you hesitate to use Webstart, please click here to download the Niffler executable JAR archive:

Run with a command line like

java -Xmx300m -jar niffler-exif.jar /users/joe/images
to browse the specified directory (here, /users/joe/images) using a memory limit of 300 MBytes for the Java virtual machine. Setting a large-enough memory limit via the -Xmx option is important because the default value of 64 MBytes is way too small when handling large files (e.g. images from a 4+ Megapixel digital camera), resulting in out-of-memory errors or performance degration due to garbage-collection overhead.

I release the viewer and source under a BSD-style open-source license. If you plan to modify or extend the viewer, you can download the niffler-src.zip source code archive. See license.txt for license details and readme.txt for information about running and building the program:

The name Harry Potter fans may guess why a program that digs through your directories and files in search for gold, hem, hem, images, is called a niffler. If in doubt, read book 4 and book 5 to brush up your Care of Magical Creatures skills :-)


Impressum
03.08.2007
http://tams-www.informatik.uni-hamburg.de/people/hendrich/niffler/