AccessTools v2 – accessible menu for portable apps.

The latest version of the AccessTools Menu thanks to Chris Phethean who writes:

AccessTools menuThis year has seen a new version of the AccessTools menu system enter beta testing after another summer of development. It offers all the features of version 1 with the ability to tab through and use short cut keys for menu items, enlarge and change the font colours and background as well as launch programs directly from the pen drive without installation.  There is a new feature offering different languages and the ability to hide programs that are not required.  There are also easy links to Windows built in accessibility features such as the magnifier, onscreen keyboard and narrator text to speech.

In response to some issues which came to our attention during the testing of version 1 with regards to .NET runtime compatibility on older PCs, we decided to branch away from the original C# code and recreate the menu experience using Java. Whilst the Java program still requires a runtime environment to be installed on each machine, we are able to include this in the AccessTools package to be placed on the USB flashdrives. With the help of an open source tool, JSmooth, it was possible to wrap the Java Executable into a Windows .exe file, and in this process ensure that the Java Runtime placed on the USB drive will be used to launch the menu. At the cost of a slightly larger package size, this should ensure that most Windows PCs, whether they have Java installed already or not, will be able to run the menu.

Other issues were encountered with the Java version. Because Java programs run inside a virtual environment, getting them to communicate with the Windows Assistive Technologies is difficult. In order for screenreader use, the Java Access Bridge would need to be installed on any computer on which this functionality is required. Due to the portable nature of this project, this was not a suitable solution, and so we had to limit the visual appearance of this version (Java AWT was used instead of Swing, and the interface limited to mainly buttons).

Big improvements have been made under the hood of the new version of AccessTools. Due to the similarity of C# and Java, much of the code could be re-used with fairly small amounts of tweaking. This process allowed the previous code to be thoroughly reviewed, refined and improved, before any new code was even added to the system. The complicated nature of the downloader in Version 1, for example, has been simplified by ensuring that each application offered will be in the same format (a single zip file), which means we can offer a much more streamlined process of downloading and installing new applications.

Finally, we owe many thanks to Fx Software who have kindly allowed us to redistribute their software as part of this project. This means we can add this wide range of incredibly useful assistive technologies to the open source tools provided in version 1.