Frequently Asked Questions

Table of contents:

Using TIFFY as Browser Applet

Q: Which functions are restricted due to the "sandbox" principles when TIFFY is running as applet in a web browser? How can these restrictions be released?

A: Printing and saving / downloading of images is acitvated in the original version of the applet from the author as it is digitally signed with a certificate from Thawte. If you build your own archives (.jar or .cab), you must sign these files with your own certificate in order to give the applet access to restricted resources.

The print-dialog settings can be saved to disk only if TIFFY is running as standalone application or as signed applete because unsigned applets do not get write-access to files (which in this case would be located on the webserver).

Q: If the applet is running in Netscape Navigator, the image icon buttons are not displayed and the registration dialog shows up although I installed a valid license key.

A: TIFFY prior to version 2.0.1 loaded resources named *.res. Netscape Navigator did not allow to load ressources as stream via the classloader, so the toolkit related ressources (icons and also the license key) could only be accessed, when stored in a physical directory structure - not only in a jar archive. Newer version load the resources as *.gif which is allowed from JAR archives with Netscape Navigator as well. If you develop your own framework, the init-method of the main class should contain a call like "ach.file.ParamUtil.retrieveCodeBase(this)". This is important for loading the icon image buttons and to access the license key file in order to suppress the registration dialog with Java Version 1.0. After changing the classes, it may be necessary to explicitly clear all caches of the Navigator (use Navigator's cache settings menu).

Q: I have an evaluation copy of your TIFFY View applet. I am using an URL for  the file name, since my images are stored on a web sever, and I am getting an error. The error is " cannot connect to ..." which is another server that contains my images.

A:  The security model of browsers does not allow applets to access URLs from a different domain as the applet itself was loaded from. This option can be enabled for digitally signed applets. TIFFY applet is already digitally signed for Netscape's Object and MS Authenticode but access across servers is currently not intended to be supported. You may add code in your own version that requests these additional privileges.

Currently you can use the program running as standalone application (e.g. using javaw.exe; please refer to TiffyDoc.html) to access any URL. E.g.:
javaw Tiffy

Back to TOC


Q: For some configurations we recognized a poor printing quality (low resolution). What can be done to improve it?

A: The printing quality depends on the browser and Java virtual machine (JVM) you are using. Many applets provide printing only at 72 dpi with Microsofts Java VM (as part of MS Internet Explorer or when started using jview). Since version 2.0.1, TIFFY provides an option to increase the resolution e.g. to 300 dpi (selectable in TIFFY's print dialog), but Microsoft's early implementations of the Java VM used system resources in a very inefficient way during printing. If you are printing huge images or multiple pages on systems with small memory configurations, your system may run out of ressources. In this case you should reduce the resolution to 150 dpi. Sometimes empty or black pages were recognized. It may help to adjust also the resolution in the operating systems print dialog to 150 dpi.

Some (not all) versions of Sun's JDK/JRE provide printing with 72 dpi resolution as well, regardless the resolution of the image or the printer. Early versions of Netscape Navigator print at full printers resolution but have a certain limit for the image size (approx. 3 MB uncompressed). Best printing results with standalone JVMs were achieved with IBMs JDK/JRE 1.1.8 and Sun's JDK/JRE 1.3 (and higher), which printed even very large images at full printers resolution. As of TIFFY version 2.5.1, the new printing classes/methods of Java 2 are used, when available. This requires a Java 2 (JDK 1.2 or higher) compatible environment.

From Sun a Java PlugIn is availabe (free) for several platforms that runs with MS IE and Netscape Navigator - see . With Netscape 6.x and higher this is used by default, with older browsers (MS IE 4.x/ Netscape 4.x) the HTML-page may need to be modified in order to use the Java Plugin instead of the browsers own Java VM. Sun provides a "HTML-Converter" tool for that purpose. Meanwhile Sun offers a new generation of the Java Plugin that can be used in MS IE without modifying the HTML source. Please see the example SwingTiffy.html (requiring the JFC/Swing classes) which demonstrates a HTML page using Sun's Java PlugIn.

Q: Tiffy runs out of memory during large (multi page) printjobs. What can be done to avoid it?

A: You can either use "JDK 1.1 compatible printing" in the print options dialog or provide parameter /lightprint to set it by default. Although this may speed up printing and reduce memory requirements significantly, in some environments (depending on the operating system, the printer driver and the version of the Java runtime environment) we determined corrupted printouts. So by default, Tiffy will use options of the newer printing libraries available as of Java 2 (JDK/JRE 1.2 and higher).

Alternatively you can increase heap memory settings (e.g. parameter -Xmx768M for Sun's JRE) which can be controlled also for applets in the Java control plugin of Window's control panel. In Tiffy's print dialog you also find a selection of different print resolutions (default: 300 dpi), that will be used for print rendering even if the original image resolution is higher. This also helps to decrease memory requirements, printspooler filesizes and network traffic.

Last but not least it is strongly recommended to use the latest Java runtime environment / Java plugin as printing performance and quality was evolved by Sun during the last years.

Q: How does printing of annotations influence the results?

A: Printing images together with annotations produces some unexpected results as well:
- Microsofts Java VM, JDK 1.1.x and Netscape 4.x do not print objects drawn in XOR mode correctly
- Sun's Java Plugin as of 1.2.x prints images only at 72 dpi when annotations contain objects drawn in XOR mode
- Sun's JDK 1.2.x and higher running Tiffy as standalone application distorts printouts when annotations contain objects drawn in XOR mode

Due to these problems, currently XOR mode annotation objects are printed in normal overwrite mode 

Back to TOC

Using TIFFY's ImagePanel as lightweight component in swing based applications

Q: If embedded in a lightweight component like a JInternalFrame, ImagePanel stays in the foreground and hides e.g. swing based menu popups. Some Events are swallowed.

A: If you want to use the ImagePanel in a swing based application, you can modify the source code of class ImagePanel in order to be used as a lightweight component.

Back to TOC


Q: What are the different license models for the TIFFY Toolkit for Java?

A: The single user developer license of the TIFFY Toolkit for Java can be purchased for US$ 350 or EUR 350. Additional runtime licenses for applications that are developed based on my library are available at the same cost structure as for the TIFFY Viewer. A price table for single or more users using TIFFY installed locally or in an intranet can be accessed at e.g. starting with US$ 29 / EUR 25 for a single user.

The royalty free/server license costs US$ 1500 or EUR 1500. This license requires no addtional user dependent fees and allows you to provide access to the applet via an Internet server. If you distribute your own application based on the (byte code) classes of the TIFFY toolkit, there are no further license fees required as well wit this license model. The server license covers one production server and related development and test systems.

It is not allowed to redistribute the toolkit itself or distribute your application as a toolkit that allows your customers to develop their own applets / applications based on my toolkit classes.

With the toolkit you get a mixture of source and byte code. Higherlevel classes for the framework are provided as source code that gives you valuable details how to use the classes, lower level classes like image decoders, memory management are provided as byte code. You can see it already in the evaluation version of the toolkit wich is downloadable for free.

You can send a purchase order by postal mail (Art&Computer Hackbarth, Hellgrund 84, D-22880 Wedel, GERMANY) or by fax (+49 (0)1803 551884339). Residents from the EU please include your VAT ID. Payment is preferred by cheque (sent with postal mail or FedEx etc.). Please add 5 EUR for shipping and handling. For online ordering options please refer to

Back to TOC

Art&Computer Hackbarth
Hellgrund 84
D-22880 Wedel (Germany)
TEL: +49 (0)1803 551884338
FAX: +49 (0)1803 551884339

Copyright 1997-2009 H.Hackbarth. All rights reserverd.
Technical details are subject to change without prior note.
The Microsoft Logo and Internet Explorer are registered trademarks of Microsoft Inc. The company logo of Sun und Java (TM) are registered trademarks of Sun Microsystems Inc. The company logo of Netscape and Navigator are registered trademarks of Netscape Inc.
All other products and companies listed are trademarks or registered trademarks of the corresponding licensee.