compiz-mag

Revision 4 as of 2006-06-05 16:17:52

Clear message

A simple on-screen keyboard

Summary

A new screen magnifier for low vision users using compiz-based rendering technology.

Rationale

The current magnifier gnome-mag is slow and resource instensive. compiz holds the promise for much better magnification rendering via hardware accelleration.

Use cases

Reading a news website

Take this news page: http://news.bbc.co.uk/1/hi/uk/4752819.stm It has some text and pictures and a great deal of non-essential navigation items (most other newspapers are worse). For the sake of example, let's consider a user who might use 2x zoom to get a general overview of a desktop of webpage layout but would need 8x zoom on normal text to read it.

It would be useful to be able to zoom in on the different elements separately. Imagine that you could select the picture first. Press some hotkey to skip to the picture, and have the picture by itself displayed at 8x zoom where you can pan around. Another keystroke would give you the caption overlayed at the bottom of the picture in a high contrast colour or it could be read out via the screen reader.

You then want to move on to the main body text. You return to the 2x overview page. You press another hot key to highlight some text. The first block of text appears with a heavy bright red (customisable of course) frame around it or with a full rectangle at 50% opacity so you can pick out the block you want. the next hotkey or mouse command would then zoom that text up to 8x, filling most of the screen. It would be wrapped to fit nicely and could be scrolled if needed. It would be as if you selected the text, copied and pasted it into a special app that would magnify it to your liking or read it out if you preferred. You could also select your own fonts.

Document composition

In using a word processor like OpenOffice you can set the font size very large or the zoom to a high factor in OpenOffice itself, which might be sufficient to read the text. However there are several problems:

  • The text entry cursor is narrow and difficult to spot
  • The toolbar buttons, slider widgets, etc. are small and in low

contrast grey tones

  • The menubar menus and context menus are small

You could go for a large high-contrast theme, but in fact you might prefer to keep the buttons and widgets small so they don't take up too much space and distract from the text you are working on.

Solution: You should be able to hover over the toolbar and have the buttons zoomed by 8x and the contrast enhanced. You move the mouse over to the right and the scrolling widget grows a large handle in high contrast that you can easily grab and scroll. The context menus also appear zoomed.

Scope

The must-have features

  • Fixed zoom factors - This could be pre-set by the user, but it should

also be possible to switch zoom levels on the fly with a hotkey

  • Ability to follow the text-entry cursor - This requires AT-SPI magic,

but is a vital feature.

  • Configurability - As many settings as possible should be configurable

by the user (but it can be a simple config file to start with).

Some desirable features

  • Variable zoom factor - Fixed factors may not be exactly want you

want. It would be cool to be able to adjust the zoom level precisely with the mouse wheel, say.

  • Scriptability - Again Orca has shown that being able to tailor the

behaviour of the AT app to your working application can be very useful. This might well apply to the magnifier as well.

  • Fit window to zoom area - If you are working in Gedit and you have

zoomed in to a comfortable level, you now want to make sure that the whole window fits into the viewable area. You then press a hot key and Gedit's window is resized so that it fits.

  • Interaction with screen readers and braille systems - This adds

another level of complexity but could potentially be extremely powerful. You could browse at a moderate zoom level and then have sections of text read out to you.

Design

Implementation

Both use cases need a fair bit of information from the application via AT-SPI and there needs to be custom script knowledge about the application and individual user preferences. In the case of the BBC website the system would also need to know where the useful information usually is located.

Outstanding issues

BoF agenda and discussion

References