General Information About
the
Virtual Worlds for the Blind Project


Purpose
Status of the Project
Features
System setup for Blind Users
Additional Setup for Sighted Users
Using the HUD
Creating Verbal Annotations
Upcoming Features

Purpose

Virtual worlds pose many difficult accessibility challenges for users who have certain kinds of disabilities, and blind computer users are particularly affected. The Virtual Worlds User Interface for the Blind is a prototype application enabling blind users to participate in virtual world environments. It provides a variety of communication, navigation, and perception functions using 2D screen reader-accessible GUI elements embedded in a browser-based application.

Virtual worlds often have little or no innate semantic content. As a way of further enriching the virtual environment, sighted users can contribute annotations of virtual objects and places by means of a scripted gadget equipped by their avatar. These annotations are deposited in a database and made available through the special user interface. We hope to create a non-visual experience for blind users that has many of the same functions available to sighted users. The goal is to create an alternative user interface paradigm that, while not yet sensorially immersive, is operationally effective. The blind citizen of the virtual world is therefore not shut out of virtual spaces.

An ambitious set of design goals were defined:

Status of the Project

While we do have a functional alternative user interface for the blind, it is still undergoing some important bug fixes and look-and-feel renovations. It is being made available to a limited number of trial users. Testing is under way to evaluate the load users impose upon the server to determine how many can be supported simultaneously, and to root out and correct any stability issues.

We intend to gradually open the project up to additional blind and sighted users over time. User documentations and a means to post bugs and track fixes will be made available as well. It is probable that blind users will need assistance in creating a Second Life account and require some coaching and mentoring as they learn how to operate this special non-pictorial user interface into a virtual world environment.

Features

Navigation

Basic navigation functions have been implemented - such as teleporting or walking the avatar to a destination, moving the avatar in a direction, facing a nearby avatar, and tethering the avatar to another (usually sighted) user's avatar. We call this "follow mode", because the blind avatar will follow along behind the sighted avatar wherever she goes. The user who is blind can also move their avatar to a nearby selected object. Some places in the virtual space will have been enhanced with descriptive information (see perception) and the user can select from a list of them and teleport to those locations.

Text Chat

In virtual worlds people can communicate via text chat. We have implemented this capability for both area chat and instant messages. Area chat is a form of local broadcast whereby avatars who are near each other can send and receive typed messages, much like verbal conversations with nearby people in the real world. An instant message is a private point-to-point text communication between two avatars wherever they may be located.

Perception-related Functions

There are several kinds of perception-related functions. The user receives a summary of their nearby environment which tells them how many avatars, objects, and annotated objects are in the immediate vicinity. There is a list of nearby object names sorted by distance. Users can adjust their 'horizon of perception' outwards and in closer to their avatar to encompass a larger or smaller radius of object sensation. Most importantly, users are offered a list of 'annotated' objects and places if any are nearby. Annotations are descriptions which have been added to the virtual space by sighted users. Here is a screenshot showing the 'perception' panel, which is a keyboard-navigable set of widgets offering various aspects of the avatar's current nearby environment.

screenshot of the perception panel
Friends

The user may send and receive friends invitations, communicate with them via instant messages, and send and respond to teleport invites from friends.

Events

Virtual worlds are dynamic environments and many events can occur as the user is operating the application. One possibly unique feasture of this project is the implementation of selectable audio alerts for various event types. For example, the user can be notified of incoming chat messages with a choice of audio 'earcons' and/or alert messages.


System setup for Blind Users

The user interface is written in JavaScript and runs inside a web browser. The project runs best with Mozilla Firefox 3 (FF3) on Microsoft Windows and the NVDA screen reader. JAWS 10 Beta can also be used but there minor problems that are in the process of being corrected.

Firefox 3 can be downloaded and installed at; http://www.mozilla.com/en-US/firefox/

NVDA (Non-Visual Desktop Access) is a free open source screen reader and is available at; http://www.nvda-project.org/wiki/Download

Install NVDA 0.6p3 at a minimum, even better results are usually experienced with the daily snapshots.

Use the Apple Quicktime browser plugin to play event sound prompts and verbal annotations. Download and install Quicktime at; http://www.apple.com/quicktime/download/

Note: The Quicktime site has a few accessibility issues, but, hopefully this will not be too much of an obstacle. It is not neccessary to install the version that includes iTunes support nor to subscribe for Apple newsletters and promotions

Since we are running as a browser application within FF3, in principle we are portable to other operating systems but we haven't tested this yet. Our application is reasonably compatible with Freedom Scientific JAWS version 10. The user must scan text areas with the up/down arrow keys whereas in NVDA they are spoken entirely on focus.


Additional Setup for Sighted Users

The Annotation HUD

The Virtual Worlds User Interface for the Blind Project has implemented a scripted object which gives the user's avatar an annotation HUD device when they left click on it - similar to a vending machine. One of these devices has been placed at a location in Second Life which can be reached when logged on with the Linden Labs client application through the following SLurl;

http://slurl.com/secondlife/IBM%20Event/227/40/23

The HUD provides a mechanism that allows sighted users to annotate virtual world objects and places. This "heads-up display" gadget is equipped by the user's avatar. It allows the sighted user to select objects and places and enter descriptive information related to them which is made available to blind users who visit the annotated area.

The HUD can be found in the inventory list. Right-click on it, and select wear. The HUD will appear as a set of clickable buttons at the top of the screen.

screenshot of the 'wear' menu item
Using the HUD

When the HUD is equipped, it will perform a handshake with the annotation database server. One aspect of the handshake is to authenticate the user's HUD version. If the user's HUD is out of date, the user will see the following message: 'your HUD is obsolete.' The HUD vendor will be notified and will send the user a new device. The user should be aware that it is not unusual for a new HUD device to be issued. When the user accepts the new HUD, it will show up in the 'objects' section of their inventory and also in the 'recent items' section. The user should detach the old HUD (which no longer works) by right-clicking on the ring and selecting 'detach' from the menu. Then, delete the old HUD from the inventory and begin using the new version.

screenshot of successful handshake message

The HUD contains a sensor that detects objects in your near vicinity and deploys clickable icons over them (we call them trackers) which look like little textured spheres. The name the builder assigned to the object will appear just above the tracker. Left-clicking on a tracker selects the object for annotation. As the user moves about the world, the trackers will periodically be repositioned to adjust for the user's current location and viewing angle.

The Second Life sensor function returns a maximum of 16 objects. Areas that are densely packed with content may require that the annotator reduce the sensor radius so that only nearby items are marked. This is accomplished by clicking the 'radius' button. The place where the avatar is standing can be annotated by clicking the "Annotate Place" button.

Entering Annotation Data

Second Life has very poor data entry capability. A web page is therefore triggered in an ordinary internet browser to capture annotations. You can use the browser integrated into Linden's Second Life viewer or cause the form to appear in your external browser.

Fill in the form, being sure to select a classification and category. A web URL may be entered if desired, which directs a user who is blind to an informative website related to the annotation. Please press hit the Store button when finished otherwise your annotation will not be preserved.

Creating Verbal Annotations

Text-only descriptions can be entered, but verbal narrations are often very interesting for blind users. Spoken descriptions can be recorded and uploaded to the database.

Any audio editor can be used to record voice, but the open source Audacity utility seems to be perfectly adequate and it is free. Download Audacity from; http://audacity.sourceforge.net/download/

Users should configure Audacity to record and save voice files which are as compact as possible. This not only prevents using vast amounts of disk space, it greatly reduces download time.

Start Audacity and then edit->preferences.

accessing audacity preferences

Make sure you have your recording input device selected, it can be a microphone or a headset.

set audacity recording device

Dial the sample rate down to 8000 Hz and 16-bit format.

set audacity sample rate

On the file formats tab select the Microsoft 4 bit ADPMC.

set audacity export format

The round red button initiates recording, the yellow square one stops, and the green triangular button plays back.

audacity record and playback buttons

Once the description has been recorded to the user's satisfaction, they should save it as a .wav file. Users can organize their verbal descriptions in various directories; some can be reused to describe similar things. It is recommend that users write or type their description and record themselves reading it. This reduces hesitations and mistakes.

exporting audacity audio file as a .wav

When finished, upload the voice file to the database using the Browse button on the annotation form. After the file has been uploaded, users can hit the Play button to hear it if they like. Select the Store Annotation button to commit the description to the database. If users do not store their work it will be lost. They can edit it later if they like.

uploading a verbal annotation

Editing and Browsing Annotations

In the current incarnation of the Virtual Worlds Interface for the Blind project, one communally-generated annotation is stored for each place and object and it can be edited by anyone. A database journal is kept that allows an administrator to view and roll back changes when necessary. Annotators own the content they contribute. At the bottom of the annotation form there is a Browse all Annotations button. Clicking the button navigates to a web page that shows all records that have been contributed to the database. Users may edit or delete the annotations, and they can teleport their avatar to the location of the object or place. If a verbal description is available, a Play button can be activated to listen to the annotation. A user may press the Teleport button to transfer their avatar to the selected object or place.

Upcoming Developments

There are a number of useful features that are not yet available, and some functionality that is still unstable.

Improved navigation modes
Navigation functions are limited and may be inconvenient. The project hopes to implement some form of waypoint management that sighted users can provide for the blind.
Flying
The blind avatar can't fly. Perhaps this would be a good use for waypoints as flight targets.
Inventory management, etc.
The blind user needs to be able to list and manage the avatar's inventory, interact with nearby objects, modify appearance in simple ways such as changing skins and outfits.