First Steps in Computer Science; the SynergyNet app (discussed previously here), has been employed as part of a trial taking place in various schools to evaluate its effectiveness in supporting teachers with the new computer science curriculum for Key Stage 1 in the UK.
Preparing for the Trial
Preparations for the trial revealed several practical bits of information concerning the use of SynergyNet on modern devices. Specifically, the trial has shown how best to fit multi-touch apps written in non-‘dot net’ languages to the Windows 8 operating system.
During the trial, several Dell Venue Pro 11 tablets were used (the older version with a 32-bit processor, 2GB of RAM and a 32GB SD hard drive). These tablets use Windows 8.1 (the full version, not RT). Though SynergyNet is designed to be compatible with as many platforms as possible (taking advantage of Java’s cross-platform support) there were two major issues to overcome in order to make the app fully support Windows 8.
The first issue originated from how SynergyNet previously handled touch inputs from Windows devices. SynergyNet has several input methods which can be selected in its config; one of these entails collecting touch information direct from WM_TOUCH (the Window’s touch framework for passing information between hardware and software). However, this method appears to periodically cause an error on Windows 8 which causes SynergyNet to crash. It is possible this error may also occur on Windows 7 as well but it is certainly much more frequent on Windows 8 (32-bit) – often reducing the up-time of apps to little more than 10 minutes.
The error is caused through the dll binary used to hook into WM_TOUCH. The binary has proven difficult to modify for use between various versions of the touch framework. Therefore, an alternative method of collecting touch information from Windows was sought.
Resolving Issue 1
A solution was found through the use of the latest build of Touch2TUIO, a standalone software tool that bridges from WM_TOUCH to TUIO protocol messages. Since SynergyNet can support TUIO as an input without any problems (as shown by various previous projects) it was apparent that this would be a more suitable solution. The batch files used to initiate the app were modified to start Touch2Tuio alongside. Using a TUIO input resulted in the app becoming much more stable and capable of running any length of time without crashing.
The second major issue encountered when using the app on Windows 8 during preparation for the trial was caused by the operating system’s gesture support. Windows 8 has several gestures which are always being listened for by the operating system, such as showing the sidebar. These gestures have a tendency to interrupt whatever app is in the foreground, often minimising full-screen apps. This was undesirable for a classroom app where pupils should not be able to access the operating system beneath the app (which they could do if the app became minimised). Unfortunately, there is no programmatic way to stop Windows listening for these gesture events in Java.
Resolving Issue 2
A solution was devised to stop the gestures being listened for which involved stopping the operating system’s explorer process, the part of Windows which is responsible for responding to most gestures. Stopping this process while the app was active was found to prevent the gestures from interrupting.
Feeding back into SynergyNet
These solutions can be used for any app supported by SynergyNet. Updated batch files which call Touch2TUIO (32bit or 64bit) and stop Windows explorer process (and start it again when an app is closed) have been added to the SynergyNet 3 archive available on the SynergyNet Repository.
With these improvements in place, the trial could take place using the latest version of the First Steps in Computer Science app. This latest version makes use of SynergNet’s dynamic content loading to produce a visually rich environment in which pupils must strategically place instructions in a grid. These instructions are then read by ROVA: a Mars-rover type robot who has various tasks to complete. These tasks are designed so that pupils must understand specific elements of the computer science curriculum in order to get ROVA to successfully complete them.
During the trial the app was run over several sessions. Each of these sessions lasted over an hour. For each session five tablets were used in a class, with two to three students using each tablet. During this time no technical issues originating from the app occurred. This showcases how the SynergyNet framework has matured and become a stable and reliable base on which to build apps.
The responsiveness of the app to touch and the fluidity of its animations were both of a high enough quality throughout the trial that the pupils found using it very intuitive with little to no explanation of the controls required.
The results of the trial are now being analysed with various reports based on the findings scheduled to follow soon after. The continuing development of the app is being carried out by Durham University‘s Centre for Evaluation and Monitoring with funding from Innovate UK‘s Learning Technologies: Design for Impact scheme.