Transcript: QuickMail tour, with NVDA
Times are positions in QuickMail-audio-demo-NVDA-v1.mp3; a demo's time is where its audio starts, after the chime.
Demo lines are the screen reader's own record of what it said (its speech log).
Welcome (0:00)
Michael: Welcome to a guided tour of QuickMail. I'm Michael.
Maya: And I'm Maya. QuickMail is a free email program for Windows, and it was built screen reader first. Over the next twenty minutes or so, we are going to show you what that means, not just tell you.
Michael: Here's how this works. Every demo you'll hear is the real program, running on a Windows test machine, with NVDA reading it. NVDA is the free screen reader from NV Access, and it's using its out-of-the-box settings, with the standard Windows voice. We're AI voices, but NVDA isn't. A script pressed the keys, and we recorded exactly what NVDA said. Afterwards we added a soft click so you can hear each key press, evened out the volume, and shortened long pauses. NVDA's words weren't changed.
Maya: One more thing about that test machine. It has two email accounts set up, a work account and a personal account, but their mail servers don't exist. So everything you hear is QuickMail working offline, from the mail it keeps on your own computer. That turns out to be a good place to start.
Starting QuickMail, offline (1:09)
Michael: Let's start QuickMail and just listen.
[Demo, 1:13, logged] QuickMail window All Inboxes - QuickMail Messages data grid unread. Sam Patel. Re: Budget review for next quarter. Updated numbers are in. Travel came in under.. 10:27A. Work -- Inbox. data item selected 1 of 11 Connecting to 2 accounts… No accounts could be connected. Offline. Showing cached messages.
Maya: So, a few things happened there. QuickMail opened straight onto All Inboxes, and NVDA read the first message: unread, from Sam Patel, the subject, a preview of the first line, the time, which account and folder it came from, and where it sits in the list, one of eleven.
Michael: Then it tried to connect to both accounts. When it couldn't, it said so once, and then told us it was offline and showing cached messages. It waits a few seconds before saying offline, so a quick blip in your Wi-Fi never interrupts you. You keep reading and writing, and anything you send waits in the Outbox until you're back.
Maya: And notice what it didn't do. No error dialogs, nothing to dismiss. It just told us where things stood.
Getting around: F6 and the command palette (2:09)
Michael: QuickMail has one layout, and you reach it the same way every time. Control 1 goes to the accounts list. Control 2 goes to the folders. Control 3 goes to the messages. F6 moves to the next pane, and Control 9 reads the status bar. Here are all of those, one after another.
[Demo, 2:30, logged] Email accounts list Folder list tree view All Inboxes 2 of 9 level 2 Messages data grid unread. Sam Patel. Re: Budget review for next quarter. Updated numbers are in. Travel came in under.. 10:27A. Work -- Inbox. data item selected 1 of 11 status bar No accounts could be connected. Never synced Status bar: No accounts could be connected. Main toolbar tool bar New Message button New Message (Ctrl+N) Ctrl+ N status bar No accounts could be connected. Never synced Status bar: No accounts could be connected.
Maya: If people remember one key from this whole tour, we want it to be F6. Whatever you're doing, F6 and shift F6 walk you around the window, and you'll always know where you are.
Michael: And if they remember two keys, the second one is control shift P. That's the command palette. Every command in QuickMail is in it, with its shortcut, and you find things by typing any part of the name, or even just the initials.
Maya: Watch this. We'll press control shift P, and type G T F, the initials of Go to Folder. Then Enter, and in the folder picker we'll type inbox and press Enter again.
[Demo, 3:38, logged] Command Palette dialog Filter commands edit blank Go to Date Ctrl+G 1 of 31 Go to Folder… 1 of 6 Go to Folder dialog Folders list Work - INBOX 10 of 24 Messages data grid unread. Sam Patel. Re: Budget review for next quarter. Updated numbers are in. Travel came in under.. 10:27A. data item selected 1 of 8 Offline — showing 8 cached messages.
Michael: G T F found Go to Folder as the top match. Then the picker took us to the work inbox, NVDA read the first message there, and because we're offline, QuickMail told us it was showing eight cached messages. There's no need to memorize a menu. If you can describe what you want, the palette will find it.
Maya: Other windows have their own palette on the same key, too. In the compose window, control shift P lists everything you can do while writing. Same key, same idea.
Message List Fields: choose what each message says (4:28)
Michael: Now the feature that I think surprises people most. You get to decide what each message says when you arrow onto it.
Maya: This is Message List Fields, on the View menu. We'll open it from the palette. First, listen to one message the way it reads by default. Then we'll go down the list of fields to Preview and press space to turn it off. Then we'll go up to Subject and press alt up arrow, so the subject is spoken before the sender. Then Escape, and back to the messages.
[Demo, 4:58, logged] All Inboxes - QuickMail window Messages data grid unread. attachments. Mia Rivera. Photos from the lake. The kids loved the canoe. Photos attached.. 10:03A. Personal -- Inbox. data item selected 2 of 11 Command Palette dialog Filter commands edit blank Month View M 1 of 90 Message List Fields… 1 of 85 Message List Fields window Fields list F Flag check box checked Use Alt+Up and Alt+Down to reorder. Unread check box checked Replied check box checked Forwarded check box checked Attachments check box checked From check box checked Subject check box checked Preview check box checked not checked Subject check box checked Moved up. Position 6 of 14. Messages data grid unread. attachments. Photos from the lake. Mia Rivera. 10:03A. Personal -- Inbox. data item selected 2 of 11 unread. Re: Budget review for next quarter. Sam Patel. 10:27A. Work -- Inbox. data item selected 1 of 11 unread. attachments. Photos from the lake. Mia Rivera. 10:03A. Personal -- Inbox. data item selected 2 of 11
Michael: Did you catch that? Before, the row was long: unread, attachments, Mia Rivera, Photos from the lake, the whole first line, the time, and the folder. Afterwards, Sam's message read: unread, Re: Budget review for next quarter, Sam Patel, and the time. Subject first, and no preview.
Maya: And the dialog has a spoken preview box, so you can check what a row will sound like before you close it. Unread is only spoken when a message is unread. Read is never spoken at all, because that's the normal case and you don't need to hear it fifty times.
Four ways to view a folder, and conversation fields (6:28)
Michael: Next, four ways to look at a folder. Control shift V opens the view menu: Messages, Conversations, From, and To. Each folder remembers its own view, so your inbox can stay in conversations while your receipts stay a plain list.
Maya: We'll switch to Conversations, open up the budget conversation with the right arrow, and go down through it. Then we'll switch to the From view, which groups mail by who sent it.
[Demo, 6:56, logged] Messages checked M Conversations not checked C checked Messages tree view level 1 Re: Budget review for next quarter. 3 messages. Sam Patel. Has unread. Updated numbers are in. Travel came in under.. 10:27A. collapsed 1 of 9 expanded level 2 unread. Sam Patel. Re: Budget review for next quarter. Updated numbers are in. Travel came in under.. 10:27A. Work -- Inbox. 1 of 3 unread. Priya Shah. Re: Budget review for next quarter. Can we keep the training line? I think it pays for itself.. 8:21A. Work -- Inbox. 2 of 3 level 2 Conversations checked C From not checked F checked Messages tree view level 1 Ava Chen. 2 messages. Has unread. The new noodle place opened on Main Street.. 9:51A. collapsed 1 of 9 Ava Chen. 2 messages. Has unread. The new noodle place opened on Main Street.. 9:51A. collapsed 1 of 9 level 1 Ben Ortiz. 1 message. Flagged. Please review the attached invoice before Friday.. 5:51A. collapsed 2 of 9 level 1
Michael: So the conversation is one item: Re: Budget review for next quarter, three messages, Sam Patel, has unread. Right arrow opened it, and each reply is underneath. In the From view, everything from Ava Chen is together, two messages, and Ben Ortiz's invoice shows up as flagged.
Maya: Oh, wait. Michael, you heard that conversation say three messages, and has unread?
Michael: I did.
Maya: Remember Message List Fields, a few minutes ago? It isn't only for messages. Conversations have their own set of fields, and one of them isn't turned on yet. It's called unread of total. So instead of has unread, the row tells you exactly how many are unread.
Michael: Show me.
Maya: We're in the conversations view. Open Message List Fields from the palette. Shift tab goes back to the row type, and down arrow changes it from messages to conversation groups. Then tab into the fields, down to unread of total, and space to check it. Alt up arrow moves it up, right after the message count. And since we don't need to hear has unread anymore, we'll arrow down to it and turn it off.
[Demo, 8:59, logged] Command Palette dialog Filter commands edit blank Month View M 1 of 90 Message List Fields… 1 of 85 Message List Fields window Fields list F Flag check box checked Use Alt+Up and Alt+Down to reorder. Row type combo box Messages collapsed R Conversation groups Fields list F Subject check box checked Message count check box checked Sender check box checked Flag check box checked Has unread check box checked Preview check box checked Date check box checked Unread count check box not checked Unread of total check box not checked Has unread is also on, so a row with unread mail says so twice. Turn Has unread off to use this on its own. checked Moved up. Position 8 of 9. Moved up. Position 7 of 9. Moved up. Position 6 of 9. Moved up. Position 5 of 9. Moved up. Position 4 of 9. Moved up. Position 3 of 9. Sender check box checked Flag check box checked Unread count or Unread of total is also on and already says there is unread mail. Turn this off to hear only the count. Has unread check box checked Turn this field on to choose when it is spoken. not checked Messages tree view Re: Budget review for next quarter. 3 messages. 2 of 3 unread. Sam Patel. Updated numbers are in. Travel came in under.. 10:27A. collapsed 1 of 9 level 1 Photos from the lake. 1 message. 1 of 1 unread. Mia Rivera. The kids loved the canoe. Photos attached.. 10:03A. collapsed 2 of 9 level 1
Michael: Two of three unread. That's so much better. And did you catch that QuickMail noticed what we were doing? When we turned on unread of total, it said: has unread is also on, so a row with unread mail says so twice. Turn has unread off to use this on its own.
Maya: And the photos from the lake, a conversation of one, now says one of one unread. Every view gets this treatment. Messages, conversations, and the sender and recipient groups each have their own fields, so each one can say exactly what you want it to.
Reading mail (10:51)
Maya: Moving quickly through mail. Alt down arrow goes to the next unread message, even across collapsed conversations. Enter opens the message in the reading pane, and then you read it the way you read anything else. With NVDA, insert down arrow reads the whole thing, or you can arrow through it line by line. Escape takes you back to the list, right where you were.
[Demo, 11:13, logged] unread. attachments. Mia Rivera. Photos from the lake. The kids loved the canoe. Photos attached.. 10:03A. Personal -- Inbox. data item selected 2 of 11 unread. Ava Chen. Lunch on Thursday?. The new noodle place opened on Main Street.. 9:51A. Work -- Inbox. data item selected 3 of 11 Ava Chen. Lunch on Thursday?. The new noodle place opened on Main Street.. 9:51A. Work -- Inbox. Message body. Lunch on Thursday? Press Escape to return to message list. Lunch on Thursday? document The new noodle place opened on Main Street. Thursday at noon? Lunch on Thursday? The new noodle place opened on Main Street. Thursday at noon? The new noodle place opened on Main Street. Thursday at noon? Ava Messages data grid Ava Chen. Lunch on Thursday?. The new noodle place opened on Main Street.. 9:51A. Work -- Inbox. data item selected 3 of 11
Michael: Two presses of alt down arrow, past the photos from the lake, and onto Ava's lunch invitation. Enter, and NVDA told us we were in the message body, with a hint that Escape goes back. Then insert down arrow read the message: the new noodle place opened on Main Street, Thursday at noon, Ava. Escape, and we were back on Ava's message in the list.
Maya: One more thing about reading. QuickMail doesn't load pictures from the internet unless you ask it to, so senders can't tell when you've opened their message. And if a message is noisy or looks suspicious, control shift H shows it as plain text.
Search (12:29)
Michael: Search. Control shift S puts you in the search box, or you can press slash in the message list. As you type, the list narrows, and QuickMail tells you how many messages match.
Maya: We're going to type a search that combines three things: from colon Sam, the word budget, and is colon unread. So: unread mail from Sam about the budget.
[Demo, 12:52, logged] Search messages edit Search the messages in this folder. Escape to clear. blank Search box. Type to filter messages. 1 message found from 11 messages found 2 messages found sam 2 messages budget is 2 messages found 2 messages 1 message found 1 message Messages data grid unread. Sam Patel. Re: Budget review for next quarter. Updated numbers are in. Travel came in under.. 10:27A. Work -- Inbox. data item selected 1 of 1
Michael: Did you hear the count change as we typed? Eleven messages, then two, then one. One message. And it searches message bodies and attachment names too, not just subjects. If you'd rather not learn that syntax, control slash opens Advanced Search, which is an ordinary form, and it can search every folder at once, or the server.
Writing, and two ways to check spelling (13:39)
Maya: Writing. Control N opens a new message. We'll type the first few letters of Ava's name and pick her from the suggestions. Tab moves through the address fields to the subject, and alt Y jumps to the message body. Control Enter sends.
Michael: And remember, this machine is offline. So listen for what happens to the message.
[Demo, 14:01, logged] New Message - Plain Text - QuickMail window To: edit blank 6 suggestions 1 suggestion 1 suggestion Address suggestions list Ava Chen ava@contoso.example 1 of 1 To: edit blank Cc: edit blank Bcc: edit blank Subject edit U Alt+ U blank Lunch on Message body edit Alt+ Y blank Noon works for me See you there All Inboxes - QuickMail window Messages data grid unread. Sam Patel. Re: Budget review for next quarter. Updated numbers are in. Travel came in under.. 10:27A. Work -- Inbox. data item selected 1 of 11 Folder list tree view All Inboxes 2 of 9 level 2 Outbox, 1 waiting 9 of 9 level 2
Maya: As we typed A V A, the suggestions went from six to one: Ava Chen. Down arrow and Enter added her. Then the subject, then the body. When we pressed control Enter, the window closed, and when we went to the folder list and typed the letter O, we landed on the Outbox: one waiting. It'll go out by itself the moment the connection comes back.
Michael: The compose window has three modes: plain text, Markdown, and HTML, on control shift 1, 2 and 3. In HTML mode you get real formatting from the keyboard, like control B for bold, and control T tells you what formatting is at the cursor. Drafts save themselves as you write.
Maya: And there are two ways to check spelling, because people work in two different ways. Some of us like to fix words as we go, and some of us like to write first and check at the end.
Michael: For this one we wrote a short message with two mistakes in it: thanks for the receipt, spelled R E C I E P T, and I will send the report tomorrow, spelled with one R. First, the fix-as-you-go way. Control home goes to the start, and control F7 jumps to the next misspelling. It tells you the word and the first suggestion, and alt 1 takes that suggestion. Then the check-at-the-end way: F7 opens the full spelling dialog.
[Demo, 16:08, logged] Thanks for the reciept. I will send the report tomorow. reciept. selected Misspelling: reciept.. 1: receipt. Misspelling: reciept.. 1: receipt. Thanks for the receipt I will send the report tomorow. unselected Replaced with receipt. tomorow selected Spelling window Suggestions list S tomorrow 1 of 1 Not in dictionary: tomorow. Spelling dialog The spelling check is complete. 1 word changed. OK button Checking subject. Spelling check complete. 1 word changed.
Maya: Control F7 said: misspelling, R E C I E P T, one, receipt. That one is the number of the suggestion, so alt 1 took it, and QuickMail said replaced with receipt. Then F7 opened the spelling window with focus right on the suggestions, and said what was not in the dictionary. Alt C changed it, and the check was complete. One word changed.
Michael: In that dialog, alt I ignores a word, alt A adds it to your dictionary, and alt R reads the word in its sentence, so you can tell which word it means. And if you'd like to hear about misspellings as you type, there's a setting for that too. It's off by default, because not everybody wants it.
Staying organized: watched conversations and the calendar (17:10)
Maya: Staying organized. Control shift W watches a conversation. From then on, every reply, in any folder, collects in Watched Conversations, even replies that haven't arrived yet.
[Demo, 17:23, logged] unread. attachments. Mia Rivera. Photos from the lake. The kids loved the canoe. Photos attached.. 10:03A. Personal -- Inbox. data item selected 2 of 11 unread. Ava Chen. Lunch on Thursday?. The new noodle place opened on Main Street.. 9:51A. Work -- Inbox. data item selected 3 of 11 unread. Priya Shah. Re: Budget review for next quarter. Can we keep the training line? I think it pays for itself.. 8:21A. Work -- Inbox. data item selected 4 of 11 Watching conversation: Budget review for next quarter
Michael: Watching conversation: Budget review for next quarter. K flags a message, and rules, on control shift L, file your mail automatically. On Microsoft 365, those can be the same server rules Outlook uses.
Maya: And there's a full calendar on control shift C, with agenda, day, week and month views. When it opens, focus lands right on the first event. We'll press W for the week view, and arrow down through the events.
[Demo, 18:08, logged] Calendar - QuickMail window Calendar events data grid Team stand-up, tomorrow 9:30 AM to 9:45 AM, Room 4, Local data item selected 1 of 3 No messages Week of October 18 to October 24. 3 events. Project Falcon planning session, Fri, Oct 23 2:00 PM to 3:00 PM, Pending, Room 4, Dana Okafor, Work data item selected 2 of 3 Dentist, Fri, Oct 23 3:00 PM to 4:00 PM, Main Street Dental, Local data item selected 3 of 3
Michael: Three events this week: the team stand-up, the Project Falcon planning session, still pending because it's a meeting invitation we haven't answered yet, and a dentist appointment. Invitations have accept, tentative and decline. And date and time fields are ordinary edit fields. You type a date, or change it with the arrow keys. There's no date picker to fight with.
Context menus, the archive folder and the startup folder (19:00)
Maya: Now, a habit that pays off everywhere in QuickMail. Shift F10, or the applications key if your keyboard has one, opens the context menu for whatever you're on. A message, a folder, an account, an attachment. If you're ever wondering what you can do with something, that's where to look.
Michael: Here's the menu for a message. We'll open it with shift F10 and arrow down through it.
[Demo, 19:24, logged] Reply R 1 of 11 Reply All A 2 of 11 Forward F 3 of 11 Move to Folder M 4 of 11 Copy to Folder C 5 of 11 Save As V 6 of 11 Print P 7 of 11 Delete D 8 of 11 Move to Archive H 9 of 11 Messages data grid unread. Sam Patel. Re: Budget review for next quarter. Updated numbers are in. Travel came in under.. 10:27A. Work -- Inbox. data item selected 1 of 11
Maya: Reply, reply all, forward, move to folder, copy to folder, save as, print, delete, and move to archive. NVDA read each item's access key, too, the letter that chooses it straight away. Move to archive has its own shortcut, control shift M, and it's one I use all day. One keystroke, and the message is filed out of your inbox.
Michael: We didn't press it here, and that's the one honest limit of this offline machine. Moving mail between folders happens on your mail server, so it needs a connection. Sending can wait in the Outbox. Moving can't.
Maya: But where does archive put things? QuickMail finds your provider's archive folder on its own. If you'd rather it used a different one, there's a folder menu for that. This work account has a folder called Old Mail. Let's go to it in the folder list, press shift F10, and choose set as archive folder.
[Demo, 20:41, logged] Old Mail 7 of 9 level 2 New Folder N 1 of 12 Move Folder M 2 of 12 Copy Folder C 3 of 12 Set as Archive Folder A 4 of 12 Folder list tree view All Inboxes 2 of 9 level 2 Old Mail set as the Archive folder for this account.
Michael: Old Mail set as the archive folder for this account. From now on, control shift M on any work message files it in Old Mail. And if you change your mind, the same menu has use automatic archive folder.
Maya: Remember how QuickMail opened on All Inboxes when we started it? That's a choice too. Same menu, on the work inbox this time: set as startup folder.
[Demo, 21:21, logged] Inbox, 4 unread 2 of 9 level 2 New Folder N 1 of 12 Move Folder M 2 of 12 Copy Folder C 3 of 12 Set as Archive Folder A 4 of 12 Use Automatic Archive Folder U 5 of 12 Set as Startup Folder S 6 of 12 Folder list tree view All Inboxes 2 of 9 level 2 QuickMail will open in Inbox. QuickMail will open in Inbox.
Michael: QuickMail will open in inbox. That's the kind of thing that, in a lot of programs, is buried three tabs deep in an options dialog. Here it's right on the folder, where you'd think to look.
Properties with Alt+Enter (21:48)
Maya: One more key that works on almost everything: alt Enter. It shows the properties of whatever you're on. We'll press it on a message, then on a folder, and then on an account, and arrow down through each one.
[Demo, 22:02, logged] Message Properties dialog Message Properties data grid Press Enter or Ctrl+C to copy the selected row. Headers data item selected 1 of 16 From: Sam Patel data item selected 2 of 16 To: Jordan Lee <jordan@contoso.example> data item selected 3 of 16 Cc: (none) data item selected 4 of 16 Messages data grid unread. Sam Patel. Re: Budget review for next quarter. Updated numbers are in. Travel came in under.. 10:27A. Work -- Inbox. data item selected 1 of 11 Folder list tree view All Inboxes 2 of 9 level 2 Folder Properties dialog Folder Properties data grid Press Enter or Ctrl+C to copy the selected row. Folder data item selected 1 of 9 Name: All Inboxes data item selected 2 of 9 Full path: data item selected 3 of 9 Folder list tree view All Inboxes 2 of 9 level 2 Email accounts list Account Properties dialog Account Properties data grid Press Enter or Ctrl+C to copy the selected row. Identity data item selected 1 of 20 Display name: Work data item selected 2 of 20 Email address: jordan@contoso.example data item selected 3 of 20 Incoming (IMAP) data item selected 4 of 20 Email accounts list
Michael: For the message: the headers, who it's from, who it's to, the CC. For the folder: its name and its full path. For the account: its display name, its email address, and its incoming server. Each one is a simple list you arrow through, and each opened with a hint: press Enter or control C to copy the selected row.
Maya: And every properties window has a copy all button. If you ever need to tell somebody exactly what you're seeing, like when you're reporting a problem, copy all puts the whole thing on the clipboard.
You're in control: settings and shortcuts (23:30)
Maya: The last part of this tour is about control. Everything QuickMail says on its own, it says because you let it. In settings, there are separate switches for instructional hints, for background status like syncing, and for the results of what you do, like search counts. Or turn them all off at once.
Michael: And QuickMail tries hard not to repeat what your screen reader already says. When you check a checkbox, your screen reader tells you it's checked, so QuickMail stays quiet. There are no scripts to install, and it works with whichever screen reader you use.
Maya: Every keyboard shortcut can be changed, too. You press the keys you want, and if they're already taken, QuickMail tells you which command has them.
Michael: It updates itself. Help, Report a Bug, sends a report without needing a GitHub account. And F1 opens the user guide.
Summing up, and where to get QuickMail (24:22)
Maya: So, to sum up. F6 to move around. Control shift P to find anything. Decide what each message and each conversation says with Message List Fields. Four ways to look at a folder. Shift F10 for a menu on anything, and alt Enter for its properties. Search that understands what you mean, and two ways to check your spelling. And it keeps working when the internet doesn't.
Michael: QuickMail is free. QuickMail download links can be found under the QuickMail heading of Kelly Ford's project page, at the idea place dot net, slash projects. That's the idea place, all one word, dot net, slash projects.
Maya: Thanks for listening. I'm Maya.
Michael: And I'm Michael. Happy emailing.