The review of both theoretical models of input devices and empirical research show that access to a variety of alternate input devices is crucial for successful 3D interaction. As VRML applications become increasingly prevalent on the Web, it will become more important for users to have access to these alternative input devices. Because most VRML applications are powered by Java code, and the architecture of Java prevents the use of alternative input devices, there is a problem.
The problem that is being addressed in this thesis is two-fold:
First, there is a technical obstacle that needs to be overcome in order to support new input devices in VRML applications. Due to the architecture of Java applets and the way that they interact with the client's machine, non-traditional input devices can not be used. It is clear that a new architecture must be designed to overcome this deficiency. This new architecture is essential for VRML emerge as a new standard for virtual worlds.
In order to address this problem, I have developed a client/server architecture, which allows alternative input devices to be used with Java applets and VRML applications. This architecture is documented Chapter 4, Architectural Development.
The second problem is to create a standardized interface for device inputs. It is desirable to isolate the specifics of the input device from the application. What is more important for an application is to interact with it at a task level. By doing this, we work at a level of abstraction above the device and new input devices and interaction techniques can be easily added and tested. This will facilitate the creation of an input device test-bed as well as a clean architecture for interfacing with 3D applications.
To address this problem, I have developed an input device interface tool kit. The tool kit facilitates the addition of input devices to any application and controls the input device mapping. The tool kit is detailed in Chapter 5, The Tool Kit.
An application was developed using the tool kit and four input devices (magnetic tracker, glove, speech and keyboard) were included in the application. I then tested the application on a typical PC platform to determine the system performance while running this new architecture. The application is outlined in Chapter 6, The Application.