Thursday, September 9, 2010

TalkBack, Eyes-Free Shell Refreshed --- Now With End-User Settings


We are pushing out a series of updates via Android Market for TalkBack and the Eyes-Free Shell. Here is a brief overview of end-user visible changes.

Accessibility Preferences

Going by the principle of things should just work as expected , we have long resisted giving in to having a complex set of user preference settings for TalkBack and friends --- in my experience, if you introduce such a settings menu early on, we as software engineers tend to punt on all complex decisions by turning each question into a complex user-facing dialog. That said, it is now time to gradually introduce end-user settings for some aspects of the various accessibility tools.

Accessibility Preferences

Welcome new application AccessibilityPreferences to Android. What this application does:

  • From an end-user perspective, it provides a single place where you will find preference settings corresponding to each accessibility tool you have installed on your phone.
  • For developers of accessibility tools, it provides a simple means of registering a custom program for managing end-user preferences for that tool.

TalkBack installs its user preferences under this tool. You can tweak a number of settings that affect TalkBack behavior including:

  • Control whether TalkBack speaks when the screen is off --- useful to silence status messages when you have the phone turned off.
  • Control whether TalkBack speaks when ringer volume is set to 0, i.e., phone is in silent mode.
  • Control whether the proximity sensor is used to shut off speech.

Over time, we'll add more settings here as appropriate --- but expect us to be conservative with respect to how many settings show up.

Updates To The Eyes-Free Shell

Here is a summary of updates to the Eyes-Free Shell:

  • Changes the proximity sensor logic so that it is only active when the shell is active; this should be more battery efficient
  • Fixes a race condition bug that can trigger when the shell is being exited as an application is being installed/removed


Here is a summary of changes to TalkBack:

  • TalkBack now includes application-specific speech strategies for some popular applications. This provides context-sensitive spoken feedback.
  • Applications that have such speech strategies defined include Facebook, Stitcher and GoogleVoice amongst others.
  • Implements a settings screen that can be used with Accessibility Preferences
  • Available settings:
    1. Ringer Volume (Speak at all ringer volumes, No speech in Silent Mode, No speech in Vibrate and Silent Mode)
    3. Screen Status (Allow speech when screen is off, No speech when screen is off)
    5. Speak Caller ID (checked/not checked)
    7. Proximity Sensor (checked/not checked)

In addition, TalkBack introduces the ability to add application-specific plugins --- expect to see more advancement here in future releases.

AccessibilityPreferences Hints For Developers

If you're a developer of an AccessibilityService, you need to:

  • Implement a preferences screen for your application.
  • Implement this with intent filter:
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.accessibilityservice.SERVICE_SETTINGS" />

Share And Enjoy,