Hi,
For the past few weeks, one of the topics brought up on some
blindness mailing lists and on social networking platforms was support for
Windows 10 by screen readers. Since the release of technical preview of Windows
10, some blind users installed this OS and sent tweets regarding supposedly
enhanced Narrator, some user interface issues and feelings about Windows 10
using their preferred screen readers. The consensus was that, although it felt
like using Windows 8.1, it had its potential with return of start menu from
Windows 7 yet cautioned that the OS is far from complete.
Then this week, AI Squared which acquired GW Micro not long
ago, announced Window-Eyes 9.0 beta 1. Besides support for table reading and
math player support, one of the highlights was support for Windows 10. Although
the word “preliminary” was not used directly, as of November 2014, it is
considered a preliminary support given latest developments in Windows 10,
particularly some internal changes that may affect some code.
As someone who have used Windows 10 and a user of two screen
readers, I believe it isn’t right for assistive technology companies to
announce support for Windows 10 when NT kernel code base is still in late alpha
stage. In software development lifecycle, “alpha” usually refers to
bleeding-edge code meant for internal testing. Except for open-source projects,
alphas are not released to the public (exceptions exist). In case of Windows
10, current releases can be considered late alpha code, with hints at very
early beta code given user experiences, talks of OneDrive functionality changes
and what not. Thus, given that NT kernel code can change rapidly (which is a
trademark of fast-pace developments in large companies), November 2014 might be
too early (I’d say, a bit early) of a date to announce support for Windows 10
by a screen reader. Although it has a tactical advantage of throwing
competition off guard, when we consider Windows 10 from development
perspective, I would say AI Squared may have sent out a possibly misleading
message (again, the announcement is open to interpretation).
Second, developers are consumers as well. As screen readers
are highly privileged software and thus are expected to be a trustworthy
process to an operating system, any code changes that Windows 10 will introduce
may have repercussions to trusted software such as jfw.exe, wineyes.exe,
nvda.exe and others. This is more so if a critical part of an operating system
changes that affect accessibility, such as kernel version bump (Windows 10 is
no longer NT 6.4, but NT 10.0, according to news sources and confirmed by
Microsoft) and prominent use of UIA – Windows Store apps use UIA extensively
and is coded in such a way that prevents screen review facilities (JAWS cursor,
screen review mode, etc.) from working correctly. A note of concern is UIA: if
any part of UIA that screen readers rely on changes for some reason, screen
reader vendors will be faced with retooling existing code to work with new
routines, thus exposing screen reader developers to a similar level of
frustrations like that of a consumer. In other words, as far as Windows API,
User Interface Automation and coding is concerned, screen reader developers
(for that matter, any developer writing Windows apps) are consumers as well.
So when would have been a more appropriate time to announce
support for Windows 10? Based on current developments in Windows 10 and with
the current tech preview series being quite unstable, I’d put forth spring 2015
to be the right time (more towards CSUN 2015 conference season). This would
allow a more mature Windows 10 code to be available for early adopters and for
screen reader vendors to prepare their source code to tackle changes in
accessibility implementation, as by then developer preview with API release
notes would have been released. However, even if support for Windows 10 (NT
10.0) is announced by Freedom scientific, AI Squared, NV access and others,
vendors should keep an eye on any critical changes to accessibility
implementations that warrant further refinements to their source code (JAWS is
written in C++, evidenced by the fact that it installed C++ runtime
redistributables, NVDA’s front end is written in Python while critical backend
is written in C++). As it is now, I’d consider Windows 10 support (or
announcement of it) providing “ten”tative access to Windows 10. Thanks.