Orca Launching in Edgy -- continued




I'm trying to come up with a way to meet the differing needs with as few changes as possible. First I'll list the main user groups I think we should have in mind:

Use case 1: Screen reader user --

This user relies on using the screen reader to use the Gnome desktop. The most practical way to start Orca in this case is via the boot options on the Live CD or being started automatically on startup on an installed system. Most likely Orca should always be running, though it may be muted. Al's suggestion of a Hot-key would also be very helpful for this group.


Use case 2: Magnifier user --

The low vision user can also start the magnifier by default as above, but should also be able to do so in other ways. Some users may only need the magnifier when using certain applications, perhaps preferring larger fonts at other times. It should therefore be easy to turn the magnifier on and off.


Use case 3: Non-disabled user --

This user might just stumble across Orca and give it a try (because it will be installed on all default Ubuntu desktops, which in itself is good). We don't need to strive to provide any particular functionality for this person but we must be careful not to get in the way. If the program is started by someone just looking around it should still be possible to close it easily. One thing we must certainly avoid is having it start up by default each time with no easy way to disable it. Also, Orca enables gnome access support by default, which is great for core users, but may cause problems for others.


Next, looking for solutions. I was just playing with the gnome menu editor and made an access sub-menu under preferences:

http://people.ubuntu.com/~henrik/images/access-sub-menu.png

Text version:

System -> Preferences -> Accessibility is a menu with the following items:

* Assistive Technology Preferences
* Keyboard Settings (sticky keys et al.)
* On-screen keyboard
* Orca Screen Reader and Magnifier
* Orca Setup (GUI)

This may not be the best way to do it but it serves as a good discussion point. One option is of course to have no menu entry for Orca at all and let it always be started from a terminal, Alt-F2 or automatically. I think that would be unfortunate because a) it seems natural to launch the config GUI from the menu b) Gnopernicus works this way and c) having a menu entry raises the profile of Orca and a11y among averages users and developers.


The first three entries are straight-forward; they open applications that can be closed as you would expect. But the Orca entries are more confusing, partly because Orca runs without any GUI by default and partly because of the keep-alive daemon that re-spawns it endlessly.

In my tests I set up the two Orca entries in the following way, respectively:

1. Launches 'orca', starting in terminal mode
2. Launches 'orca --gui-setup' in normal mode

The reasoning for menu item #1:

The terminal mode is required for sensible behaviour on the first launch. User group 1 answers the spoken questions and the window closes when complete. User groups 2 and 3 will see a terminal come up and get a rough idea of what is happening even if they have no idea what a screen reader is. Some questions are displayed and read out, if sound works.

The reasoning for menu item #2:

Clicking on the second Orca entry gives you the Orca setup GUI. Here you can activate and deactivate the various features. This GUI is probably the best way to configure and activate the magnifier. It's also a good interface for group 3 to figure out what Orca is.

Issues with menu item #1:

* Starting orca the way it is currently packaged for Ubuntu does not seem to work at all because the initial setup session does not work properly so it seems it must be run in terminal mode.

* When running Orca in terminal mode (but launched from the menu) for the first time it runs as it should and when you are done the terminal closes (good), but when you run it a second time (after logging out and back in) the terminal stays open (not good). Closing it kills Orca (and revives?)

* When you first start Orca it sets the AT-SPI gconf key which ensures that AT-SPI starts next time you log in and every time thereafter. This is good if you need it but bad if you don't. The problem is that even though the user is notified that the the framework has been switched on there is no obvious way to switch it off (yes you can go to the g-a-p panel, but this is not obvious to a novice user).

* A related issues is that Orca itself is not selected to start automatically. This is actually a minus for all the user groups: people who want to use Orca would find it simpler if it just started up next time they logged in. For users who are just exploring it might actually be better if both Orca and AT-SPI start at login because if there are issues with it (or just needless resource consumption) they would go searching for where to switch it all off, but only if it's obviously running (and it's not hard to find if you look).


Issues with #2:

* When you start Orca in this mode and it has never been run before it starts the first-use setup in text mode. That would normally be fine, but when you launch it from a menu, not in terminal mode, you only hear the voice (if sound is on) and you don't ever see the GUI.

* If you try to issue 'orca --gui-setup' while Orca is already running you don't get the GUI, but rather some error messages about killing the process. (I guess it dies and is brought back at this point).


A possible solution:

Ideally, we should have just one launch item for Orca that covers all the needs above. It should be simple and intuitive for all user groups, be simple to implement and have minimal text changes (translations have largely been done already) ;)

I think we can get quite far by just making some changes to the first-time setup. It currently reads:

Welcome to Orca setup.
Select desired voice:
1. kal_diphone
2. rab_diphone

etc., ...

I suggest we add this to the beginning:

Welcome to Orca setup.
Select desired setup mode:
1. Continue text-based setup
2. Use graphical setup - includes magnifier settings
Enter choice:

If choosing #1 the setup would continue as it does now. Choosing #2 would:

* set a flag like:
  orca.settings.useGuiSetup = True
* Launch the GUI interface (voiced)
* Closing the GUI window would cause the initial setup to resume, skipping the questions but reading out the final text.

The final text should be changed to:

Setup complete.
Orca and Accessibility support in Gnome will start automatically next time you log in. To disable this feature see the Assistive Technology Preferences. For more information enter 'orca --help' or press Insert+Key while Orca is running.
Press Return to continue.


In addition Orca should cope better with the 'orca' command being issued while it is already running. This is esp. useful for someone trying to launch setup from the Gnome menu, but is also useful for anyone trying to run --setup, --gui-setup, or --help. If you don't know what the key bindings are these are all reasonable things to try from a terminal. At the moment this sends Orca into an endless loop of restarts on my system, only stopped by 'killall orca'.

Finally, the Orca menu item needs to do the right thing each subsequent time it is clicked, whether Orca is already running on not. In fact the menu item could probably just point at a simple shell scrip that checks if Orca is indeed running and then does the appropriate thing.

Case 1: Orca is not running and the user had originally opted for text-based operation. -- Orca starts up in the background saying just 'Welcome to Orca' and resumes normal operation.

Case 2: Orca is not running and the user had originally opted for the graphical setup. -- Orca starts as it would with 'orca --gui-setup'.

Case 3: Orca is already running and the user had originally opted for text-based operation. -- Either open a terminal with the text-based setup or do nothing.

Case 4: Orca is already running and the user had originally opted for the graphical setup. -- The graphical setup window appears.


Ideally the GUI setup window should also have a 'Quit Orca' button in addition to a 'Close' button for use in cases 2 and 4.


Hot key start-up:

The start-up script described above would also be useful for Hot key activation because it would always do the right ting. If Orca is running it would do nothing or launch setup, depending on user settings.


- Henrik



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]