Programs for Unravelling Cubes

The Unravel program has been developed for solving cubes from size 2x2x2 (abbreviated as size 2) upwards. Background information on the development is provided on the Unravelling Cubes of Size 2x2x2 and Above page. An early (Windows platform only) version of Unravel accommodates standard (unmarked centres) cubes in the 2 to 16 size range. The Java version accommodates standard cubes in the size range 2 to a maximum settable limit (that can never exceed the size 99 program limit). The Java version has a marked centres' option for cubes in the 3 to 32 (typically) size range. Marked centres (particularly for cubes of size greater than 3) add complexity to the cube solving process and could be of special interest to those who need something more challenging than the standard cubes with unmarked centres. As at February 2017 the author is unaware of any other developer providing the means of implementing and solving cubes with marked centres that cover a significant cube size range.

The latest Java version has the designation "Unravel Version J-2.5: Date of last update 29-Jan-2017" (as indicated in Menu item "Help – About" when the program is run}. This latest version included some corrections to the Options dialog of the previous version.

The Unravel program can be run directly from this website either as an Applet (if your browser permits) or as a Web Start application. With the ever-increasing emphasis on security you will no doubt have to be trusting types to get over the hurdles presented to you by your Operating System, your browser, the Java runtime environment, and your firewall. Further options are available for downloading and running the Unravel program off-line (website connection not required). To be able to run any of the Java program options, you must have the Java Runtime Environment (jre) installed. Oracle Corporation (which acquired Sun Microsystems Inc in 2010) previously provided optional downloading of jre6 or jre7 but since Dec 2012 only jre7 is provided as a standard download. The Unravel program is now only backwards compatible to jre7.

The jre is available in 32-bit and 64-bit versions. A special native dll (dynamically loaded library) file for the Unravel program is available to Windows users for improved timer resolution. Both 32-bit and 64-bit versions of the dll are provided with the appropriate one automatically selected at run-time. The 32-bit version bundled with the Unravel program was compiled with an early version of C++ that required only the KERNEL32.dll dependent. However, the 64-bit version has an additional MSVCR120.dll dependent. Unless users running a 64.bit jre have access to MSVCR120.dll, the high resolution timer will fail to load. That dll needs to be located in "c:\Program Files\Java\jre7\bin\" or "c:\System32\" (not c:\SysWOW64\" which is for 32-bit !). As of Jan 2014 the earlier MSVCR100.dll was being dispatched with the jre. Users can obtain the 64-bit version of MSVCR120.dll from the web and place it in either of the above-mentioned locations. Unavailability of the high resolution timer is not a program-stopper. If the high resolution timer cannot be loaded for any reason the standard timer will be used (as would always be the case for users running the program on a non-Windows platform).

The options available for running the Unravel program are described below.

Java Applet Mode

Running the Unravel program in applet mode is a two-step process. The first step in the applet program execution is to bring up a window with an Unravel button. The second step, under the users' control, is for them to click that button if they wish to run the Unravel program in applet mode. This arrangement ensures that the Unravel program is not run in applet mode each time the web page is opened. Security issues with Java applets result in many browsers not permitting the applet to run.

In Applet mode the program runs in the "sandbox" environment with some operational limitations such as no automatic writing to or reading from the local disk (except for the jre). By copying text from/to text windows presented by the program and writing/reading it external to the program, users can overcome this limitation, although with accompanying inconvenience. However, access to the local disk is essential only when cube state needs to be saved and retrieved at a later time. For cubes of small size such access would not be required. For users running the program for the first time, the Applet mode is recommended to avoid unnecessary program download if further use is not wanted. To load the Applet click the button below. To run the program after the Applet has been loaded, click the "Unravel" button in the Applet's graphic display.

Java Web Start Mode

For users who want to avoid the limitations imposed in Java applet mode implementation and/or those who wish to download the Unravel program to their local disk, the Web Start mode provides a means of achieving this. The program will be downloaded to a cache directory on the local disk and run if security settings permit. The Licence Conditions can be accessed via a browser from the Licence.htm file always downloaded with the program. This file is not accessible via the Unravel program but similar content can always be accessed from the "About" item in the Help menu or the equivalent item in the toolbar when the program is run. To launch the Unravel program from Web Start, just click anywhere on the following image. The Java Runtime Environment needs to have been installed on the user's computer for Web Start to work.

When the program is first run in this mode the Unravel program will need to create folders for storing its data. For Windows users, the default parent directory (Program Files) that was suitable for the XP Operating System became unsuitable for later versions (a fatal exception would result). The default parent directory has been changed to overcome this problem. For Web Start operation, it is recommended that users accept the default directory path presented as the program will automatically look in that location whenever the program is re-run.

** Unravel from Web Start Image **

Java Archive (JAR) Direct Mode

For users who experience difficulties with downloading or running with Web Start, or who are troubled by the long start-up time it incurs, an alternative download is available for running the program direct from its executable Java Archive (JAR). Basic program zip file "UnravelJ.zip" (1594 kb) may be downloaded for this purpose. If you are a Windows user and want an installed version, save this file (without unzipping it) to any directory of your choice. If you want to run the program uninstalled you can unzip it straight away (select Open or equivalent on your browser) or unzip the saved zip file later.

Uninstalled (all users)

The UnravelJ.zip file may be unzipped anywhere. An instruction on how to run the Unravel program uninstalled is provided in file Uninstalled Instruction.htm, which can be opened on your browser when UnravelJ.zip is unzipped. For conformity with the program working directory used for Web Start, the extracted program base directory UrvbaseJ with all its sub-elements, could be placed in:

C:\ProgramData\KFFraser Software\Java Unravel for Windows users, or
/ProgramData/KFFraser Software/Java Unravel for non-Windows users.

The Unravel program can be run in various ways. Two ways are outlined below:

  • Double click on the urvall.jar file which has been set up to be executable. Normally, when Java is installed, jar files are associated with javaw.exe with the -jar option. If that association has not been made it will need to be done before the program can be run in this manner.
  • Use a command line instruction. For Windows users jarRun.bat and UnravelJ.exe (an exe version of jarRun.bat), which are also extracted from the zip file, can be used. Non-Windows users could create their own version of jarRun.bat.

Licence details are provided by opening the licence link in Uninstalled Instruction.htm or by directly opening file Licence.htm located in folder UrvbaseJ\licence.

Installed (Windows users only)

An installed version of the above is available to Windows users by downloading and unzipping the "InstallExtnUnravelJ.zip" file (39 kb) anywhere. An instruction on how to install and run the Unravel program is provided in file Installed Instruction.htm, which can be opened on your browser when the InstallExtnUnravelJ.zip file is unzipped. The installation requires the UnravelJ.zip file to be placed in the "UnravelJ Install" folder created when InstallExtnUnravelJ.zip is unzipped. The unzipping and installation makes use of ZipInstaller v1.21 by Nir Sofer. The default installation produces "UnravelJ Direct" shortcuts on the desktop and in the Start Menu. Licence details are provided by opening the licence link in Uninstalled Instruction.htm or by directly opening file Licence.htm located in folder UrvbaseJ\licence.

Comparison of options for running program via Java

The Java version of the Unravel program may be run in three basic ways (Applet, Web Start and Jar Direct) as expanded upon above. These are compared in the following table.

Running Mode Advantages Disadvantages
Applet

Runs direct from website browser with no permanent download of program required.

Provides best means for users to quickly assess whether they wish to download program.

Writing to the user's hard disk by the program is not permitted (although user may elect to copy text presented by the program and store it external to the program).

Other operational restrictions apply.

Not supported by all browsers.

Web Start

Downloads and runs on all platforms.

Checks for Unravel program updates when run on-line (the default way the program runs).

Can be run off-line (but not as straight-forward as it used to be).

Has significant level of security checking.

Start-up time is long.

Security checking questions can further increase start-up time.

The downside of checking for updates is that it will unnecessarily increase start-up time when such checking is unwarranted as usually applies for the Unravel program.

Jar Direct

Very robust form of implementation (very unlikely to crash because of jre or other updates).

Start-up time is shorter than for other Java options.

An installation add-on is available for users running Windows.

Users (especially those not running on Windows) have some extra first-time actions for running the uninstalled program from a Desktop shortcut.

External Assessments of Java Version of Unravel Program

The Unravel program has been granted the "Famous Software Award" by FamousWhy. UnravelJ.zip can also be downloaded from FamousWhy by clicking the graphic link on the right. Also details of my interview with FamousWhy can be accessed from the Publisher menu item link at that website.

Famous Software Download

The Unravel program is recognized by the "100% CLEAN award granted by Softpedia" at either site-1 or site-2 from which UnravelJ.zip can also be downloaded (the program should run on all platforms and can be downloaded from either site).

Softpedia Clean Award

Earlier Unravel Program (C++ Development) for Windows Users Only

An earlier version of "Unravel" that was developed using C++ is available for those who have a Windows operating system. The main software differences to the above Java systems are that 16x16x16 is the maximum size cube accommodated, there is no facility for creating macros on-line and there is no support for marked centres. The macros are pure text files that can be edited or created off-line. The main advantages of this system over the Java systems are reduced start-up time, neater graphics, and smaller program size. However, the 16x16x16 size limit for this version may be unacceptable for some users.

To install the Unravel application, download the "InstallUnravelC.exe" unzip-plus-installation file (157 kb) to a directory of your choice and run it. This program was generated using ZipInstaller v1.21 by Nir Sofer. If the default settings are used, the files will be installed at directory c:\ProgramData\KFFraser Software\Cpp Unravel\UrvbaseC\ and a shortcut to UnravelC.exe, which is a 32-bit program, will appear on the Desktop with name UnravelC.

On-line help for running the program requires WinHlp32.exe to be available. This is a standard program for Windows XP but is not included in the standard installation for later versions of Windows. It is still available for download. Go to the Microsoft support site if you don't have it (you will be notified if it is not available when you run the Unravel program). Both 32-bit and 64-bit versions of WinHlp32.exe are available and users need to select the correct one which will be stored in c:\Windows\System32\. The UnravelC.hlp help file is separate from the UnravelC.exe file.

In case any difficulty arises with the installation, the basic file set "UnravelC.zip" (120 kb) is also available for download. The "Unravel" files may be unzipped to the default "c:\ProgramData\KFFraser Software\Cpp Unravel\UrvbaseC\" directory (which you may need to create) or any other directory. The "UnravelC.exe" file can be run uninstalled and users can place a shortcut on their Desktop if they wish.

File "Unravel\info\Readme.htm" provides details on the "Unravel Freeware Licence Agreement" and some information on "Unravel Program Operation". This file should be read before the program is first run.

Unravel Program Install and Uninstall Note

Windows users have three installation options (two originating from Java source and one from a C++ source). While it may be unlikely that users would install all three, it is to be emphasized that all three can be installed, run and uninstalled without any conflict, provided the recommended default storage locations are adopted.

Uninstallation of the Unravel program can be achieved via the Windows Control Panel in every case for Windows users. In addition, the Web Start option can be uninstalled via the Cache Viewer and the other options can be uninstalled via the Start Menu.

** Size 2 cube **

** Size 3 cube **

** Size 4 cube **

** Size 5 cube **

** Size 2 cube **

** Size 3 cube **

** Size 4 cube **

** Size 5 cube **

** Size 2 cube **

** Size 3 cube **

** Size 4 cube **

** Size 5 cube **

** Size 2 cube **

** Size 3 cube **

** Size 4 cube **

** Size 5 cube **

** Size 2 cube **

** Size 3 cube **

** Size 4 cube **

** Size 5 cube **

** Size 2 cube **

** Size 3 cube **

** Size 4 cube **

** Size 5 cube **

** Size 2 cube **

** Size 3 cube **

** Size 4 cube **