Android Occlusion

Source code is available in our GitHub repository: https://github.com/InstituteOfErgonomics/AndroidOcclusion

A compiled Android app can be installed via the market: https://play.google.com/store/apps/details?id=de.tum.mw.lfe.occlusion

Occlusion is a standard procedure for judging, if a task is potential suitable while driving. The method is standardized in ISO 16673. This standard does not restrict to the widespread occlusion goggles; it also mentions other means of occlusion, like display blanking.

In display blanking the occlsuion is not achieved by closing shutters of liquid-crystal googles, else the display is occluded by appropriate hardware or software means. We implemented a small tool, that does display blanking on Android devices by an App/Service.

Example of occlusion by display blanking. Tested task: Set an alarm clock.

<iframe width="560" height="315" src="https://www.youtube.com/embed/0PyumL6rAxk" frameborder="0" allowfullscreen></iframe>

Here, mainly technical issues of the App are covered, for practical aspects and outcomes of an evaluation experiment please refer to [1].This would be also valuable, if you want to use the application not just as a self-test to check your interface for showstoppers. We dont recommend, to use the application for final subject tests [1].

The display blanking is split into an Android activity, that shows a configuration screen and an Android foreground service that does the display blanking and handles TCP remote commands.

You can configure the open and close interval (standard is 1500ms open, 1500ms closed), if you need different timings (e.g., according to AAM or JAMA) change it. The close interval can also be completely disabled; therefore, the service with its logging files can be used to stop total task times unoccluded.

Please note: The navigation bar (e.g., back and home key) are not occluded.

The service also opens a TCP port on 7070 and uses a simple one byte remote control protocol. Therefore, it can be easily controlled with widely available telnet applications (also on smartphones), or simply open a network socket in your preferred programming language.

The remote command are documented in the about screen (click on the button in the right upper corner) or transmitted to the telnet client as help screen directly when you connect.

How-to configure a telnet app (aTelnet Super Terminal) to remote control the occlsuion.

<iframe width="560" height="315" src="https://www.youtube.com/embed/wNLpvNgreAY" frameborder="0" allowfullscreen></iframe>

The app has capability, to use the build-in camera for occlusion (camera screen visible, camera screen occluded). The idea was to put a tablet between the device or task under test and the test subjects’ eyes. Our pretests were not promising. Maybe, with the upcoming capabilities of e.g., 3D goggles and virtual reality we can revitalize the idea in the future.

Log-files are saved to a folder on the smartphone. If you connect the phone as mass device to your PC you normally should see a folder ‘Occlusion’ with data. It is a known problem, that recorded data on some phones are only visible via mass storage connection after a reboot of the device. To directly check the data after recording use a file explorer app on the phone.

To stop the timing (i.e., end a trial) you can use the volume keys of the phone. The app listens to volume changes and screen off events. Volume channel changes are fast broadcasted to the applications on the phone after you press a hardware key. Compared to the screen off event, that needs some time, after you have pressed the power button. The drawback is that volume changes within a task you want to test, would also finish the experiment.

Reference: [1] Michael Krause, Nicole Donant, Klaus Bengler, Comparing Occlusion Method by Display Blanking to Occlusion Goggles AHFE 2015

This documentation is not in the public domain, but the following is valid for it:

THE DOCUMENTATION IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE DOCUMENTATION OR THE USE OR OTHER DEALINGS IN THE DOCUMENTATION.