BIS Browser User Manual

Martin Klima
xklima@fel.cvut.cz

1. Introduction

BIS Browser is a part of Blind Information System (BIS). This system was developed on FEL CVUT Prague in 1999 to allow blind people to browse through graphical information. System uses text description defined in XML grammar. This description is read from either standalone XML file with the extension .XML or from standard graphical picture format .GIF. The *.GIF format in version 87a can carry any additional information except the graphical one. How the XML grammar looks is described in main document "Graphical communication with blind users". The description is generated using BIS Creator (see document "BIS Creator User Manual")utility. There is no artificial intelligence in this project; a human must do all description generation. To standardize the descriptions, methodology of description creation was defined. Also the grammar itself leads the description creator to follow the basic rules.

BIS Browser is a utility for browsing throw the XML description of a picture by blind user. The user interface of BIS Browser is optimized for use by blind users. The main features are:

2. Functionality

2.1. BIS Browser User Interface

Figure 1: User interface

Picture 1

User interface supports both the keyboard and mouse control. Thus all functions all reachable directly from keyboard or through the graphical user interface using mouse device.

Parts of UI:

2.1.1. Menu bar

Some actions and settings are reachable through it. All of them are also reachable through keyboard.

Table 1 displays the menu items

Menu item

description

File

 

Load

Displays the load file dialog

Exit

Exits the application and closes its window

Attributes

 

Show attributes

Attributes displaying on / off

Show types

Show types on / off

Enable filtering

Enable filtering on / off

Help

 

About

Displays information about this application

Table 1Description tree

Description tree graphically shows the contents of the XML description. It always starts from the root and then follows the description included in the grammar. One of its nodes is the active one. The active node’s detailed description is shown in attribute window and description window. Each node has also its graphical symbol assigned to it. There are these symbols:

Icon of root node

Root node

Icon of picture node

Picture node

Image of view node

View node

Image of object node

Object node

Icon of object node with sematnic relation

Node with semantic relation

2.1.2. Attribute window

Shows all visible attributes of the current node.

2.1.3. Description window

Shows all available descriptions to the current node.

2.1.4. Text output line

Text output line is the most important part of UI for blinded users. The user should set up his reading device (speech or Braille line) to this line. All fundamental information is displayed within this text line. To enable easy navigation in this line, there is a cursor that is controlled throw keyboard.

2.2. Functions

2.2.1. Launching

To start the BIS browser, type path\launch in the Run… menu where path is the current path to the Browser directory. The .bat file will start the Java virtual machine and the browser automatically. If you do not have the Java Virtual Machine installed on your computer, an error message will appear. If success, an empty browser window will appear. See Picture 1 for detailed description of the window.

2.2.2. Loading

To load an XML description, either press F9 or choose File/Load. A standard File Open dialog will appear. You can use mouse to choose the file to open or type the full location and name to the text box. Active cursor is located in this textbox, therefore there is no need to manipulate the active element for the blind user.

Confirm the selection by pressing Enter or by clicking the Open button. You can also abort the operation using Esc key or Cancel button.

Dialog window for loading XML description

2.2.3. Navigating

After the XML description file was loaded, root of the graphical representation of description is displayed. The root becomes the selected object. For the blind, the description of the selected object is always displayed in the text output line. Also all attributes are listed in the attribute window as well as descriptions in description window. Both the attribute and description window are for non blind user information only. The blind user gets full information from the text output line. Syntax of the information:

OBJECT NAME [{[ATTRIBUTE TYPE] ATTRIBUTE }]

Descriptions

To obtain the object’s current description on the text output line, press either PgUp or PgDown. In case, such a description exists, it is displayed in the form:

OBJECT NAME desc: DESCRIPTION

In case, there is no description available to this object, the "No description available" message will appear.

More descriptions can be displayed (if present) by pressing PgUP and PgDOWN keys. PgUP displays the previous description and PgDOWN the following description in the same form. In case, there is no description like this, "No previous description available" or "No next description available" message will appear on the text output line.

To get back to the navigation mode, press Esc.

The blind user’s reading device may by depended on the cursor position. Usually it follows the cursor and reads the text information. Sometimes it reads whole line, where the cursor is positioned, sometimes it’s necessary to move the cursor within the text. This function is implemented in BIS Browser and it’s reachable using the N key for moving the cursor to the left or the M key for moving the cursor to the right.

Semantic relations

Some descriptions may refer to other objects in the tree. This reference is called semantic relation. Nodes with this relation are graphically indicated by this icon: Icon for object with semantic relation. There is a possibility to follow the relation, i.e. to quickly get to the related object in the tree. To do so, press Enter when such a description is currently displayed. The related object becomes the current one.

Attributes

All attributes may be omitted. This helps the blind to get faster global information about the picture. The main information is included in the structure itself. The additional attribute information creates about 20% of the complete description only. The attributes displaying can be switched of / on by pressing F5.

Also there is a possibility to display attribute type when displaying attributes by pressing F6 key.

Moving in description tree

The active node is indicated by blue frame. Also, this object is displayed in the text output line and on the Java system console.

To move the current object to its parent object press left arrow key. In case, the current object is the root, no action is performed. The last visited child object is remembered and when moving in the reversed direction, this object is chosen first. This helps the blind user to quickly check the parent object whenever needed and then get back to the previously current object.

To move the current object to its child object, press right arrow key. The last visited node becomes the current one. If none was visited on this level yet, the first becomes the active one. The description tree is expanded as needed to graphically display the actual state.

To move the current object to its upper respectively lower neighbor, press up arrow key respectively down arrow key.

To quickly reach the root node, press R.

Sometimes its suitable to get information about the current object in a different view. Such a function should identify the same object in different view and make it the current one. Then its possible to get more information about it.

To quickly get to the same object in the previous view, press the Home key. In case, there is no previous view, no action is performed.

To quickly get to the same object in the next view, press the End key. In case, there is no Next view, no action is performed.

3. Implementation

BIS Browser is implemented in Java programming language. Java is a modern, fully object language. The basic class hierarchy is shown on the following picture.

Class hierarchy of Browser

 

Filled classes and interfaces are implemented in this software.

Description of classes and interfaces:

Tree

Implements graphical tree. The structure of the tree is hold in TreeNode type variable. Only the root node and the current selected node is necessary to be remembered. This class implements the MouseListener interface so as to be able to react to mouse actions. When action is performed and the state of the tree is changed, the TreeEvent object is generated.

ScrollTree

Implements a scrollable graphical tree build on the Tree class. It does not extend the Tree class, only uses most of its methods. The public methods correspond to the Tree class public methods.

TreeEvent

Object of this class is generated whenever the state of Tree of ScrollTree class is changed.

TreeListener

This interface must be implemented by all classes that want to catch the TreeEvent object thrown by either Tree of ScrollTree objects.

TreeNode

All information about a tree node are stored in an object of this class. It contains pointers to its following and preceding node and an object of Object type. The toString method is applied to this object and the result is displayed in the graphical tree.

BISBrowserFrame

The main class containing the main method to be run. The user interface, mouse and keyboard events handling are implemented here.

BisTreeNode

Data structure needed for special navigating for blinded people within the tree. Implements last visited object remembering. Also implements the toString method that may vary by different objects.

OutputDevice & BISTextLine

Classes for text output. Ready for future interface possibly written in the C++ language.

Function

Static class containing methods that do not fit into any of the previous classes.

4. Function keys

Load XML description F9
Attributes on / off F5
Attribute types on / off F6
Attribute filtering on / off using F7

Move to parent object

<-

Move to child object

->

Move to upper neighbor

^

Move to lower neighbor

v

Move to root

R

Move cursor right

M

Move cursor left

N

Display previous description

PgUP

Display next description

PgDOWN

Jump to related object

ENTER

Jump to object in other view

Home/End

5. Installation & system requirement

5.1. Software requirements

BIS Browser uses the Java virtual machine to run on. It’s developed under JDK 1.1. To run the browser on your computer, you must have JRE 1.1 installed or JDK 1.1 (or later release).

To run the application itself, no further installation is needed. Simply copy the directory to its destination and launch runme.bat file. This bat file will launch the Java virtual machine and BISBrowser application as well.

The software was tested on Windows 95 and Windows NT.

5.2. Hardware requirements

On PC, the Java Virtual Machine requires at least Intel 486 compatible processor or better, 8 MB RAM 32 is recommended, mouse device and graphic card VGA compatible.

In general, there are no special HW requirements compared to Windows 95 / 98 of Windows NT.

6. Appendix 1 Example

File flat.xml contains an XML description of a plan of a flat. The structural view contains the general description of the flat layout. Also, there is a semantic view that describes relations among rooms in this flat. This semantic view will help us to find way from one room to another. See Picture 1 for the plan of the flat.

Figure 1 - Scheme of flat

Picture 1 - Scheme of flat

Farther in this appendix there is a detailed description of how to browse throw the flat.xml description. We assume, there is BIS Browser running on your computer. How the browser with no description loaded looks you can see on Picture 2.

Figure 2 - Empty Browser

Picture 2 - Empty Browser

Figure 3 - Description to open dialog

Picture 3 - Description to open dialog

The description will be loaded. A graphical tree representing the structure of the description will be displayed with the root object active. All other objects are hidden at this moment. See Picture 4. ‘Root’ i.e. the name of this object is displayed in the text output line as well as on the Java console. Name Root is also the only attribute assigned to this node. List of attributes is displayed in the attribute window.

Figure 4 - Description loaded

Picture 4 - Description loaded

We would like to see more of the description structure. To do so, press right arrow key.

Figure 5 - Browsing in the description

Picture 5 - Browsing in the description


Figure 6 - View structure

Picture 6 - View structure

Figure 7 - Structural view

Picture 7 - Structural view

Figure 8 - Semantic view

Picture 8 - Semantic view