Qwitter Readme

version 5.0 beta5

Last Updated: 07/26/11

Important information about upgrading from prior versions

If you are new to qwitter, you may skip this section and continue to the introduction.

A change in how you authorize Qwitter to use twitter

Twitter has recently changed a policy regarding the way client applications such as qwitter are authorized to connect to the service. Because of this change, you will need to login to twitter again the first time you run qwitter 5.

Instead of prompting for your username and password within qwitter itself, qwitter is now required to send you to the twitter web site. The first time you run qwitter 5, your web browser will open and load a twitter web page which will ask you to enter your twitter username and password to authorize qwitter. After logging in, twitter will provide you with a number. Return to qwitter, enter this number and qwitter will again be authorized and will function as normal.

New storage system

Qwitter 5 has upgraded to a more efficient system for storing sessions. With this upgrade, you will see vastly improved memory usage and better stability for sessions containing large numbers of items. This change also prepares the way for further improvements in the future.

This beta release of Qwitter 5.0 does not contain an importer for previous sessions. Your older tweets and settings can not be carried over into this beta. If this is important to you, you may wish to hold off on upgrading until the importer is ready.

Beta Warning

This version of Qwitter 5 is beta-quality software. It is possible that a variety of things, including the database format will change between now and the full release of Qwitter 5. If archiving your tweets is important to you, please consider holding off until the full release, though it may be able to work with this version's databases. We apologize for any inevitable bugs found in this version and request that you report them to the bug tracker so we may handle them and push out updates.


What is Qwitter?

Qwitter was originally designed to be a client for the Twitter microblogging service. However, Qwitter has evolved into a revolutionary application, bringing the speech and sound-based navigation paradigm it popularized on the Twitter platform to several other services. Qwitter's primary advantage is that you can access these services without ever having to open up another window. You never need to leave the application you are working in.

Qwitter is extremely intuitive to use. After reading through this document, it's likely you'll be using it easily and efficiently in no time. We hope you enjoy the software, and feel free to submit feedback and suggestions to the mailing list.

Qwitter works with most screen readers, including Jaws, Window Eyes, system access, Hal, SuperNova and the freely available NVDA. Note that NVDA support requires NVDA 2010.1 or later.

General qwitter concepts

What are sessions?

Sessions are applications running on the qwitter platform that add functionality to Qwitter. The most common functionality for sessions is the ability to interact with particular web-based applications. The first such session was the origional twitter session.

The first time you run Qwitter after installation, you are presented with the new session dialog. Select the type of session you would like to use and then press tab to give this session a name. You will probably want to set Qwitter up to work with Twitter first. We will describe the Twitter session in the next chapter. You can have more than one session for a particular service. For example you can access multiple twitter accounts with Qwitter by creating a new session for each one.

The following commands can be used to work with sessions in Qwitter.

what are buffers?

Buffers are separate areas within qwitter that are used to hold different types of information for review. Each type of session uses buffers in different ways, and we'll show you how to utilize them all Throughout this document.

Each session contains it's own unique set of buffers, and remembers which buffer you are working in within that session. To switch between the various buffers within your current session, use ctrl+win+left and right arrows. Qwitter will announce the buffer you change to, so you'll always know where you are. By default, qwitter places you in the last buffer you've used, even if you restart. Once you've picked a buffer you want to read through, use control+win+up and down arrows to browse the items.

To go to the most recent or oldest item in the buffer, use ctrl+win+home or end respectively. To move forward or back through the list by 5%, press control+win+page up or down. To move forward or back by an hour, use control+win+shift+page up or down. You can adjust how much these commands move in the navigation tab of qwitter's main configuration dialog, available by pressing control+shift+win+o. You can also use control+win+z to undo the last navigation command you issued.

If you wish to manually update the buffer you're in, rather than waiting for it to update itself at whatever interval you chose during configuration, use ctrl+win+u. If you ever wish to delete the contents of a buffer from your qwitter database, you can do so by pressing ctrl+shift+win+delete. When the buffer updates again, the newest items will be back in the buffer, up to the maximum that you configured.

You can also modify the navigation order of the buffers by pressing control+win+alt+left or right arrows to move the current buffer in that direction.

Options when sending messages in qwitter

Often when using qwitter, you will be entering messages that you wish to send, such as in the twitter or google voice sessions described later. All of the message composition dialogs in qwitter share many common characteristics. This section describes the options that you have in these dialogs.

Delaying a message

You have the option to schedule a message to be sent out at a later time. Anywhere that you would compose something, there is a button which brings up a dialog for you to schedule the message. The first option in this dialog is the scheduling method. If you select the interval method, you can set the number of hours, minutes and seconds that qwitter will wait before sending your message. Using the time method, you enter the exact time you wish to send the message. You must enter the time in 24-hour format rather than in am/pm format.

Sending audio with your messages

New in qwitter 4.5 is the ability to attach audio messages to your posts. Any new message dialog contains an attach audio button. Pressing this button brings up a dialog that gives you the option to either record your audio from within qwitter itself or attach an existing file.

Pressing the record button will start the recording and you will be focused on a stop button. Press this button when you are through recording. You will be given the opportunity to play your recording back again. If you are satisfied with what you have recorded, press the attach button. Otherwise you can discard the recording and try again.

Selecting the option to attach an existing file opens a standard windows dialog for selecting the file you wish to upload.

Important note: Though direct messages in twitter are more or less considered to be private, audio content attached to a DM is not the least bit private. This is because of the way the q-audio.net service works. The link contained in the message points to a file that is still publically available. Though only the recipient sees the direct link, it is still very possible for others to find your file. It's similar to hiding a key to your house under the matt and then sending someone a private note telling them where to find the key. The key is still there for anyone to find even if only one other person knows exactly where it is. In the case of audio links, the "key" is still there after your recipient has heard the message.

New in qwitter 5 is the ability to indicate that a tweet links to audio content, even if the file is not hosted on one of qwitter's supported audio services. Including the #audio hashtag in your tweet will inform qwitter 5.0 and later that the first URL in the post is an audio link, allowing others to play the file by pressing ctrl+win+enter

Shortening and unshortening URLs

The idea behind URL shortening is that a long address is replaced by a shorter one. This gives you more characters in situations where you have a limit to work with such as tweets or sms messages . You may select your preferred shortener from the Miscellaneous tab of the global Configuration dialog, available by pressing control+shift+win+o. Within any dialog where you would compose something, you will find buttons to shorten or unshorten any URL in the message.

If your URL starts with "http://" or "www." (no quotes), it will be automatically detected. Pressing alt+s or clicking on the "Shorten URL" button will replace your long URL with a shorter one. If the URL you want to replace isn't automatically detected, you can select it and press alt+s which will use your selection. If more than one URL is detected, you'll be presented with a list allowing you to select the URL you wish to shorten.

Translating messages

In any message composition dialog, you can translate your message into another language with the translate button. You will be given the opportunity to select what language the message is written in and what language it should be translated into.

In the twitter session, you can also translate tweets that you are reading. We describe this in a later section

Keyboard Help

We Highly recommend that you read all of this document to get a complete understanding of how qwitter's various functions work. After you have done that however, there is a way to quickly remind yourself what a particular keystroke does. The keyboard help mode can be turned on by pressing control+win+shift+k. In this mode, pressing a qwitter command will inform you what that keystroke does within the current session. Press control+win+shift+k again to exit keyboard help mode.


Qwitter is actually a very flexible piece of software. Most of this document discusses qwitter's default behavior. Pressing control+win+o will bring up a configuration dialog with options for the current session. These options will be described in the chapter for each session. Pressing control +shift+win+o will bring up the main configuration dialog with options that apply to all of qwitter.


What is Twitter?

Twitter is an insanely popular micro blogging service, that is, a service which allows you to post short little chunks of no more than 140 characters of text to the web at a time and have these updates, or tweets, as they are called in twitter speak, read by your followers, or the people who are following you. If you don't currently have a twitter account, you may create one

Qwitter was originally created to make using the Twitter system as easy and efficient as possible. There are many advantages to using a Twitter client, and qwitter in particular. Here are just a few:

logging into twitter

The first time you open a twitter session, your web browser will open and load a twitter web page which will askyou to enter your twitter username and password to authorize qwitter. After logging in, twitter will provide you with a number. Return to qwitter, enter this number and you will be ready to get started. The following sections will tell you everything you need to know about using Twitter.

Note: there have been a few reports of trouble connecting to twitter when certain firewalls are in use. The most common problems are with the Vipre firewall. If you are unable to connect, you may need to add an exception to the firewall. In the case of Vipre, you want to add twitter.com as a web exception. Generally, you either need to create an exception for twitter.com or for the qwitter application itself.

about API calls

Throughout this chapter, you will see references to API calls. Twitter has a limit on how much data you can get from the site in a given hour. Any time you use qwitter or any other twitter client to download tweets, it counts against this limit. Press control+win+a to check how many API calls you have left for the hour and how long until your limit will be reset.

In most cases, one call to twitter's API can get 200 tweets. By default, Qwitter will only use 1 API call for any operation. You can change this in the default settings tab of the buffer configuration dialog, available with control+win+alt+o. This dialog will be fully discussed in a later section. You need to always keep this fact in mind whenever changing a setting that will use more API calls than the default. We have chosen tdefault settings that will insure that you should not run up against your hourly limit.

Buffers for Twitter

In a Twitter session, there are four default buffers, or collections of posts. They are home, direct messages, sent, and mentions.

The home buffer holds all received tweets, except for direct messages. These are the tweets of the users you have chosen to follow.

The direct messages buffer holds any direct messages you receive. Direct messages are a way of sending a message that only the person that you want to receive the message can see, or vice versa.

The sent buffer, logically, contains all the tweets and direct messages that you've sent.

The mentions buffer contains all of the tweets that contain mentions of your screen name. In twitter, if you make a comment that someone wants to respond to, they can make what is referred to as a mention, or reply. From the website they would have to type an @ followed by your username. However in qwitter we take care of that. (see the section on replying.

New in version 5, qwitter now utilizes a newer feature of twitter to instantly update your Mentions and Direct Message buffers. Unlike all other buffers in Qwitter, they are automatically updated instantly as soon as you receive a new message, without waiting the normal length of time for an update.

The buffer configuration dialog

There are a few options that can be set differently for each type of buffer. Control+win+alt+o will bring up the buffer configuration dialog. The default settings tab will set the defaults for any new buffer that you create, such as searches or individual timelines. You can check the apply settings to all buffers checkbox to use these settings for buffers that already exist.

This dialog has a tab with settings for each buffer. When you open the dialog, the tab for the buffer that you are currently working in will be the default. If you change buffers while this dialog is open, the active tab of the dialog will change to match your current position. The settings available in this dialog are described below.

The first option is the update interval. This allows you to choose how often qwitter checks for updates in a given buffer. The default is 3 minutes. This is the minimum in the default settings tab. You can set a particular buffer as low as 1 minute, but this is not recommended. If you are not careful about this, you may run out of API calls.

Next we have the max number of tweets to retrieve option. This is basically exactly what it says: how many tweets should qwitter download at once? The default is 200, which is the highest allowed by twitter.

If the previous option was set to 200, you have the option of using more than 1 API call if necessary to get caught up on tweets. The next option is the maximum number of API calls to use. Each API call gets up to 200 tweets. Again, this will use more of your hourly API call limit.

The next option controls whether this buffer is muted. If it is checked, you will not be notified by sound or speech when new items arrive in this buffer during an automatic update. If you manually check for updates, you will get spoken feedback without sounds.

The next two options determine how qwitter formats information. The spoken template specifies how tweets in this buffer will be spoken, and the clipboard template sets the format used for copying them to the clipboard. First you will find two checkboxes, allowing you to specify that the default templates should be used. If these checkboxes are unchecked, you will be able to set a different template for this buffer. The default templates can be modified in the twitter configuration dialog, available by pressing ctrl+win+o. For more on how to use these options, see the templates section.

following and unfollowing

To follow the sender of the current tweet, or someone mentioned in a tweet, use control+win+l. If you wish to select someone other than the person that comes up as the first entry, be sure to press down arrow first. Use your screen reader's read current line command to see what is selected. You can also fill in a user name manually.

If at any time you no longer want to get a particular user's tweets in your home buffer, unfollow them with control+shift+win+l. The sender of the current tweet is the default option but you can also enter a different user name manually. You can also block a user from following you, or report their tweet as spam from this dialog.

Blocking and unblocking users

As just mentioned, the unfollow dialog (ctrl+shift+win+l) also contains an option to block a user from following you. You can view a list of users that you have blocked by pressing ctrl+win+backslash. The information that is presented for each user can be customized with a template. See the section on templates for more information. To unblock the selected user, press ctrl+win+delete.

posting updates

post a new tweet

To post a new tweet, press ctrl+win+n. It will bring up a dialogue and place you in an edit field. Just type away. Twitter limits you to 140 characters, so if you go over this limit qwitter will make a sound to let you know. (Note: Characters are anything you can type, whether it be a letter, punctuation mark, number, symbol, or space.).

If you're curious to know how many characters you've used up so far, use your screen readers read application title command. It will say something along the lines of "new Tweet - 40 of 140," where 40 is the number of characters you've already used. (Believe me, this feature though small, is a very useful one.)

When you're done writing your sage 140 character remark of wisdom, press enter. You should hear the tweet sent sound, and qwitter (via your screen reader) will announce "update posted."

Reply to a tweet

Remember us talking about mentions and replies earlier? Here's where we find out how to make them. When you're reading your list of tweets, and you come across one you want to reply to, use ctrl+win+r. It'll bring up a dialogue very similar to the new tweet dialogue.

Just type your reply, and press enter. Take special notice of your character count after you start typing, as part of your available characters go to showing who you're replying to. As before, checking your title will give you an idea of how many characters you have to work with.

This dialog box also contains a button to mention all users in the selected tweet. This is an easy way to make sure that all of the people involved in a conversation remain in the loop. Please note that the more users you mention in this way, the fewer characters you will have for your actual message.

Post a direct message

To post a direct message, find a tweet from the person you wish to DM, and press ctrl+win+d. The same type of dialogue comes up. (Note, you can only direct message people that follow you. This is a twitter rule, not a limitation of the Qwitter client. Without this limit, everyone would be flooded with dm spam and that feature would be even more useless than email.)

Important: Please see the section on attaching audio for an important note about using that feature with direct messages.

Deleting a tweet you have posted

It happens to all of us. You reply to the wrong person, or send a public tweet instead of a direct message. Or maybe you simply realize that what you just posted doesn't deserve to see the light of day. If for any reason you wish to delete one of your tweets, simply locate the offending tweet and press control+win+delete.

view a tweet

You can view any tweet by pressing control+win+v to bring up the view tweet dialog. Also in this dialog, there is the retweet checkbox. If you check this and press the ok button, the tweet is posted as a retweet. If unchecked, the current tweet is posted as a regular update. Press cancel if you don't wish to do anything with this tweet.

Other commands for working with tweets

Following are some commands that make your life easier when working with tweets. We plan to add more of these in the future, and if you have any suggestions, be sure to let us know.

Interacting with tweets

There is now an easy way to quickly activate a link that is posted in a tweet. Pressing control+win+enter will interact with the first URL that is mentioned in a tweet. In most cases, the given web page will be opened in your default web browser for you to view. However, if the link points to an audio post that has been recorded with one of the supported audio posting services, or the tweet contains the #audio hashtag, qwitter will play the content directly without the need to open any extra windows. By default, qwitter will alert you when a tweet links to audio content that you can play within qwitter. To stop the audio playback, press control+win+enter again while focused on the same tweet. In adition to qwitter's own audio service, q-audio.net, Qwitter can currently automatically play posts found on twaud.io or audioboo.

Translating tweets

If you receive a tweet written in a language you do not understand, Qwitter makes it easy to find out what was said with the help of google's translation service. Press win+alt+t to open the translate dialog. This dialog allows you to indicate which language the tweet is written in, as well as which language you would like the message translated into. If you are unsure of the original language, you can select autodetect and google should be able to figure it out. This is the default.

The translation is displayed in a view tweet dialog. Press escape when you are through reviewing the contents of the message.

Please note: Of course, this is a completely automated process and the results, though generally very accurate, can not be guaranteed to be correct.

working with favorites

If you come across a tweet that you really appreciate, you can add it to a list of your favorite tweets by pressing alt+win+f. To remove a tweet from your favorites list, press alt+shift+win+f. You can also remove a favorite from within the favorites list with control+win+delete

To bring up a buffer containing your favorites, press control+win+alt+f. To bring up another user's favorites, press control+shift+win+alt+f. This will bring up a dialog for you to select the user who's favorites you wish to view. The first option will be the sender of the current tweet. You can press the down arrow to select any other user mentioned in that tweet. Use your screen reader's read current line command to see what is currently selected. You can also enter a different user name manually. You can dismiss a favorites buffer with control+win+apostrophe.


Retweeting a tweet

If you come across a tweet that you find interesting in some way, you can post it again for your followers to see. This is known as a retweet. Retweets are marked with "RT @username" before the tweet text. To retweet the current tweet, press control+shift+win+r. In the miscellaneous tab of the twitter configuration dialog, You can choose whether you want to add a comment to your retweet. The first setting is recommended. In this mode qwitter will ask you each time you press the retweet command. The second mode will assume you want to send the retweet automatically without comment. The third option will simply assume that you want to comment.

If you are adding a comment, the tweet is shown in the retweet dialog so you can edit it at your leasure. Once you're done, press ok and the tweet is posted.

viewing retweets

To view retweets, press control+win+alt+r. This displays a dialog asking you which type of retweets you would like to view. There are 3 options: my friends retweets, my retweets, and my retweets that have been retweeted by friends. These options are pretty self-explanatory. When you have made your selection, press ok. A buffer containing the type of tweets you selected will be created. Note: this is a new feature of twitter, and may still have some bugs. This also means that some other twitter clients have not yet switched to the new method of posting retweets, so you may not see a lot of tweets in this buffer. Only tweets that are posted through qwitter without comments will appear in these buffers.

Searching for tweets

The search function of twitter allows you to search for a word or term in publically available tweets across the twittersphere. To begin a new search, press control+win+/. This will bring up a search dialog. If the current tweet contains any hash tags, you can select them by pressing down arrow. Use your screen readers read current line feature to see what is selected. Hashtags are used by people on twitter to make it easier to search for tweets about a given event or topic. For example people attending the 2010 CSun technology conference tagged their tweets with the hashtag #csun10 to make them easy to search for.

After you have typed in your search term, there are a couple more options you can choose. The first is a checkbox that says "persistent search." If checked, this option stores your search results in the current session, so that if you use the same search term ever again from that session, you'll be able to see the previous results. The second checkbox, save search, tells qwitter that you want this search to come up in a buffer every time you restart qwitter. For searching, each API call can bring up 100 results. The next option sets the number of posts to retrieve during each update, and the default is 100. If this remains at the default, the next option will be the max API calls to use per update of this search. The default will be whatever you set in the default settings tab of the buffer configuration dialog. Click OK, and a search buffer will be created and you will be placed in this buffer. Note that if you create a saved search, Qwitter will automatically save posts in-session.

Note that these search buffers act just like any other buffer and that they will update as new results come in or if forced to by the force update keystroke. To dismiss a search buffer, or any dismissable buffer, press control+win+apostrophe.

Searching for a user

If you are looking for a particular person on twitter, but do not know their user name, qwitter can help you find them. Pressing control+shift+win+/ will bring up the user search dialog. Simply enter the person's real name, and qwitter will provide up to 20 accounts that match your search term.

The information that is presented for each user is the same as in the followers and friends buffers, and can be customized with a template. See the section on templates for more information.


How filters work

Filters allow you to search a particular buffer for a keyword or term. To bring up the filter dialogue use ctrl+shift+win+f. You will be focused on the edit box where you can fill in your search term.

If you tab from there, you have two options that customize how your filter will be applied. The first is the list of available fields. Select each field in this list box that you would like the filter to check. The next option is the excluding checkbox. IF you leave it unchecked, it basically acts like a find function. Qwitter will find all the tweets with your search term in the buffer you're filtering and put them all in a new buffer. However, if you use the excluding checkbox, it will instead filter out all of the matching tweets from your chosen buffer.

The next option is the replace source buffer checkbox. If this is unchecked, the source buffer will remain available along with the filter results. If the replace source buffer checkbox is checked, the original buffer will be replaced by the filter buffer until you dismiss it. This is probably most commonly used in combination with the excluding checkbox. With either setting, you can use ctrl+win+apostrophe to dismiss the buffer when you're done with it. Filters will last until you dismiss the filter buffer.

You can also create several filters at once so they work together. When you are finished setting the rules for the first filter, press the add button to enter your second filter. The dialog contains a list of the filter rules you have set up so far, and you can pres the remove button if you decide you don't want a particular rule.


Real world examples make it clear how powerful filters can be. Here are some common ways that you can mix and match the options to get useful results.

Here's an example of stacking filters. You could set an excluding filter to remove #spymaster from your home buffer, then continue to add another excluding filter to remove automatic tweets about what people are listening to with the #nowplaying hashtag. Now you have a buffer containing everything in your home buffer without things that annoy you. You can add as many filters as you like.

Advanced Filtering with regular expressions

Advanced users may wish to construct more complicated filters. Qwitter's filtering system has a checkbox which allows you to use regular expressions in your filters to match exactly what you want them to match.

This is a very advanced filtering language which is far beyond the scope of this document, but it is also very well documented on the internet. It is not at all necessary to know anything about this to use filters effectively, but if you are interested you can search wikipedia or google for "regular expressions" for a vast supply of information and examples.


What are lists?

Lists allow you to put various twitter users into a group that you can monitor easily. With qwitter, lists will appear in their own buffer. There are 2 kinds of lists, public and private. Public lists, as the name implies, can be seen by anyone, and are useful for letting others see groups of resources or things you find of interest. Private lists on the other hand are only visible to the person that creates them. Some popular uses of lists include grouping family members or friends together in one place, listing a particular type of resource (whether it be a certain type of news, community related information, or something else), or twitter users that share a common interest. It's all up to what you want to do with it.

The List Manager

At the core of lists in Qwitter is the list manager. It is accessed with alt+win+l, and allows you to view all the lists you've created, as well as any other lists from other users that you subscribe to. The list manager is also where you add, delete, and edit lists, as well as subscribing to lists from other users. There is also a spawn list button, in case you close the buffer for a list and wish to reopen it.

Adding and deleting users from lists

To add/remove a user to/from a list, find their username in a friends or followers buffer or locate a tweet of theirs. Type ctrl+alt+win+l to add the user or ctrl+win+shift+alt+l to remove the user. It will bring up a combo box, where you can edit the username if you wish, then press enter. Next, it will ask you what list you want to add or remove the user from. Use up and down arrows to choose the appropriate list, and press enter.

Viewing lists created by others

You may also wish to follow public lists that other users have created. To do this, press win+alt+shift+l. This will bring up a dialog for you to select the user who's lists you wish to view. The first option will be the sender of the current tweet. You can press the down arrow to select any other user mentioned in that tweet. Use your screen reader's read current line command to see what is currently selected. You can also enter a different user name manually.

At this point, the list manager will open, displaying all of the public lists that person created, as well as other lists that they are subscribed to. Selecting a list and pressing the subscribe button will inform twitter that you wish to follow that list. You will appear in the list of subscribers, and it will appear as one of your lists when you open the list manager with win+alt+l. If you are already subscribed to a list, this button changes to an unsubscribe button. Pressing the spawn button will open a new buffer for the list.

Viewing the members and the subscribers of a list

When you are browsing the buffer for a particular list, you may want to quickly see which users this list contains, or which other users follow this list. Press alt+win+left bracket to get a buffer containing a list of users that subscribe to this list. This is similar to the list of followers for an individual user. Press alt+win+right bracket to get a buffer containing a list of the users in this list. This is similar to seeing who an individual user follows.

The information that is presented for each user is the same as in the followers and friends buffers, and can be customized with a template. See the section on templates for more information.

When viewing the members of a list, You can also remove a user from a list by pressing control+win+delete from this buffer.

Exporting tweets

Qwitter also supports exporting tweets. As of this release, posts can be exported to plain text files. Other formats may be added later.

Press control+win+e to open the export dialog. In the format tab, press the save as button to open a dialog box to select where you would like to save the file. If you intend to save multiple sets of items, you can select the export more checkbox and the dialog will come back up when the export is complete.

Now press control+tab to select the items tab. The first option is which buffer to export from. The next option allows you to customize how the posts will be exported using a template. The range option has three options. All (bottom to top) will export the entire buffer with the oldest tweets first. All (Top to bottom) will export the entire buffer with the newest tweets first. Be careful using these options with a very large buffer, such as the home buffer. The custom option allows you to specify the range of posts to be exported.

Using the custom option, the next two fields will ask for the index of the first and last post to export. Pressing control+win+space on a post will speak the item number at the end of the tweet, or you can use $index somewhere in your templates.

Once you have set the options, press the OK button to export the selected tweets.


Twitter has a feature that can show you what some of the most popular topics are at any given moment. There is a list of trends for all of twitter, as well as specific lists for trends in certain locations. To bring up a buffer containing the current top trends on twitter worldwide, press control+win+t. To see trends for a specific location, press control+shift+win+t. This will bring up a location selection dialog. First choose whether you want to look up trends for an entire country, or for one town or city. Then press tab to choose a location from a list and press enter to see a buffer with trends for that area. Dismiss the buffer with control+win+apostrophe. Note that these trends are in order with most popular at the top, and when you first pull up the buffer you'll be starting at the bottom.

The public timeline

All tweets posted to twitter are available in the public timeline, with the exception of users who have their tweets protected. You can view a snapshot of the public timeline with control+win+alt+p. This will bring up a buffer with the latest 20 tweets. Note that with the popularity of twitter, tweets are constantly coming into the public timeline by the thousands. Update the buffer with control+win+u for another sample.

Listing followers and friends

To bring up a list of your followers, press control+win+left bracket. Alternatively, to bring up a list of your friends, twitterspeak for people you follow, use control+win+right bracket. Note that these lists may take a while to load, depending on how many friends or followers you have. You can also have qwitter keep track of new followers and those who stop following you. Bring up your followers list with control+win+left bracket and wait until the list is loaded. Then press control+win+alt+left bracket. Qwitter will create a new buffer containing the list. The first time you do this, all of your followers will be reported as new. When you follow these steps in the future, qwitter will list who has started or stopped following you.

You may also add the shift key to these commands to view the followers or friends of a different user. This will bring up a dialog where you can select a user. The sender of the current tweet is the first option in this dialog. You can select anyone mentioned in the current tweet by pressing down arrow. Use your screen readers read current line feature to see what is selected. You can enter a username manually as well. With these commands, Each API call can get up to 100 friends or followers. There is an option to set how many will be retrieved, with a default of 100. If this stays at the default, there is an option for the maximum API calls to use. This will start out with the setting you chose in the default settings tab of the buffer configuration dialog. When your done, press ok. This will create a new buffer containing that person's followers or friends. Dismiss the buffer with control+win+apostrophe.

Note: Just like any other buffer, you can use all standard keystrokes for unfollowing/following, replying, direct messaging, etc. on these users.

Note: the extra information spoken about each user can be customized with the friends and followers template. See the section on templates for more information.

Examining your social Network

Once you have brought up both your lists of followers and friends, you can easily do some interesting comparisons of the lists by pressing control+win+alt+right bracket. This gives you the option to see three different aspects of your social network on twitter.

Getting the location of a tweet

Twitter has a feature that allows people to include exact location information with their tweets, and Qwitter makes it easy to hear this information. If the sender's client is including this geolocation data, simply pressing control+win+g will tell you where the person was when they wrote a given tweet. Pressing control+shift+win+g will display the same information in a text box so that you can review or copy it.

This is a relatively new feature of twitter, and some clients may not support it yet. Also, people can choose not to participate with this feature. Therefore, this will not work with all tweets. By default, qwitter will alert you when location information is available.

You also have the option to input latitude and longitude coordinates manually. Press control+win+shift+alt+g and Qwitter will prompt you for the information. If the current tweet contains geolocation data, those coordinates will be filled in by default. The coordinates you enter will be looked up and the location will be displayed in a text box.

Note that qwitter can only read geolocation data provided by others. Qwitter can not add geolocation data to your tweets.

device notifications

Twitter can also send tweets to your mobile phone via text message, if you have it configured on twitter.com. These are known as device notifications. You can decide who's tweets you'd like to receive on a per-user basis. To change this, find a tweet from the user you'd like to change, and press control+win+shift+d. This will toggle the state of that user's device notifications on. Pressing it again will turn notifications off.

Editing your profile

You can change the information listed in your twitter profile from qwitter. Press control+win+shift+p to bring up a dialog where you can change any of the fields in your profile.

Getting Information about a user

Viewing a user's tweets

You may choose to view the individual timeline for any user. Simply press control+win+i. This will bring up the individual buffer dialog. The sender of the current tweet is the first option in this dialog. You can select anyone mentioned in the current tweet by pressing down arrow. Use your screen readers read current line feature to see what is selected. You can enter a username manually as well. By pressing tab, you can choose how many tweets you want to get with each updates. If you select 200 you can also set the max API calls to use per update. Each API call can get 200 tweets. By befault this setting matches what you set in the default tab of the buffer configuration dialog. When your done, press ok. This will create a new buffer containing that person's latest tweets. Dismiss the buffer with control+win+apostrophe.

Determining a user's relationship to yourself

You can easily find out what kind of relationship exists between yourself and another user on Twitter. Press control+win+alt+semicolon on a message to have Qwitter announce the type of relationship which exists between you and that user. You will hear who is following whom once the information is retrieved. Note that this operation requires one API call.

You can also press control+win+alt+shift+semicolon to check the relationship between any two users. A dialog will come up where you can indicate which two users to check. You can choose between your own username, the sender of the current tweet or anyone mentioned in the tweet. You can also type in any other username you wish.

Viewing a user's profile

There are 2 ways of accessing the information listed in another user's Twitter profile.

Muting qwitter

You can easily configure exactly what new content you want Qwitter to notify you about. Each session and buffer in Qwitter has it's own independent mute setting. When a buffer is muted, automatic updates will not play any sounds or say anything when new items come in. Checking for updates manually will provide spoken feedback without sounds when the buffer is muted.

You can choose to only mute particular buffers. Press ctrl+alt+win+m from within a buffer you want to mute. Also, each buffer's tab within the Buffer configuration Dialog Contains a mute checkbox for that buffer. Muting a buffer only mutes notifications of incoming tweets for the buffer. It does not mute other sounds such as when you exceed the max tweet length or reach the top or bottom of a buffer. If you have used previous versions of Qwitter, think of this as a mute received mode that is now buffer-specific.

You can mute an entire session by pressing ctrl+win+m. There is also a session mute checkbox, which can be found in the sounds tab of the session configuration dialog, accessible with ctrl+win+o. Unlike the buffer mute, this option mutes all sounds for this session.

It is also possible to globally mute all Qwitter sessions. To do so, so as to hear no sounds at all from the program, press control+shift+win+m.

Configuring the twitter session

From within a Twitter session, you can open the Twitter configuration dialog by pressing control+win+o. This dialog box controls configuration options that only effect the current twitter session. We generally suggest leaving these settings at the defaults until you have used qwitter for a while, but we'll briefly touch on each of them in the sections below. Many of these options are discussed more fully in appropriate places later in this document. This dialog is divided into sections, or tabs. Press control+tab and control+shift+tab to navigate between the various sections. Press the ok button when you are finished.

Sounds tab

The first option on this tab allows you to choose a soundpack. Qwitter only comes with one soundpack, but people have contributed many others which are available for download at Soundpack Central. When you download a soundpack, unzip it to the sounds folder where you have installed qwitter. If you kept the defaults, you would unzip the soundpacks to c:\program files\qwitter\sounds.

The session mute checkbox allows you to easily mute all sounds and spoken update notifications for this session. You can also leave this box unchecked and control the mute status for each buffer separately.

Templates tab

The options in this tab allow you to configure a few of qwitter's templates. These concepts are described later, and you do not need to touch these options when setting up a twitter session for the first time.

Most templates are set in the buffer configuration dialog. The templates in this tab are those that either effect newly created buffers or simply can not be set separately for each buffer. As a convenience, this tab contains a button to modify existing buffer templates, which simply opens the buffer configuration dialog for you.

There are also templates that control the format of outgoing replies and retweets. It is strongly recommended that you leave these settings at their default, since these are the standard twitter conventions and should not be changed.

Miscellaneous Tab

First we have DM safe mode. This is the one option you may wish to change your first time. If checked, this will make it so that when you reply to a direct mesage it will reply as a direct message, rather than a public reply. Also, it will stop you from retweeting direct messages.

When The next option is turned on, qwitter will ask you for confirmation when you delete tweets or direct messages that you have sent.

The option labeled perform standard actions with home/end keys" will change the behavior of those keys. With this turned on, pressing them will jump to the start/end of the current line rather than the start or end of the entire item you are writing.

The next option allows you to select your prefered URL shortener. When posting tweets, qwitter gives you the option to use one of several URL shortening services to make web addresses shorter and give you more room to type.

The next setting controls the way retweets are sent. See the section on retweets for the details of these options.

The last option on this tab is reply to self. If unchecked, qwitter will not allow you to post a reply (You'll learn about those later) to yourself.

The template system

It is easy to customize how qwitter announces information. The format is controlled by templates. Templates are strings of text that contain instructions for qwitter on what to speak or copy to the clipboard. These instructions begin with the $ sign. In the simplest and most common usage, you just place variables in the text which qwitter replaces with the appropriate information. The variables you can use are described in the following tables. There are also conditional templates, but these are described later and are not necessary to understand in order to start using templates. If for some reason you wish to have Qwitter actually use $ in your templates, you would indicate this by writing $$. Braces are also special characters in templates, so to use one of these you would indicate it by writing ${{ or $}}.

Most of the templates are configured for each buffer in the buffer configuration dialog, accessible with control+alt+win+o. The templates tab of the twitter configuration dialog, accessible with control+win+o, contains templates that are used when creating new buffers, and a few for formatting tweets you send.

templates for formatting tweets

The templates for specifying how qwitter formats tweets are set in the buffer configuration dialog, accessible with control+win+alt+o. The tab for each buffer has a set of two template options. The speech output and the format of tweets copied to the clipboard can be set separately. The twitter configuration dialog, accessible with control+win+o, also contains a new generic buffer template that will be applied to any new buffers as well as a template for search results. The following table lists variables that you can use to customize the output.

Variable Description
$time The exact time the tweet was posted.
$date The date the tweet was posted.
$when An Estimate of how long ago the tweet was sent.
$name The name of the person who sent the tweet. Note that $name is unavailable in the search template. This is a limitation of twitter.
$screen_name The screen name of the user who posted the tweet|
$message The text of the tweet.
$from The name of the twitter client that was used to post the current tweet, or web if it was posted directly on twitter.com.
$index A number representing the tweet's location in the buffer, with 1 being the newest.|
$total The total number of tweets in the current buffer. This is most useful in conjunction with $index. For example, $index of $total might say 30 of 165.
$geo Indicates whether or not geolocation data are available for a tweet. Best used as part of a conditional template (see below).
$dm Indicates that a tweet is a direct message. It's mainly used for the sent buffer as part of a conditional template in combination with $rcpt_name
$rcpt_name The recipient of a direct message. It's mainly used with the sent buffer as part of a conditional template with $dm.
$nl Will create a new line in the output. Useful in clipboard templates.

Templates for formatting user information

There are also templates that specify what is spoken when qwitter lists information about users. These are located in the templates tab of the twitter configuration dialog. The new followers/friends buffer template determines what is spoken when viewing lists of friends or followers. The user info template determines the items spoken when control+win+semicolon is pressed. The following table lists the available variables for these templates. In addition to those mentioned below, $index, $total, and $nl also work as previously described.

Variable Description
$name Will be replaced with the user's real name.
$screen_name Will be replaced with the user's screen name on twitter.
$location Will be replaced with any location information the user specified in their profile.|
$bio Will be replaced with the users bio.|
$url Will be replaced with the address of a user's web site if one was set.|
$followers_count Will be replaced with the number of followers a user has.
$friends_count Will be replaced with the number of people a user is following.|
$tweets_count Will be replaced with the number of tweets a user has posted since joining Twitter.|
$when Estimates how long ago a user joined twitter.
$date Will be replaced with the date on which the user joined twitter.
$time Will be replaced with the exact time that a user joined twitter. Best used right after $date.
$local_time Will be replaced with the current time in the user's local time zone.
$local_date Will be replaced with the date in the user's local time zone.
$last_tweet_when Estimates how long ago a user last posted a tweet. This is only available in the friends and followers template.|
$last_tweet_time Gives the exact time of a user's last tweet. This is only available in the friends and followers template.|
$last_tweet_date Gives the date of the user's last tweet. This is only available in the friends and followers template.|
$protected Indicates whether a user has protected their tweets.
$notifications Indicates whether you have turned device notifications on for a user

Conditional Templates

Conditional templates allow you to have more control over what qwitter speaks based on the contents of the variables you use. Qwitter's default templates already contain some useful ones. If you don't understand the following discussion or aren't interested in conditionals, you can ignore them since their use is optional.

The format for a conditional template looks like this:


The {if_false} part of the definition can be left out if you don't want qwitter to say anything if the condition is not met.

We will provide Some examples to better demonstrate how this works. The simplest use of conditionals simply tells qwitter what to say if a variable is set to true or false. The sent buffer's default format uses the following conditional to determine if a tweet is a direct message and speak the recipient if it is.

$if(dm){DM to $rcpt_name:}

In this case, this part of the template says nothing if the message is a normal tweet since the {if_false} section was left out.

A similar example is the handling of geolocation data. Since most tweets don't contain this information, the default template flags the ones that do by using the following conditional.


Now let's look at an example using both {if_true} and {if_false} statements. You could put the following conditional in your user info or followers/friends template to indicate whether a given user has protected his or her tweets:

$if(protected){tweets are protected}{tweets are public}

Conditionals can also use instructions known as relational operators. Note that you may need to raise your screen reader's punctuation level or read a character at a time to hear this part correctly. One possible usage would be to have qwitter speak a different message depending on how many people follow a given user. This sample conditional could be used in the user info or followers/friends template to point out those users with a significant following.

$if(followers_count >= 1000){popular}

Relational operators are far more powerful than this. A complete discussion of potential uses is beyond the scope of this section. Here are a list of the different relational operators you can use:

Operator meaning
== Equal to
< Less than
<= Less than or equal to
> Greater than
>= Greater than or equal to
<> or != Not equal to

Searching the internet with bing

Now you can search the internet using Microsoft's Bing search engine from anywhere on your desktop with qwitter. Simply press control+shift+win+n, select Bing and name the session.

Searching for web pages

To start a search, press control+win+/. This will open the bing search dialog. Type in your query and press enter. Each search that you conduct through qwitter will be held in it's own buffer. You will be placed at the top search result, and you move through the results with control+win+up and down arrows. Press control+win+enter to launch the selected search result in your default browser.

Searching for recent news

You can also use bing to search for recent news articles. To begin a news search, press control+win+n, type your search terms and press enter. A new buffer will be created with the most recent articles that match your search, sorted by date. Press control+win+enter to load an article into your default web browser.


What is Solona?

At one time or another, you've probably come across a web site that wanted you to solve a captcha in order to register for the site, comment on a blog, etc. These are the words or numbers that you have to copy back into an edit field to prove that you are not a computer program. This is exactly the problem. Since they are designed to be unreadable by computer programs, this includes legitimate programs like screen reading software. This is where the Solona service comes into play. Solona is a volunteer-based service which solves captchas for blind users. Qwitter completely automates the process of submitting a captcha to Solona and getting the answer back.

Setting up solona

If you have not already signed up before, go to www.solona.net. Select the register link and fill out the form.

Now press control+win+shift+n to access the new session dialog. Select Solona, press tab, and give the session any name you like. The Solona login dialog will now appear. Enter the username and password you chose for solona and press enter. You are now ready to automatically submit a captcha to solona.

Submitting a captcha to solona

In your web browser, get to the page containing the captcha you want to solve. For the sake of privacy, you will want to submit the captcha to Solona before filling out any personal information. Find the field where you will have to copy the text. activate the Jaws forms mode, NVDA focus mode or turn off the Window Eyes browse mode.

If you are in another qwitter session, press control+shift+win+right arrow until you are in your Solona session. Qwitter will insure that someone at Solona is available to handle your request, and will not submit the captcha if Solona is offline. You may also check the status of Solona yourself by pressing control+win+s. Now press control+win+c to submit the captcha. Qwitter will announce that it is taking the screenshot, and a few seconds later it will announce that it is submitting the image. Within a minute, a message box containing the captcha solution should appear. Select the solution that Solona has returned with control a, and copy it to the clipboard with control c. Then press the close button to dismiss the box. Now just paste the result into the form with control v, fill out the rest of the form and submit as usual. It's that easy.

You can also choose to have qwitter copy the solution to the clipboard automatically. Press control+win+o to open the solona configuration dialog. The only setting currently available is the choice to use a message box or copy the solution automatically.

You can also submit an image that you have captured by some other means by pressing control+win+alt+f.

Google Voice

What is google Voice?

Google Voice is an internet phone forwarding service. It allows you to have one central phone number which can forward calls to your other numbers, such as home, mobile and work. It also allows you to centrally manage voicemail, call history and sms or text messages. This management facility is where qwitter comes into play, allowing you to place calls, send messages and play voicemails without opening a browser.

Getting started with Google Voice

If you don't already have one, you will need to get a Google Voice number. Go to to get started. If you use GMail, blogger.com or any other google service requiring an account, then you can enter your existing details to skip straight to setting up a number. Otherwise you will have to go through the process of signing up. There may be a captcha, but google provides an alternative audio challenge that you can use, so using the solona service should not be necessary here.

Once you have followed the steps to set up your number with Google Voice, press ctrl+shift+win+n, select Google voice as your session type and give the session a name. You will be presented with a login dialog, so enter your username and password.

Buffers in the Google-voice session

Within the google voice session, there are five buffers. The Voicemail and SMS buffers hold those items. The other buffers contain your call history divided into three categories, missed calls, calls you received and answered, and calls you placed with Google Voice.

Placing a call

While working in the Google Voice session, pressing ctrl+win+c will open the call phone dialog. First, enter the number that you would like to call. The next option is a list of forwarding numbers that you set up on the Google Voice web site. Select the phone that you want the call to be sent to. When you press ok, google will first call you at the selected number. Once you have answered, it will call the number that you have entered.

Alternatively, you can press control+win+enter to call the selected number in a buffer. If you are in the sms buffer, this command will call the sender of the current sms. From within a call history buffer, you will call the selected number. This keystroke does something else when working with voicemails, see below.

working with voicemails

From the voicemail buffer, press ctrl+win+enter to begin playing the selected voicemail. You can press the keystroke again on the same message to stop playback.

Sending SMS messages

From any buffer in this session, you can press ctrl+win+n to send an sms message, also known as a text message. First, enter the number that you wish to send a message to. Press tab, type your message and press enter. You have a limit of 160 characters for these messages.

Messages that you have sent also show up in the sms buffer. There is currently a known issue that your sent messages are announced as being from the recipient.

The stopwatch

Qwitter can even act as a handy stopwatch and countdown timer. Open the new session dialog with control+shift+win+n, select Stopwatch as the session type, name the session and press ok.

Press control+win+c to create a countdown timer. Enter the time that you'd like to put on the timer and press ok. Qwitter will announce when time is up, no matter what session you are working in. From within the stopwatch session, you can check the time remaining in the countdowns buffer.

Press control+win+enter to start a stopwatch. Pressing it again will stop the timer and announce the time elapsed.

Customizing qwitter

The Keyboard manager.

All of the commands listed in this document can easily be customized using Qwitter's keyboard manager. Press ctrl+win +k to bring up a list of commands available in the current session. The execute keystroke button will act just as if you had pressed the keystroke yourself. You can press the edit button to change the assigned keystroke. Editing a command brings up a series of checkboxes to select which modifier keys are used, and a place to type the key you want to use. There are also buttons to delete commands from the list or add commands you previously deleted.

Controling qwitter with less keys

If you will be reading a very large number of tweets, or you are using Qwitter for a long period of time, you can temporarily lock the ctrl and windows keys with alt+win+k. This enables the most common qwitter functions to be performed with a single key. Repeat the keystroke to deactivate the mode. Alternatively, it will be automatically deactivated when you switch sessions or close Qwitter.

Qwitter's main configuration dialog

You can press control+shift+win+o to bring up Qwitter's main configuration dialog. This dialog controls configuration options that are used throughout the program. We suggest leaving them at the defaults until you have used qwitter for a while. This dialog is divided into sections, or tabs. Press control+tab to move through the sections. Press the ok button when you are finished.

language tab

In this tab you can select which language you wish Qwitter's messages to be in. Several languages are available, and if yours isn't and you're willing to translate, it can be added.

Speech tab

The first item on this tab, speech output, is set to auto. There will rarely ever be any reason to change this, as qwitter auto-detects your screen reader. If it doesn't detect a supported screen reader, or you're not running one, it will automatically use whatever microsoft speech synthesizer you have selected in your control panel. If for some reason you don't want to use a screen reader even though you're running one, you can instead choose SAPI.

The next three options are pretty self explanitory; they allow you to change the rate, volume and voice used by Microsoft speech if you choose to use SAPI with Qwitter.

The final option on this tab allows you to enable or disable qwitter's speech recognition function. You can also toggle this by pressing shift+win+s.

Navigation tab

The first option on this tab controls how far qwitter jumps through items when using control+win+page up and page down to move by a percentage.

The next 2 options control how far qwitter jumps through items when using control+win+shift+page up and page down to move by time. The first box determines how many hours qwitter should jump, and the second determines how many minutes qwitter should jump. For example, if the hours box was set to 1, and the minutes box was set to 5, qwitter would jump 1 hour and 5 minutes forward or back depending on which command you issued.

The last option here is the undo stack size option. It determines the number of undo operations you can do with control+win+z. For example, if the value of this box is set to 100, you can undo the last 100 commands.

Braille tab

There is currently one option in this tab. The braille spoken text checkbox determines whether qwitter's braille support will be used.

Miscellaneous tab

The First option on this tab determines whether Qwitter will automatically start when you login to windows. This replaces an option that was found in the installer for previous versions of Qwitter.

The next option is self-explanatory. If you don't want to be prompted before exiting qwitter, uncheck the Show Confirmation checkbox here.

The option labeled perform standard actions with home/end keys" will change the behavior of those keys. With this turned on, pressing them will jump to the start/end of the current line rather than the start or end of the entire item you are writing.

Changing qwitter's default key assignments

All of the keystrokes used in qwitter can be easily changed. Press control+win+k to access the keystroke manager. Every keystroke that is available in the current session will be listed here. You can change a keystroke's assignment with the edit button, or remove it entirely with the delete button. If you remove a function, you can later assign it again with the add button.

You can quickly perform any qwitter function from within the keystroke manager. Just find the command you wish to run and press the execute function button.

Quitting Qwitter

If for some reason you wish to close qwitter, use ctrl+win+f4. It'll bring up a confirmation dialogue. Note: Quitting Qwitter has been known to cause some generally horrible things to happen, like the death of innocent kittens.

Portable mode

If you run Qwitter with -p or --portable on the command line or from a shortcut, it will run in portable mode, meaning that any files it reads and rights will be kept in the qwitter program's current directory, making it ideal to use on a thumb drive. Here is an example of how to set this up.

Let's assume you have Qwitter installed in the default location on your C drive. And let's assume your thumb drive is drive E. Windows may have assigned a different letter to your thumb drive.

Copy your c:\Program Files\Qwitter folder to e:\Qwitter.

Next, copy all the contents of %appdata%\Qwitter to e:\Qwitter as well

Once that is done, anytime you want to run Qwitter in portable mode from your thumb drive, you simply do start, run, then type the following:

e:\Qwitter\qwitter.exe -p

Technical Support

Twitter API issues

If you suddenly start having problems using the twitter session when it previously worked normally, chances are very good that the issue is with the twitter API itself, not the qwitter client. The fact that the twitter web site may be working normally does not decrease the likelyhood that the API for external applications may be experiencing issues. You can check to determine if there are known issues with the twitter API. Below are some conditions that have commonly been reported in the past. There is no need to report these, as there is nothing that Qwitter developers can do about them.

I get a message that states that the application cannot start because the configuration is incorrect.

ON occasion people receive this error. You'll need to install some components from Microsoft. Fortunately, there're links to them from our downloads page.

Look for the link that says "The Visual C++ 2008 SP1 Redistributable." Make sure you get the correct one though, as there are ones for both 32 bit and 64 bitt systems.

I get a message that states that the program can not start because the log file could not be accessed.

On operating systems starting with windows vista, people sometimes get this message the first time they run qwitter. There is a simple fix for this.

Locate the installed qwitter icon and press shift+f10 or the applications key if you have it. Arrow down to run as administrator and press enter. A user account control dialog will appear asking if you would like to allow the application access to your computer. Answer yes to this prompt and qwitter should start as normal.

Note: You should only have to do this once.

When reviewing tweets, the time that is announced is incorrect.

For Qwitter to announce the correct posting time for tweets, your time zone must be set correctly on twitter.com and on your computer. Here's how to check your time zone settings.

To set the time zone on twitter, sign in to your account and select the settings link. On that page, you will find several options, including one for choosing your time zone. Once you have selected your time zone and pressed the save button, twitter may prompt you to enter your password again to change settings.

On your computer, open the windows control panel and select date and time. There you will be able to set your computer's date, time and time zone. Setting the correct time is not sufficient, since the wrong time will still be announced if your time zone is set incorrectly.

When writing a tweet, it is difficult to review what I've written using jaws.

There is a known conflict between Qwitter and the jaws scripts for the McTwit application. Jaws is associating Qwitter dialog boxes with the McTwit scripts, a combination that does not work. At this time, the only known solution is to remove the McTwit scripts from your system. Mctwit is still very accessible without them.

I have a question/comment/concern that's not covered in this readme.

Every attempt has been made to insure that this document describes every aspect of Qwitter in complete detail. If you have checked this document carefully and still have questions, the best way of getting your questions answered is to consult the Qwitter community. The Twitter account is run by a group of dedicated volunteers who can answer any queries you may have. If you have a serious problem that cannot be resolved on Twitter, you can also get support from the Qwitter mailing list. This community of enthusiastic qwitter users is a great place to discuss the usage of qwitter and get help and suggestions. There are two ways to subscribe to the list. You can send a blank email to or go to The list page. Either way, you will then receive a confirmation message that you must respond to.

If you have any suggestions for new Qwitter features, or if you believe you've found a bug in Qwitter, the tracker is the place to go. You will need to create an account before making your first submission to the tracker. It's free, easy, and can be done in just a minute or two. You'll only need to do this once, so posting will be simple in the future.

There are a couple of things you need to know before creating tickets on the tracker. First, please take a few minutes to read the tickets people have already submitted before posting yours. Someone else may have already posted your bug or idea, and it might already be in progress or fixed for the next release. Doing this will cut down on the administrative work for the developers.

Finally, please give enough details in your bug reports that the developers can understand your problem. You don't need to write a long message, but you should describe what you're doing when a problem occurs, what screenreader you're using, and whether Qwitter crashes when it happens. If you're getting an error message, please quote it exactly in your bug report. If something isn't working right but qwitter does not speak an error message, or if qwitter crashes, attach your %appdata%\qwitter.log file to your post if you can. This will help the developers track down your problem more effectively.

Change Log

5.0 Beta 5



5.0 Beta 4


5.0 Beta 3


5.0 Beta2

Bug fixes

5.0 Beta1


bug fixes



Bug Fixes



Changes in twitter lists

Bug fixes

Other Changes



Bug Fixes


Changed options


Bug Fixes



Bug Fixes


Bug Fixes



Bug Fixes



Bug Fixes


The idea behind a UI-Less Twitter client belongs to Sean Randall, , who originally brought us Jawter.

Christopher Toth, , is responsible for a majority of the code behind Qwitter.

hllf, , is largely responsible for many of the advanced features Qwitter supports for Twitter. He contributes code when he can find the time, and he enjoys fixing a lot of pesky bugs.

Haden Pike, , has done a remarkable amount of work on Qwitter, helping out @Mongoose_Q when he's stuck in college badness.

Paul, , rebuilt the template system and exporter. He's highly opinionated and fond of cursing live on Twitter while coding particularly tricky functionality.

David Sexton, , contributes code from time to time, especially the Quitting Qwitter code that kills the kittens.

Jason White, , is behind some important aspects of the configuration dialog.

Matt Campbell, , added System Access support to Qwitter.

Nehemiah Hall, , Was responsible for the original text of this readme, and serves as a general idea factory.

Justin Ekis, , Keeps this readme up-to-date, and found a way to make it much more simple to update it going forward. He has also started making small feature contributions to qwitter itself.

Chris Nestrud, , assists Qwitter in being the bestest client it can be.

Final Thoughts

I wanna be a Mongoose!