The Unravel Java program may be run either as a downloaded application (referred herein as application mode) or as an applet.
Applets are executed by browsers in a sandbox (a set of rules that are used when creating an applet that prevents certain functions). Typically access of local data like the file system or clipboard is prevented. Security issues have compromised the use of applets and some browsers don't allow their use under any circumstances. Oracle provides guidance (search for "Oracle enable browser") on which browsers support the use of applets and what the user needs to do to enable them. At the time of this revision (2016) the developer considers Mozilla Firefox as the easiest browser to use for this purpose but has also used Microsoft Internet Explorer as well after ignoring confusing messages.
The same program is used for both application and applet implementations. In application mode, the Java program is downloaded and saved to the user's computer and can be run thereafter in a stand-alone manner. When the program is run in applet mode it is not stored for later use on the user's computer. Java compiles to platform-independent byte-code files (class files), which are not directly supported by computer hardware. A Java program needs a Java Runtime Environment (jre), to interpret the byte-code and to run. Class files for a 64-bit jre are identical to those for a 32-bit jre. The jre is an instance of the Java Virtual Machine (JVM) and provides the match between the byte-code and the computer Operating System (OS). A different OS requires a different jre. In both applet and application cases, the jre program needs to be installed in the user's computer to run the Unravel program.
Both applet and application running modes for the Unravel program are available from the web site. In all cases the program is run from the executable Java archive urvall.jar. Sun Microsystems Inc jar files jh.jar (for program Help use) and jnlp.jar (for Java Network Launching Protocol use when in non-applet mode) are also required. Because the jh.jar and jnlp.jar files are not included in the jre default library search path, they are stored at the web site and form part of the Unravel program downloads. To avoid difficulties when using later versions of Web Start, the developer has self-signed unsigned versions of these Sun Microsystems jar files.
When running the program from the executable urvall.jar file (excluding Web Start mode), it is highly desirable that the jar files are placed in a directory named UrvbaseJ. When the application is run from the urvall.jar file (including via Web Start), the program will automatically create any sub-directories (of UrvbaseJ usually) and files needed external to urvall.jar for running the program. This will normally occur only during the first time urvall.jar is run.
For non-applet operation, there is a requirement to have an unravel/urtext sub-directory for recording files generated by the Unravel program.
For Windows non-applet operation, it is advantageous but not essential to have the native library files HiResTimer32.dll and HiResTimer64.dll stored (for use when running 32 or 64-bit jre respectively). The program extracts the native library files from the Java archive urvall.jar. The program allows these native library files to be stored permanently in a sub-directory of the base directory (usually named UrvbaseJ) or temporarily (each time the program is run) in a standard Windows Temp directory. When permanent storage is employed (the default option), the path for the library files is unravel\urtime\HiResTimernn.dll where nn is 32 or 64. The library files are used for testing whether the high resolution timer is available, and if it is, to use it.
While it is possible to extract the set of about 54 class files from urvall.jar and run the application from the UrvApp.class containing the main method, the user would not perceive any advantage in doing this.
There are basically three options provided by the web site for running the Unravel program:
Run via applet from web site.
Launch (including download) of application from web site via Web Start (referred to as UnravelJ WebStart).
Download application from web site via a zip file and run it directly from the application's jar file (referred to as UnravelJ Direct).