JAWS Scripts For Zello
Doug Lee
Last Revised November, 2012

This document describes the scripts for Zello and provides tips for using this application with JAWS. This document can be opened from within Zello via a double press of JAWSKey+F1 (or Insert+F1).

This document is laid out for easy navigation using JAWS HTML heading navigation commands: H will move through all headings, 2 through major sections, and 3 and 4 through any subsections or subsubsections.

Table of Contents

Script Features In Brief

These scripts provide the following commands beyond those available in Zello itself on Windows:

These scripts also provide the following features beyond those provided by Zello itself on Windows:

Finally, there are some experimental features described later in this document.

System Requirements For JAWS Users

There are no known system requirements for these scripts beyond those for Zello itself. However, JAWS versions older than 11.0 have not been carefully tested with these scripts. The scripts were written against Zello 1.16 for Windows and modified subsequently to support various changes in Zello versions 1.18 through 1.22.

Script Installation Instructions

To install these scripts on a new system:

  1. Load JAWS if this has not already been done. This will require administrative privileges on the PC.
  2. Run JAWS as the user for whom the scripts are to be installed. This and the following steps must be performed for each user of the PC who will be using JAWS with these scripts.
  3. Run the script installer and follow its instructions.

How To Use Zello

This section provides brief guidance on general Zello usage.

Signing In

On first launch, the PC Zello brings up a screen from which to create a new Zello account. If you already have one, press Esc on this screen to return to the regular Zello sign-in screen, then log in with your Zello name and password. If you do not already have a Zello account, fill out the account creation form. You can use the "Check availability" button to verify whether the user name you want is available. User names must be at least five characters long.

Adding Channels and Users

If you know a user's Zello name, use "Add a contact" in the Tools menu to add the user to your Contacts list. You will need the user's exact Zello name or email address.

Zello also supports channels, or named discussion areas, in which users may participate as a group. Zello allows some searching for channel names via the "Add a channel" dialog, again reached from the Tools menu. Type a full or partial channel name into the Edit box, then tab to the list of matches. Selecting a match and pressing Enter will add the channel to your Contacts list.

From a channel in your Contacts or Recents list, you can also open a Context menu with the Applications key and choose "Show online users" to get a list of users currently participating in (or listening to) that channel. From any participant in this list that is not already in your Contacts list, you can again press the Applications key to get an "Add user" option with which to add that user individually to your contacts.

Where Your Voice Is Sent

By default, holding down F7 transmits your voice to a person or channel. (This keystroke can be changed in the Control page of Tools/Options.) The selected line in the Contacts or Recents list, whichever is showing, determines where any transmission you send will go. If you are in the History list, beware of this, as the current History list line may not indicate where F7 would begin sending your voice.

What You Will Hear

In normal operation, you will hear all transmissions to all channels to which you are connected. Exceptions to this occur when your status is Away or Busy or if you are in Solo mode with a person or channel.

Special User Statuses

With the scripts running, Ctrl+Shift+S will announce your current status. Press twice quickly to change your status from a popup menu. You can also edit the wording of the "Available" status by choosing "Change status message" from the Tools menu.

If your status is Away or Busy, all incoming messages will be queued without playing. Numeric unplayed message counts will begin appearing visually beneath each person and channel entry in the Contacts list where unplayed messages exist. Clicking on such a number will begin playing saved messages. As you arrow through the Contacts list, these numbers will read between the channel name (for a channel of course) and the online user count for the channel.

There is also a "Headphones" status. This appears to play messages immediately just as "Available" does.

If you change your status to "Offline," you will be signed out of Zello and returned to the Zello login screen.

Solo Mode

You can perform various actions on a person or channel from its Contacts list entry via the Context menu key. One such option is "Enable solo mode." In solo mode, your transmissions still go to the selected person or channel as usual, but only messages from that person or channel will play immediately. Messages to all other persons and channels will quietly queue up as if you were using status Away or Busy.

Solo mode is ended by any of these actions:

Note that arrowing through the list without transmitting or setting another solo mode will not end solo mode.

Message History

The History page, accessible with Alt+V and then the History option, lists all undeleted messages in chronological order. Pressing Enter on a message entry will play that message and begin playing all messages from that one to the end of the list. Esc will close the History list and stop any of this automatic message playing. Pressing Enter on one message while another is playing will abort the playing of one message and start playing the one currently selected.

It is also possible to get a subset of message history from a particular user or channel. From the Contacts list, find the channel or user of interest and press the right arrow key. Press Esc to leave this list and return to the Contacts list.

Some consider it wise to delete history periodically via Context menu entries on list items, in order to avoid bogging Zello down with a massive message backlog.

Handling User Authorization Requests

When focus is on a Contacts list entry corresponding to a user, the available Context menu for the entry may include an "Add user" choice. Activating this will send the user an authorization request. Authorizing a user allows direct messaging between you and that user.

When an event such as an authorization request arrives in Zello, a number indicating how many are pending will appear on the Zello status line to the right of your status. With the scripts running, Ctrl+Shift+E will announce the number of pending events. Pressing this command twice quickly will open a menu of pending events from which you may select one to address.

Useful Tips and Tricks

Here are some potentially useful tricks for improving efficiency in Zello using these scripts:

Searching the Contact List

These scripts provide a way to search the contact list for various types of entries. When focus is in the Contacts list, Use Ctrl+LeftArrow and Ctrl+RightArrow to switch among possible search types and Ctrl+UpArrow and Ctrl+DownArrow to search for the previous or next match. For example, when the search type is "New messages," which is the setting that takes effect when the scripts first load, Ctrl+UpArrow and Ctrl+DownArrow move to the previous and next channel containing new messages, respectively. The possible search types are

New messages
Finds channels and users with unread messages. This is handy when in Busy status with many channels and/or users in the contact list. On finding a channel or user with unplayed messages, you can use Ctrl+Shift+P to play or skim through them.
Disconnected channels
Finds channels that are disconnected. This is useful during bouts of Internet connectivity problems, as Zello can sometimes inadvertently disconnect from random channels in such a situation.
Solo mode
Finds the channel or user in solo mode, if any.
First user
Finds the first contact list entry that is a user as opposed to a channel.
Note that the searches for first user and solo mode expect to find only one result (if any), so there is no functional difference for these searches between Ctrl+UpArrow and Ctrl+DownArrow.

Finding Out Who Last Spoke

Use the Recents tab in the main window to find out who last spoke and from which channel (if any). The top entry in the listView in that tab will indicate the last speaker and channel and how long ago the message was sent. See also the experimental features section for another way to do this.

Finding New Channels

Zello itself includes means for searching for channels, but the results are limited to five matches for each search, and there is no apparent way to page through more results. The Zello web site, however, includes a means for searching for channels and finding all results for a search.

Warning The following directions apply to the Zello web site as of June 1, 2012. As web sites often change, however, these directions may go out of date at some point.

To search for channels from the Zello web site:

Checking Channel Participants

Pressing the Applications key while on a channel in the Contact list brings up a context menu that includes an option for showing the current channel participants. Pressing Enter on a channel line also shows participants. While focus remains in a channel's participant list, JAWS will report the names of users joining and leaving the channel.

Skipping the Rest of the Current Message

Some Zello users can transmit very long messages. If you find it necessary to silence Zello, such as for an incoming Skype call or to hear a screen reader, you can switch temporarily to the History page by typing Alt+V and then h. This action has the side effect of silencing the current transmission. Press Esc to return to the page you were in (Contacts or Recents). This trick may not work starting in Zello 1.17.

Experimental Script Features

Warnings:

Automatic Announcement of Who Is Transmitting

This feature is currently turned on/off by Shift+F2. The feature is off by default and is turned off every time the computer restarts or JAWS is reloaded.

When this feature is enabled, the scripts use an undocumented feature of Zello to announce the following events as indicated:

Hands-Free Magic

This feature is currently turned on/off by Shift+F3. The feature is off by default and is turned off every time the computer restarts or JAWS is reloaded.

This experimental feature is aimed at users of FreeTalk Wireless headsets and other devices that include a button that sends the Alt+PageUp keystroke. The popularity of Skype prompted this feature to appear in some wireless headsets.

When this feature is enabled, Alt+PageUp performs the following actions as indicated:

Note well: If this modified Alt+PageUp functionality is enabled, Alt+PageUp may not answer an incoming Skype call while Zello is in focus. Again though, the special treatment of this keystroke is disabled by default and must manually be enabled.

Known Issues

Zello 1.22 added a Top Channels or Trending Channels tab, but this tab does not provide proper accessibility information and confuses JAWS as to which tab is active in some cases. The tab can be disabled via a checkbox in the Zello Options dialog

Zello 1.22 allows popup notifications when messages are being transmitted or received, but these popup notifications are completely inaccessible to screen readers and are probably best left disabled (unchecked in Zello Options).

This author has found the following problems in Zello 1.17 that did not appear in Zello 1.16:

Further details on apparent zello bugs appear on this author's PC Zello 1.17 Bug List page.