GIS and most other software systems that can support spatial thinking are industrial-strength, monolithic systems. As such, they are designed as stand-alone systems, perhaps with add-ons, but with tightly coupled data structures and control structures. It is usually not possible to break such systems apart into a number of independent components, because each piece is highly dependent on the other pieces.
GIS are generally seen as having reached a critical point in their development. They now offer so much functionality and, like many other support systems, are trying to address an ever-broadening set of issues and application domains. Although this functionality allows broad support for a huge number of application areas, it also results in ever more complex APIs, steep learning curves for developers and users alike, and problems with legacy systems. Yet most users of these monolithic systems access only a small percentage of the functions available to them.
Throughout the software industry there is a movement away from such monolithic engineering, where the resultant system is a single self-contained program, to a component model where functionality is broken down into small, independently deployable pieces that communicate through well-defined interfaces. This component-oriented model offers two advantages for the design, customization, and implementation of GIS. First, if interfaces are made public (i.e., published), it becomes easier for the value added reseller (VAR) to use the services that the components offer and to construct specific, focused applications that extend the basic functionality. Second, it offers the possibility, for vendors and resellers, to substitute one component for another as long as the new component adheres to the interface specification. Consequently it might be possible, for example, to swap the current map display tool for a new component that produces a highly stylized map or even a synthesized spoken description for the visually impaired. The new version of ArcGIS (9) takes this kind of component-oriented approach (http://www.esri.com), as does GeoVISTA Studio (http://www.geovistastudio.psu.edu).
dards, through such means as high-quality professional development programs” (Public Law 107-110, section 2402). Nonetheless, progress toward meeting the accessibility goal can be made along several fronts. For example:
• Assisting Visually Impaired Learners. Current GIS rely heavily on visualization at all stages—from input to output. They are not yet amenable for use without sight. To enable such use, alternative access modes—touch, haptics, speech, and hearing—must be incorporated into the GIS interface. The most accessible technologies to facilitate interaction include a haptic mouse, software that converts text to speech, and voice input. Haptic mice, developed mostly for video game use, work on the principle of force-feedback. For example, a simple outline map of a country and its political divisions can be constructed using virtual boundaries consisting of lines of resistance (electronic “forces”) that act both as guides for shape tracing, and therefore learning, and as buffers to inhibit entry into an enclosed area. Therefore, force would have to be exerted on the haptic mouse to enter or exit a region (polygon). Interiors of polygons can be filled with vibratory or tactual shading (hachures, diagonal lines, and different densities of dots). The user feels the surface via the haptic mouse and compares the shading textures and patterns to a legend to identify the information being shown. This is a haptic version of the visual choropleth or isopleth map (Figure 8.9). Text-to-speech conversion software allows a user to listen to written descriptions of materials or to follow sequences of descriptions for comprehending what is being visually represented on screen. Voice interaction relies on speech recognition software that has become commonly available. This provides an alternative to using the keyboard or mouse to enter commands for search and exploration. For example, speech can be used to find locations using simple “up-down-left-right” instructions, or it can initiate requests such as “take me to place x.”