If you’ve been following the goings on in the blind community in any sort of capacity, you’ve no doubt heard about the death of Window-eyes. This is something that myself and many others suspect would happen for a long time. The reactions to this can be summed up into a few categories. There are those who applaud VFO for their assistance at a smooth JAWS transition. Then you have those who think NVAccess is next, and that screen readers are doomed. And then there are those who say there is now a huge monopoly with only JAWS and NVDA being options for someone looking for a Windows Screen Reader. In this post, I’d like to offer my personal take on the situation, the current state of screen readers, and what could be improved with an emphasis on JAWS, NVDA and Narrator.
My Window-eyes story and take on its death
I found out about Window-eyes at the same time as I found out a computer can talk. Version 4.5 was my first ever Windows Screen reader. At the time, I didn’t know anything about computers while my relatives didn’t know much about keyboard navigation other than the fact tab and the arrow keys could be used to get you places. However, due to my interest and curiosity into computers, which was sparked mostly by my love of video games, I began to learn things by trial and error. And in all honesty Window-eyes did not make this any easier. In its 4.5 incarnation, it was incredibly complicated to use, even if you managed to get into its control panel and help section thanks to its rather complex terminology. Field name and field data? Associated set files? Hyperactive user windows? Global VS local settings? I could list more examples, but the point is that if you were just starting out with computers, none of those things would make sense and indeed they didn’t to 8-year-old me. Later, I got to try out demo versions of JAWS, which made a lot more sense to me. The hotkeys all had something in common, I could get help from anywhere, and changing settings like how fast it was talking or how much it was saying were all easy to find and didn’t randomly stop working (which happened all too often thanks to the way Window-eyes didn’t explain settings associations). However, for how awesome JAWS was, it was very expensive so I stuck to Window-eyes for a few more years. And then NVDA happened, revolutionizing screen readers forever by showing that you didn’t need to pay $1000 to get Windows to talk well.
In the end, Window-eyes did fix many of the issues I mentioned especially with version 7.5 which brought a redesigned control panel, and version 8 which modernized its support for web browsers. But it took many years for GW Micro to do so. Perhaps it took them too long considering what happened to it. But in any case, it was a very powerful piece of software. What set it apart from the competition is that if you did stick with it, learned the terminology and advanced functionality, you could make not very accessible apps much more usable without resorting to learning a programming language and taking an MSAA crash course in the process. And if that wasn’t enough scripting support was added later, but in a much more modern way, allowing you to turn a script off easily in case something wrong was going on. You could also write them using any programming language you felt comfortable with.
As for the takeover, I do think that GW Micro got caught in the cross fire to an extent. After getting acquired by AISquared for their screen reading technology, AISquared themselves got acquired for their excellent magnification. The death of WE became very inevitable as soon as a new version Zoom Text Fusion (which combined a full screen reader with a full magnifier) was released with JAWS doing the screen reader portion. Before VFO, Zoom Text Fusion included Window-Eyes instead. So these events unfortunately happened just as the software was getting back on its feet and making major improvements. But it was all too little too late and we have to move on.
What can be improved?
With one big player out of the equation, I think this is a good time as any to talk about what I think are the biggest gripes in the big 3 screen readers. On that note, if you have started reading this expecting me to rip into JAWS or NVDA while praising the other into high Heaven, you might want to stop reading now.
Let’s get the most obvious one out of the way, the price. Let’s face it, it’s no longer worth anywhere near the over $1000 VFO is charging for it. Is it as bad as people make it out to be? Probably not, I would even say it’s superior to its free competition in a few areas. But those superiorities don’t add up to a grand. If you live in America or a few European countries, you can get it for free or just about free thanks to government assistance, complete with any money needed for SMA upgrades. But everywhere else, you’re out of luck. Thankfully NVDA is now a good replacement, but for the few instances where it may not be enough, the people in low income areas have an extremely hard time obtaining a license. Something similar could be said for those who need JAWS for application testing, as VFO’s EULA does not allow the 40-minute demo to be used for this. They instead offer an over $100 test version, which expires after 90 days. But what if you need more time than that?
So how could this be fixed? Assuming VFO does not still want to lower the price or offer a free Office version (and no, the $75 nfb licenses don’t count as you had to be in the US for those few days to get one), I think they should launch a “JAWS as a service” plan of some sort, charging a monthly price for it, IE $15 a month for JAWS home without Tandem support with up to 3 computers, and $30 for a JAWS pro license with Tandem and remote server functionality. This in term should also include a much more streamlined activation system, where JAWS activations could be managed using an on-line account much like Office 365 or the Vocalizer for NVDA driver. This would solve a lot of the annoyances people are having with the current ILM (internet license manager) system that has been in place since JAWS 6, as all it would take for you to activate JAWS is enter an Email and Password, and if there are any free slots your copy would just be activated. And in case something did happen to your computer, you could just sign in and DE authorize one of your now useless activations. All without having to call technical support and give an explanation. This account system could give other perks too, like being able to back up and restore your settings to the cloud so that if you use JAWS both at home and work or a school computer, you could keep your settings in sync.
Another thing that needs modernization is JAWS’s scripting system. Both Window-Eyes and NVDA show that addons can be done in a much less destructive manner, especially when we’re talking about global scripts. In the case of JAWS, any script that always wants to run needs to be included into the default file, without which JAWS becomes completely broken. This can happen thanks to an improper script installation.
And finally, JAWS has a tendency to interfere with other applications, whether thanks to its video intercept driver or the way it hooks the keyboard. This has a few consequences, many multimedia applications won’t see any keys being pressed, while others may act extremely sluggishly (I’m looking at you scrubbing in Reaper).
Let me preface this by saying NVDA is awesome. I use it every day, and chances are if you’re reading this you are as well. It offers excellent screen review, a solid browsing experience, constantly improving support for Office, and massive community support with tons of addons. If you can afford it, give NVAccess a donation!
I would also love to have more control over verbosity. Ideally, something like the speech schemes in JAWS would be nice so that I could replace various control types and states with sounds, and indicate attribute changes with either a different sound or by changing the voice. While there are already addons that can partially do this, they don’t work for formatting and certain control types while in browse mode. To my understanding, there are some Freedom Scientific patents making some of these hard to implement, which is unfortunate and one of the reasons I don’t have too much respect for the company and some of their business and anti-consumer decisions. Failing this, I would still love to see some of the message repetitions be cleaned up. Hearing NVDA say out of list out of list list with 1 items list with 1 items clickable heading level 1 link clickable… is pretty normal, and it would be nice if this was indicated by saying something like “out of 2 lists” or by indicating how deeply nested the new list/frame/whatever is.
Another feature lagging behind the competition is touch support. On its own, NVDA does not offer some of the features available in other screen readers, like quickly adjusting screen settings or web navigation, performing a right click on an item or offering touch typing on the on-screen keyboard. Touch screen support on Windows in general is a bit of an area with untapped potential in my opinion (no pun intended). I think that given more time and features, IE just being able to double-tap and hold an item to drag it like on every other platform, it could have some interesting potential such as being able to use a GUI builder of an IDE while being able to feel the end result as its being worked on.
Finally, NVDA is now the only major Windows Screen Reader that does not natively support reading Emoji, something which I believe is becoming more important. Apart from the obvious one of being able to see the smilies your friends are sending, many websites are beginning to use them instead of icons. Thumbs up and down on comment systems, hearts to indicate a “like” option, down arrows to indicate menus, magnifying glasses to indicate search fields and so on. So it’s becoming very important for screen readers to be able to handle these kind of characters, because buttons that would normally have a useful label of some sort may not have one at all as a result.
Windows 10’s narrator isn’t getting enough credit or attention, in my opinion. Yep, that’s how good I think it is, especially on slower hardware like Atom processors. It’s responsive, doesn’t use too many resources and gets a few things right that IMO other screen readers get wrong. In fact, I have typed out half of this article with its help because it works so well, even allowing me to jump through headings in the text inside word (something you might already be familiar with if you use other Screen Readers). It also has the fastest touch support, works very well with modern applications and you can now also use it with a lot of braille displays, even ones that are no longer supported by other Windows Screen Readers. One of the reasons I used it to write this text is a small one, but IMO important. And that is because it performs keyboard word echo by looking at the text field you’re typing into, rather than what keys have been stored inside a buffer. So if you type a word, like Windows, but accidentally write it out as Windowd and notice the mistake after a space, when you then backspace over the space and D, write an S and put the space back, both JAWS and NVDA will just say S, because they started buffering the keys again while Narrator will actually say the entire word.
The biggest issue preventing me from fully embracing Narrator is the way it handles Standard list views in desktop applications, which it announces as tables. Specifically, it only reads the first column if you use the arrow keys to browse the list. This means that, for example, in task manager you only hear the name of the process, and not any details like CPU or memory, in Registry editor you don’t get key values, and in my Twitter client of choice Open Tween all you get is usually nothing because the first column shows how many times a tweet has been liked. I think that Narrator should behave like other Windows screen readers in this case and always read all columns, at least when moving the keyboard focus instead of the Narrator cursor. On the topic of which, even though there are keys for table navigation both in regular and Scan mode, they don’t work well in list views and always jump back to the first column when trying to go to the next row.
On the web, things have already improved greatly. Webpages load fast and for the most part can be navigated quickly. However I have seen many instances of sites where Narrator does not cause the screen to scroll which makes the site not load any more content dynamically, which causes the focus to be stuck. There is also no way to select and copy text using the Narrator cursor, although you can use caret browsing to do this for now.
And other than this, there are small issues here and there that should be addressed, like excessive chatter when alt-tabbing, no Windows API allowing for apps to speak through Narrator, or no cursor tracking in command prompt windows. Microsoft is also in a unique position to add additional features not found anywhere else thanks to the API’s they have access to. One such example I can think of is having a hotkey to send the image under the Cursor to their cognitive service API either for OCR, or object recognition. I can certainly see this becoming quite useful while browsing social media or reading articles on the web.
While I’m saddened to see Window-eyes go, we still have a lot of great choices, all with their own strengths and weaknesses. In addition to the 3 I mentioned in this article, there are also a few lesser known Screen Readers still receiving updates, such as the British Supernova, the German Cobra, the Czech Winmonitor or Chinese ZDSR which also happens to offer a free version. For the big 3, I really think the price of JAWS should come down a bit for it to remain competitive in the current AT market. I also think that people aren’t giving Microsoft enough credit, and still write off Narrator as the thing you use to restart NVDA or JAWS, and now also to install Windows. It’s very quickly becoming a very capable piece of software that can get a lot of work done. If you haven’t used it for more than 10 minutes, you should give it a try. And if you find something is not working right, let them know by sending feedback from within the program by pressing CAPS+E twice quickly or using the feedback hub. This is the only way it can improve, and constantly saying Windows 10S will be terrible because Narrator is terrible isn’t going to change the situation. The same can be said for sending feedback to NVDA’s developers. If you still prefer to use JAWS or another commercial screen reader, open an issue against NVDA on GitHub, because otherwise they won’t be aware of your problems and this way you’ll be improving access to Windows for everyone!