5
Abstract— This work reports the computer resources and assistive technologies for motor impaired people currently used in Brazil and proposes an alternative for generating accessibility tools. Then we present the TUPI Toolkit, a library of components to develop accessibility systems for persons with motor impairments. This system enables the creation of versatile adaptive programs relying on very little effort to provide adaptive computer systems at low cost, to be used in schools and universities. I. INTRODUCTION HE number of people with motor impairments in Brazil is high: from 25 million of disabled persons, at least 9 millions are motor impaired [1]. Most of these people are in an extreme disadvantage in society, largely because of restricted access to tools that could make their lives more agreeable, by allowing them to communicate with others through new technologies [2]. In Brazil, the access to these items is very limited and is a result of several factors including financial, social and technological ones. Almost all tools are imported and very expensive. Only recently, the production of computer tools for disabled people is having more attention. In this sense, this article presents a system that support the production of computer systems for the motor impaired at low cost, using the strategy of programming by components. The article is organized as follows: we discuss that some physical adaptations, which are the most frequent path taken in Brazil for computer access, are neither sufficient nor suitable in many cases, and that the use of more sophisticated tools is necessary. We present some of the technological products currently used, pointing out some difficulties faced by Brazilians. Then we present a library of components, the TUPI Toolkit. We show some applications through a technical approach, including the main toolkit functionalities. We briefly describe some examples, stressing that this tool allow an increasing in programming speed. We conclude with some perspectives for future development to the TUPI Toolkit. II. UNDERSTANDING THE PROBLEM OF ACCESS TO TECHNOLOGY BY THE MOTOR IMPAIRED IN BRAZIL In Brazil, almost all young people with serious movement disabilities, particularly tetraplegics and cerebral palsy Manuscript received April 1, 2008. Revised July 1, 2008. Carlos Roberto França is with the Federal University of Rio de Janeiro (UFRJ) Brazil (corresponding author e-mail: [email protected]. José Antonio dos Santos Borges, is with the Federal University of Rio de Janeiro, Brazil. (e-mail: [email protected]). Fabio Ferrentini is with the ederal University of Rio de Janeiro, Brazil (e-mail: [email protected]). persons, face an absence of physical and technological adaptations, which creates an enormous barrier to their development. If we focus only on the question of the use of computers and systems that are not adapted to them, we see that a person with upper-member disability is at a huge disadvantage in relation to other individuals. The main aspect of this question is the usability of these systems. The usual computer methods that were created for people without disabilities involve the use of buttons, keyboard and mouse, that require hand or finger movements. People who cannot move their hands must use special devices (prostheses, ortheses or mechanical adaptations) to operate the computer. There are some others problems that hinder the manipulation of computer devices: a) Athetosis and spasms (involuntary movements of the members); b) Lack of precise movement; The body’s response time to cerebral stimulus can be very high, not allowing the system to correctly interpret the user’s desire; c) Certain movements can be uncomfortable for users; Repeated strain injuries (RSI) – forcing the repeated use of impaired members can cause serious injuries; People who cannot speak will not be able to use voice commands. When we study the products for technological assistance that are on the market today [3], we can discern two design approaches: Some systems are overly broad, seeking to serve, for example, to “all tetraplegics.” Such systems need a great deal of configuration (including hardware) to be effectively used. In this kind of solution, the user will probably explore only a small subset of the product’s capabilities. Other products are simpler, but extremely specific for a certain kind of disability. This specificity sharply restricts the group of beneficiaries. In many cases, because of the absence of multiple configurations, the system cannot be adapted to some potential user. Both approaches lead to very expensive products. In the first case, the development time must be lengthy to provide the adaptability that allows the system to be used in many situations. In the second case, development time is shorter but there are few users to dilute the production cost. So, it is necessary to develop tools that are adjustable and malleable enough to take maximum advantage to the user abilities. Based on these findings, we have suggested the TUPI Toolkit, which provides a set of basic computational components to simplify the process of creating adaptive programs and systems. The overall objective of the toolkit is to allow the construction of robust and reliable programs that TUPI – A library of components for accessibility systems for motor impairments Carlos Roberto França, José Antonio dos Santos Borges, Fabio Ferrentini Sampaio T 978-1-4244-2701-7/08/$25.00 ©2008 IEEE 139

[IEEE 2008 Virtual Rehabilitation - Vancouver, BC (2008.08.25-2008.08.27)] 2008 Virtual Rehabilitation - TUPI - A library of components for accessibility systems for motor impairments

Embed Size (px)

Citation preview

Page 1: [IEEE 2008 Virtual Rehabilitation - Vancouver, BC (2008.08.25-2008.08.27)] 2008 Virtual Rehabilitation - TUPI - A library of components for accessibility systems for motor impairments

Abstract— This work reports the computer resources and assistive technologies for motor impaired people currently used in Brazil and proposes an alternative for generating accessibility tools. Then we present the TUPI Toolkit, a library of components to develop accessibility systems for persons with motor impairments. This system enables the creation of versatile adaptive programs relying on very little effort to provide adaptive computer systems at low cost, to be used in schools and universities.

I. INTRODUCTION HE number of people with motor impairments in Brazil is high: from 25 million of disabled persons, at least 9 millions are motor impaired [1]. Most of these people

are in an extreme disadvantage in society, largely because of restricted access to tools that could make their lives more agreeable, by allowing them to communicate with others through new technologies [2].

In Brazil, the access to these items is very limited and is a result of several factors including financial, social and technological ones. Almost all tools are imported and very expensive. Only recently, the production of computer tools for disabled people is having more attention.

In this sense, this article presents a system that support the production of computer systems for the motor impaired at low cost, using the strategy of programming by components.

The article is organized as follows: we discuss that some physical adaptations, which are the most frequent path taken in Brazil for computer access, are neither sufficient nor suitable in many cases, and that the use of more sophisticated tools is necessary. We present some of the technological products currently used, pointing out some difficulties faced by Brazilians.

Then we present a library of components, the TUPI Toolkit. We show some applications through a technical approach, including the main toolkit functionalities. We briefly describe some examples, stressing that this tool allow an increasing in programming speed. We conclude with some perspectives for future development to the TUPI Toolkit.

II. UNDERSTANDING THE PROBLEM OF ACCESS TO TECHNOLOGY BY THE MOTOR IMPAIRED IN BRAZIL

In Brazil, almost all young people with serious movement disabilities, particularly tetraplegics and cerebral palsy

Manuscript received April 1, 2008. Revised July 1, 2008. Carlos Roberto França is with the Federal University of Rio de Janeiro

(UFRJ) Brazil (corresponding author e-mail: [email protected]. José Antonio dos Santos Borges, is with the Federal University of Rio

de Janeiro, Brazil. (e-mail: [email protected]). Fabio Ferrentini is with the ederal University of Rio de Janeiro, Brazil

(e-mail: [email protected]).

persons, face an absence of physical and technological adaptations, which creates an enormous barrier to their development. If we focus only on the question of the use of computers and systems that are not adapted to them, we see that a person with upper-member disability is at a huge disadvantage in relation to other individuals.

The main aspect of this question is the usability of these systems. The usual computer methods that were created for people without disabilities involve the use of buttons, keyboard and mouse, that require hand or finger movements. People who cannot move their hands must use special devices (prostheses, ortheses or mechanical adaptations) to operate the computer.

There are some others problems that hinder the manipulation of computer devices:

a) Athetosis and spasms (involuntary movements of the members);

b) Lack of precise movement; The body’s response time to cerebral stimulus can be very high, not allowing the system to correctly interpret the user’s desire; c) Certain movements can be uncomfortable for users; Repeated strain injuries (RSI) – forcing the repeated use of impaired members can cause serious injuries; People who cannot speak will not be able to use voice commands.

When we study the products for technological assistance that are on the market today [3], we can discern two design approaches:

• Some systems are overly broad, seeking to serve, for example, to “all tetraplegics.” Such systems need a great deal of configuration (including hardware) to be effectively used. In this kind of solution, the user will probably explore only a small subset of the product’s capabilities.

• Other products are simpler, but extremely specific for a certain kind of disability. This specificity sharply restricts the group of beneficiaries. In many cases, because of the absence of multiple configurations, the system cannot be adapted to some potential user.

Both approaches lead to very expensive products. In the first case, the development time must be lengthy to provide the adaptability that allows the system to be used in many situations. In the second case, development time is shorter but there are few users to dilute the production cost. So, it is necessary to develop tools that are adjustable and malleable enough to take maximum advantage to the user abilities.

Based on these findings, we have suggested the TUPI Toolkit, which provides a set of basic computational components to simplify the process of creating adaptive programs and systems. The overall objective of the toolkit is to allow the construction of robust and reliable programs that

TUPI – A library of components for accessibility systems for motor impairments

Carlos Roberto França, José Antonio dos Santos Borges, Fabio Ferrentini Sampaio

T

978-1-4244-2701-7/08/$25.00 ©2008 IEEE 139

Page 2: [IEEE 2008 Virtual Rehabilitation - Vancouver, BC (2008.08.25-2008.08.27)] 2008 Virtual Rehabilitation - TUPI - A library of components for accessibility systems for motor impairments

are suitable for different types of motor disabilities in less time than it is necessary today, even by programmers with little experience in this area.

III. PRODUCTS USED IN BRAZIL FOR THE MOTOR IMPAIRED In Brazil, different educational institutions have endeavored to introduce new technologies (especially involving computers) in the rehabilitation process. These institutions, despite some real success through the use of diverse computer technology, rely mainly on imported products. These efforts are generating very good results in some areas (particularly visual disability), but this has not carried over into the area of motor disabilities.

The main assistive items used in Brazil [4] are the products of Intellitools, which has special keyboards and actuators with a wide range of configurations. These products are versatile and complete, but are expensive: a small tool suite integrating a special keyboard and a package of programs can easily cost about US$ 2000.

Some institutions use programs generated by the Fresa Project [5], which include a virtual keyboard, boards and accessories for general adaptability. Another free program widely used is the Click-N-Type (Lake Software) [6], a virtual keyboard, translated into Portuguese, sometimes associated with the Point-N-Click virtual mouse. These are very simple programs but have excellent applicability, besides being free.

Few research groups have dedicated themselves to create adaptive software. Among them, the Cognitive Rehabilitation Laboratory of the University of São Paulo stood out, since 1991, a program to assist patients with serious motor impairments. Another example is the Rio de Janeiro Occupational Therapy Center, which developed a software called Comunique, for alternative communication with persons with serious disabilities. The Electronic Computer Nucleus (NCE) from the Federal University of Rio de Janeiro developed the “Teclado Amigo”(“Friendly Keyboard”), a specialized text editor for motor impaired people, and the Motrix, which allow to control a computer through voice recognition.1

Our experience as developers of adaptive systems, put us in contact with many users and appliers of technology. In our experiments we observed that few people know computer accessibility tools.

Also, we observed that professors, occupational therapists and doctors feel disoriented regarding the use of adaptive computer resources.2

1 In some situations, the DOSVOX system, for the blind people, has been

used to give support to people with motor impairment. It uses mainly the menu choices for the interaction with the system, simplifying the human-machine communication. 2 It is interesting to note that the majority of computer systems developers have no previous knowledge or experience with accessibility question, and hence fail to introduce simple functions that could permit their systems to be used by motor impaired people.

IV. UNDERSTANDING THE TECHNICAL DIFFICULTIES OF CREATING ADAPTIVE PROGRAMS

FOR THE MOTOR IMPAIRED The process of creating accessibility programs involves some particular aspects that need differentiated human interaction, the use of special tools and techniques and constant attention to the users physical welfare.

According to [7], the life cycle of a software design project can be divided into the following steps: analysis of the system requirements, initial development and product maintenance. Next, these steps are presented.

A. Analysis of requirements In this phase, it is essential for the developer to talk to people with motor impairment or with groups and professionals who deal directly with them. The designer must discard preconceived ideas about users’ limitations.

One of the main problems identified in this phase is the aversion that some health professionals involved in the physical treatment have in relation to the use of new technological devices. Our experience in setting up adaptive computer systems showed that a lack of knowledge about the adaptive computer technologies obstruct new solutions. So it is important to have a set of professionals with a wide view of the computer resources, to be used with the motor impaired people.

B. Development of the initial design To develop new system there are some techniques, generally involving the creation of diagrams (of Entities/Relationships, UML, etc.). When the project involves a high level of uncertainty, it is common to use prototypes, generally associated with the rapid applications development (RAD) technique [8]. The RAD technique stresses codification (instead of specification), the reuse of code and continuous involvement with the client. The intensive use of software components is a suitable alternative to significantly reduce the encoding time and to increase the product quality.

Nevertheless, a designer who wants to use RAD in systems development will discover that do not exist specific components to these kind of application.

The development of new components is not an easy task since it involves “low-level” interactions with the operating system. An adaptive component makes many calls on various applications interfaces from the operating system, and it is common to have to interact with kernel protection systems or interruption mechanisms.

C. Modifications and maintenance Once the system is ready, it must be tested. The designer must foresee that the accessibility system will be used in many similar (but not exactly equal) situations than that for which the system was originally created.

V. THE TUPI TOOLKIT The TUPI Toolkit is a set of software components that are compatible with the development of systems in Delphi

140

Page 3: [IEEE 2008 Virtual Rehabilitation - Vancouver, BC (2008.08.25-2008.08.27)] 2008 Virtual Rehabilitation - TUPI - A library of components for accessibility systems for motor impairments

language3. The set of components was defined to implement the functionalities on the adaptive programs that are on the market.

After installation, the TUPI components become part of the components bar just like a native Delphi component (Figure 1). This allows developers to interact more simply with the components, so that they can work with them in the same way as in developing conventional programs: drag them from the toolbar and drop them in a form. Some components, typically with non-visual characteristics, can also be placed in Data Modules or similar components. The parameterization of the TUPI components is done in the same way as for the Delphi components: using the Object Inspector. In this case, it is possible to create different and directed applications. All the components are common objects (Delphi classes), and in this way it is also possible to create, activate and destroy them in real time through the program, independent of the use of visual interface.

Fig. 1 - TUPI components that are integrated in the Delphi environment

Next we present the main components of the TUPI Toolkit:

INPUT – This is a generic input class that essentially produces a signal (0/1) when the actuator is activated. Various components are derived from this class, which control the mouse, specific keys, joystick, trackball, diverse actuators linked to the PC’s serial or parallel port, and microphone (acting in simple form only as a sound sensor).

MOUSEVIRT (“Virtual Mouse”) – This component is responsible for moving the cursor and for the majority of the functions performed by a normal mouse. Besides the configuration options, the Mousevirt permits users to have total control of the cursor’s actions, such as lateral and vertical movement and clicking. The movement of the mouse cursor can be associated with several types of ballistics (constant movement, accelerated movement, etc.).

3 The choice of Delphi was motivated by the previous experience at the

NCE/UFRJ with a large set of accessibility routines coming from the DOSVOX and MOTRIX systems.

MENUVARRE (“Menu Scroll”) – The main utility of this component is to select from a menu which actions are selected automatically in sequential form. Through an Input, when the desired option is reached, the system executes the function associated with each option.

MOUSEPULA (“Mouse Jump”) – This component automatically positions the cursor at predetermined points on the screen, in cyclical form. An input causes the simulation of a click at that spot. It is very useful to choose specific points on the screen (such as buttons, static menus, icons, etc.).

MOUSETEC (“Mouse Key”) – This component automates the use of special keys that come to be used universally and independent of the applications. A typical use is to associate numerical accessibility functions or cursor movements to the keyboard.

TECFONE (“Phone Keypad”) – This component generates a small conventional telephone or numeric keypad. It is activated by a previously configured actuator or by the Mousevirt component. It can be considered a subset of the Teclavirt.

TECLAVIRT (“Virtual Keyboard”) – This component is the virtual keyboard of the TUPI Toolkit. The usual functions of a keyboard are implemented. The typing process can be by direct selection (positioning the Mousevirt over the key and clicking) or by the scrolling process. This component is highly parameterizable and allows the developer to generate a large number of distinct applications.

SELPONTOS (“Select Points”) – This component allows selection of a point on the screen by scrolling in a rectangular area. The processes available involve two-dimensional linear scrolling or recursive selection of areas by quad tree.

141

Page 4: [IEEE 2008 Virtual Rehabilitation - Vancouver, BC (2008.08.25-2008.08.27)] 2008 Virtual Rehabilitation - TUPI - A library of components for accessibility systems for motor impairments

EDITOR – This is a component that represents a text editor with broad accessibility by people with difficulty in typing. PREDITOR (“Predictor”) –This component takes a series of letters and discovers the probable words that start with these letters. EXECUTOR – This component activates and controls the execution of an external program or script. FALADOR (“Speaker”) – This component is a voice synthesizer of any text. OUTPUT – This device operates external devices (on/off), connected through a serial or parallel port.

VI. ADVANTAGES OF USING THE TUPI TOOLKIT FOR DEVELOPERS OF ACCESSIBILITY TOOLS

The TUPI Toolkit introduces several advantages for developers: a) Significant reduction in encoding time The components were created in view of the fact that the most common functions of accessibility programming are available and ready for use. The drag-and-drop style is very compatible with the RAD process.

b) The programming at the level of calling up specific functions from the operating system is simplified.

For the developer, a habitual difficulty in creating accessibility applications is the need for large mastery of the dozens of application interfaces the operating system offers. The TUPI components bring a great number of these functionalities, making programming at the level of calling up functions from the operating system in a lighter way.

c) Extendibility of functions The components were made using Object-Oriented technology, envisioning subsequent extension, with the concepts of encapsulation. Thus, it is not necessary to change (or in some cases even to know) the internal code of a component to personalize it or expand its functions. The code is open, also permitting broader adaptations, to serve as a base for new developments.

d) Interface among the components The TUPI has different components interface, either internally (one component uses another), in line (one component to work must be associated with another, probably in a pipeline), or externally (one component prepares the execution of another, under the control of some additional code).

VII. CURRENT STAGE OF TUPI DEVELOPMENT The TUPI Toolkit is currently in the final testing stage, and is being used to create prototypes that imitate specific parts of commercial systems.

The following programs have already been created: a) Mouse simulator - This program uses only one

button and the Menuvarre component to select the mouse movement options (up, down, etc.) and to execute click and double click. It uses Mousevirt to control the mouse and the Acionador for actuation. The actuators can be from various categories.

b) Mini virtual keyboard – It uses the Teclavirt component to select a letter from a virtual keyboard drawn on the screen and sends it to an application. The keyboard configuration is obtained from a tree that describes the position and functionality of each key. The keys can be “pressed” by various devices using the generic component.

c) On-screen multiple choice – It uses the Mousepula component to self-position the mouse on the options of “Jogo do Milhão” (a multiple-choice game show very popular in Brazil and sold in a CDROM version, a knock-off of Who Wants to Be a Millionaire). This adaptive system moves the mouse automatically to the clickable options, and the user only waits for the mouse to move to the desired option to activate the actuator.

VIII. CONCLUSIONS The TUPI Toolkit is not a set of applications encapsulated in components, but rather a facilitator for building applications. Hence, its use is aimed at programmers and not at users of adaptive systems, which may be somewhat frustrating to a therapist, professor or user, to whom a ready solution would be desirable. Our idea is to create a base that enables the development of new accessibility software (or programs that incorporate accessibility elements), easily and simply.

The implementation of the TUPI Toolkit was done using the Object-Oriented technique, which the literature points out as one of the most suitable ways to create adaptable and extendable systems. In this way, we expect that new components will quickly become part of it, or even that other toolkits will be built based on open code. The TUPI Toolkit, besides offering powerful free construction tools, also opens the door to new research and projects by universities to introduce accessibility in new and existing systems, at reduced cost.

Due to technical limitations, the Delphi components can only be used in this language. A useful future work would be to adapt TUPI to the Active X technology, thus making it usable in other languages, which we feel, is an easily reachable goal.

Another future project that also appears to be very promising is the creation of an “accessible meta-generator interface”, which can be operated directly by someone who is not a computer specialist, probably a professor, therapist or the user himself. This system would join some components of the TUPI Toolkit to configure a suitable final solution to solve simple problems, and would be adequate to the specific individual needs of disabled person.

We would like to stress that it is fundamental to recognize the importance of developing accessibility tools for motor impaired people. Our observation, within the

142

Page 5: [IEEE 2008 Virtual Rehabilitation - Vancouver, BC (2008.08.25-2008.08.27)] 2008 Virtual Rehabilitation - TUPI - A library of components for accessibility systems for motor impairments

Habilitar (“Skills”) project [9], which uses adaptive tools that could be considered the “TUPI Toolkit precursors”, is that after disabled students gained adaptive access to computers, their relationship with the whole educational environment improved dramatically.

Our great hope is that through the products created with the TUPI Toolkit, many disabled people will benefit. We believe we have contributed to making it possible in Brazil, by creating tools to assist the social inclusion of the motor impaired, making them more productive and more confident.

REFERENCES

[1] IBGE – 2000 Demographic Census – Advanced Tabulation – Instituto Brasileiro de Geografia e Estatística – available online at

http://www.ibge.gov.br/censo/default.php, visited on March 2007. [2] Pescina, G. F., Desarrolando Tecnologia Asistida para personas com

discapacidad multiple en paises en desarrollo. – Third Ibero-American Congress – Iberdiscap 2004.

[3] Disability Information and Resources - http://www.makoa.org/

[4] CRPD - Program "Informática na Educação Especial – also available at http://infoesp.vilabol.uol.com.br/recursos/recurso1.htm, visited on January 2007.

[5] Project Fressa - http://www.xtec.es/~jlagares/indexcastella.htm, visited on January 2007.

[6] Lake Software - http://www.lakefolks.org/cnt/, visisted on March 2007. [7] Silveira, D. and Schmitz, E., Uma Metodologia Rápida para o

Desenvolvimento Visual de Software Orientado a Objetos, Eighth Ibero-American Congress of Higher Education in Computation - CIESC-CLEI2000, Mexico, September 2000

[8] Pressman, R. S., Software Engineering: A Practitioner's Approach, 2004, McGraw Hill.

[9] Naumann, C., Borges, J.A., Souza, S.G., Projeto Habilitar: um experimento para capacitação técnica de cegos e tetraplégicos em redes de computadores - Third Ibero-American Congress - Iberdiscap 2004.

143