Requirements Questions
The questions below are posed by Western New England College development teams. Answers to these questions will contribute to the development of a set of written requirements for Caribou. Answers to questions are highly encouraged!
- Given that GNOME already has GOK, what is the motivation/need for Caribou?
- There are a couple of reasons why we started a new OSK instead of continuing with GOK:
- The C bindings to the atspi were not going to be ported to the atspi2. We would have needed to develop these bindings before we could do any other enhancements.
- GOK has no identifiable users and was not developed with user consultation. This project was an attempt to change this by doing user testing along with the development. Unfortunately, funding for the grant supporting this work was frozen so I don't know if there are plans to continue the development with user consultation.
We wanted to move the OSK development to python instead of C to benefit from using the same programming language as the other GNOME accessibility applications. BenKonrath
Non technical reasons included that GOK has become stuck 'n' stale and we'd like to innovate in the space. SteveLee
- There are a couple of reasons why we started a new OSK instead of continuing with GOK:
- Is there an identifiable user base for Caribou? Are there end users students could talk to?
There are several people on the GNOME a11y mailing lists who use GNOME a11y tools, and that would be a good place to discuss to get feedback. BrianCameron
- There are AAC users who are currently not at all served by GNOME/Linux.
- Is it safe to assume that the classes of users include MI (Movement Impaired), CLI (Cognitive/Language Impaired) and VI (Visually Impaired)?
Caribou was initially targeting movement impaired users. There were plans to support cognitive and language impaired users as well but not in the intial stage of development. There were no specific plans to support visually impaired users. BenKonrath
- Are there other classes of users that should be included such as HI (Hearing Impairment) and SD (Seizure Disorder)?
Not that I'm aware of. That said, the initial plan for Caribou was to create a flexible architecture to allow AT developers to easily plug in components to do research. For example, the Caribou Window component allows AT developers to easily plug in text entry components. The vision for this was to be able to plug in things like “Dasher”, “Nomon”, or any other text entry mechanism that would benefit from having its text entry window close to the text cursor. There might be opportunities for researchers to use Carbiou as a platform to develop an app for hearing impaired users and users with a seizure disorder. BenKonrath
- How many types of input devices should Caribou support? (e.g., switches, touch screen, track ball, head mouse, etc…)
Most input devices act like a mouse (drive the pointer) , so this is an important use case. However, it is useful to consider other types of devices. For example, it would be good to consider how it should work on mobile devices in the design. BrianCameron
Two and single switch scanning with a range of options re timing. Have a look at Switch Access to Technology - A comprehensive guide for software developers that explains how switch users interact with computers, and what developers can do to include such users.
Mouse pointer mode for JS. TB. Headpointers. Eye Gaze as a speciality - talk to the inference group in Cambridge University, UKDavidColven
The problem with devices that emulate mice is that the OSK needs to consume the mouse event, not the OS. The default behaviour on most distros is to send the mouse events to the X server. Xinput2 might be a way around this. I had planned to solve this in Caribou but I don't know what's happening with this development task. BenKonrath
Emerging bluetooth interfaces (Tekla, Wii). This would not need a hack for preventing the X server to consume the events. Also Tekla follows the Simple Electrical Transducer Standard followed by most wheelchair ECUs and other switch interface manufacturers. JorgeSilva
@JorgeSilva: The Xinput2 is the right way forward for this (at least for GUIs that use an X server). The hack to write a driver for every piece of hardware that provide a non-standard interface for switch events. I noticed that you're developing the Tekla device. If you really must have direct access to the hardware for some reason, at least allow the device to switch between "mouse emulation mode" and "direct access mode". I've seen this design in other products. BenKonrath
- Should Caribou come with default options become easier to launch (e.g., autostart) to ease its use?
- Note that it is important to be able to launch an on-screen keyboard from the login screen. On multi-user servers, many users can use the same login screen. So, it is important to be able to launch the on-screen keyboard in a variety of ways that correspond to significantly different use cases. That said, the login screen does have a fairly simple UI so it is probably acceptable to limit these cases somewhat. In other words, the on-screen keyboard does not necessarily need to be launched with any possible configuration, but just with those that make it reasonably possible for people with different needs to navigate the login process.
What is the need for a new method for text detection? BrianCameron
Caribou used atspi for text detection. Atspi has a lot of bugs and I wanted to research if I could accomplish the same task using without it. I was going to look at how the IBus input method works to see if we could do something similar in Caribou. This would have the added bonus of not requiring users to turn on accessibility, log out and log back in again when trying to use Caribou for the first time. BenKonrath
- What additional keyboards are needed and is there a priority order?
The current developers should be able to help you with this. BenKonrath
Qwerty - because that's what helpers know, Frequency of use (there are a number of these), Alphabetic (rows starting with vowels), Auto-generated from atspi or equivalentDavid Colven
- What is the need for SVG keys?
We wanted keys that could hold an SVG image so that we could serve cognitive and language impaired users. BenKonrath
Images are important to support non-literate users and to provide indicators of macro actions DavidColven
Point of information - the open Mulberry symbol set from http://straight-street.com and designed for AAC users is available as SVG SteveLee
Possible Bugs
The issues below are possible issues that seem counter for correct operation of Caribou. If instructed, we will add these to the bug tracker.
- The default Caribou start-up color scheme is black buttons with unreadable text with Ubuntu 9.10. Appears to be OK with Ubunto 10.04.
- Changing focus off of a text field does not hide keyboard.
- Caribou does not function properly with two monitors (dual screen setup).
These are all bugs, feel free to file them in bugzilla. BenKonrath