I swear to tell the truth,
Janina Sajka
janina at afb.net
Wed May 1 15:34:24 EDT 2002
The whole truth, and nothing but the truth, so help me God.
>From the web page
http://www.microsoft.com/presspass/trial/mswitness/2002/hofstader.asp
IN THE UNITED STATES DISTRICT COURT
FOR THE DISTRICT OF columbia
STATE OF NEW YORK ex rel.
Attorney General ELIOT SPITZER, et al.,
Plaintiffs,
v.
MICROSOFT CORPORATION,
Defendant.
Civil Action No. 98-1233 (CKK)
Written Direct Testimony of CHRIS HOFSTADER
TABLE OF CONTENTS
I. Background *
II. The Need for Assistive Technology *
III. Microsoft’s Support for Accessibility *
IV. Freedom Scientific’s Assistive Technology
Software Products *
V. JAWS’ Reliance on "Middleware" *
VI. JAWS Would Break if the "Middleware" on
Which It Relies Were Removed. *
VII. The Removal or Alternation of Internet Explorer
Would Deprive Blind and Low Vision Users of the
Opportunity To Access the Internet. *
VIII. Creating Different Versions of Windows Would
Greatly Increase Freedom Scientific’s Testing
Burden and Technical Support Calls. *
IX. Anything that Alters the Consistent User Interface
of Windows Disadvantages Blind and Low Vision
Computer Users. *
X. Microsoft’s Disclosures of APIs Are Timely and
More than Adequate. *
My name is Chris Hofstader. I am the Vice President of Software
Engineering for Freedom Scientific Inc. Freedom Scientific is the
world leader in the development, manufacture and marketing of
assistive technology software and hardware products that people use to
overcome the challenges of blindness, low vision and other
disabilities. Our software programs and hardware devices provide tools
for our customers to attend school, hold jobs, access personal
computers and simply live their everyday lives. Freedom Scientific’s
company mission is: "To change the world for people with sensory
impairments and learning disabilities by creating innovative,
technology based solutions."
Not only do I manage the development of software products for blind
and low-vision people, but because I am blind, I also use our software
products both at work and at home.
Freedom Scientific is a privately-held company that has approximately
183 employees today, the vast majority of whom work in the Blind and
Low Vision Group where they develop software and hardware products for
blind and low vision computer users. Over 30% of the employees who
work in the Blind/Low Vision Group at Freedom Scientific are blind or
vision impaired.
Background
I graduated from New York University in 1982 with a Bachelor of
Science degree in Computer Science.
I have 23 years of professional experience working in software
development. From 1979 through the fall of 1998, I held various
positions as a computer programmer and software developer for numerous
companies, and I have also worked as an independent software
consultant. A copy of my resume is attached hereto as Exhibit A.
In October 1998, I joined Henter-Joyce, a company that developed
assistive technology software products for blind and low vision
people. I was the Manager of Software Development at Henter-Joyce, and
I developed software products for blind and low vision people.
Henter-Joyce developed one of the first screen readers, which is
software that converts the contents of a computer screen to speech and
Braille. Blind people use screen readers to access the information on
their computers.
Freedom Scientific was formed in April 2000 as a result of the
acquisition of Henter-Joyce and two other assistive technology
companies. After Henter-Joyce was acquired, I was promoted to the
position of Director of Software Development for Freedom Scientific.
Since August 2000, I have been Vice President of Software Engineering
at Freedom Scientific. I work in the Blind and Low Vision Group and am
responsible for a group of approximately 25 software developers who
create software products for blind and low vision people.
The Need for Assistive Technology
There are between 1.5 and 2 million blind and approximately 10 million
visually impaired people in the United States who are blind or low
vision. They are likely to experience some degree of difficulty in
working with computers. For example, they may be unable to see text or
images on a computer screen and perform tasks that require eye-hand
coordination such as moving a computer mouse.
Assistive technology software programs, such as those developed by
Freedom Scientific and its competitors, make it possible for people
with disabilities to use computer technologies successfully at work,
at school, and at home.
Accessible computers are more than just good business—they are a
matter of civil rights. I am not a lawyer, but based on my experiences
working at Freedom Scientific and Henter-Joyce, I have become familiar
with the federal laws requiring accessibility for disabled people. For
example, the Americans with Disabilities Act requires that employers
make their workplaces accessible to employees with disabilities.
Similarly, the Individuals with Disabilities Education Act mandates
that school districts provide assistive technology products for
disabled students. Freedom Scientific’s assistive technology products
enable employers and schools to comply with their obligations under
federal law to provide accessible technology to blind and low vision
employees and students.
Moreover, Section 508 of the Rehabilitation Act requires that
electronic and information technology developed, procured, maintained
or used by the federal government or federal agencies be accessible to
people with disabilities. Thus, any computer or software purchase by
the federal government must comply with Section 508. States that
receive federal funds under the Assistive Technology Act of 1998 are
also required to comply with Section 508 of the Rehabilitation Act.
Microsoft’s Support for Accessibility
Microsoft has truly been a pioneer in empowering people with
disabilities by developing technologies in its products that enable
them to overcome barriers to employment and participate fully in other
aspects of life. Microsoft was one of the very few software companies
that was committed to providing first-rate assistive technology
support in its products before any federal law required that such
things be available.
Microsoft has expended significant effort in making Windows operating
systems accessible to people with disabilities, including blind and
low vision people. Beginning in 1988 with Windows 2.0, Microsoft began
including accessibility features in its operating system. Over the
years, Microsoft has continually improved and expanded its efforts to
make its operating systems and applications accessible to people with
disabilities.
Most recently, Microsoft has built a wide range of accessibility
options into its Windows 2000 and Windows XP operating system products
including an accessibility wizard to help people adapt various
operating system features to their needs. Windows XP contains dozens
of built-in features specifically for people with disabilities. For
example, users can bypass the mouse altogether by taking advantage of
a feature known as MouseKeys that allows them to perform mouse-based
tasks using the numeric keypad instead. Microsoft has added close
captioning and audio description technology to make multimedia content
accessible to deaf and blind users. In addition, Windows 2000 and
Windows XP include the Narrator utility, which is a very basic text to
speech program for blind users, and the Magnifier utility, which
provides a minimum level of screen magnification for low-vision
individuals. Because these assistive technology utilities are always
present on a Windows PC, a blind or low vision person can make limited
use of their computer (or a friend’s or colleague’s computer) without
installing a full-fledged assistive technology product like JAWS® for
Windows from Freedom Scientific.
The experience I had installing Windows XP on my home computer is just
one example of how much easier Microsoft has made it for blind and low
vision people to use the most fundamental elements of the Windows
operating system products, even without the addition of an assistive
technology aid such as those made by Freedom Scientific. On the day
after Thanksgiving, my wife drove me to Circuit City so that I could
purchase a copy of Windows XP. When I got home, I inserted the Windows
XP CD-ROM into the CD-ROM drive of my computer. The Windows XP
Installation program, using the Microsoft Text to Speech Engine via
the Microsoft Speech Application Programming Interface, then said that
if I want to use the accessibility features, hit Windows key "U." I
did so and immediately the Narrator utility in Windows was launched
and I could proceed with the installation process guided by the spoken
prompts. Without any assistance from my wife, I was able to install
Windows XP "soup to nuts" by myself using the basic speech features
built into Windows XP. I then installed JAWS for Windows on top of
Windows XP.
In addition, as discussed in more detail below, Microsoft has provided
the best assistive technology application programming interfaces
("APIs") in its operating systems. Independent software vendors
("ISVs"), like Freedom Scientific, can rely on these APIs when
developing assistive technology software programs that run on Windows
operating system products. Mainstream software vendors (e.g., Corel
and Lotus) can also use these APIs to communicate with assistive
technology products like JAWS from Freedom Scientific.
No other operating system vendor comes close to matching the support
Microsoft provides to assistive-technology ISVs. Microsoft devotes
considerable resources to helping ISVs who develop assistive
technology software products. Microsoft has a group called the
Accessible Technology Group that has more than 40 employees who work
with assistive-technology ISVs, like Freedom Scientific, and with
disability advocates to ensure that people with disabilities can use
the software developed by Microsoft and other ISVs. The Accessible
Technology Group works closely with Freedom Scientific and its
competitors to ensure that we receive the information and assistance
we need to create accessible applications to run on Windows.
For example, last summer Freedom Scientific attended a week-long event
at Microsoft’s campus in Redmond which was designed to provide
assistance to assistive technology ISVs in porting their applications
to Windows XP. Microsoft wanted to ensure that assistive technology
ISVs had the assistance we needed to make sure that our products would
function properly on its latest operating system so that blind and low
vision people would have Windows XP-compatible assistive aids
available when Windows XP was launched.
From time to time, Microsoft also discusses with Freedom Scientific
Microsoft’s plans for improving or incorporating additional assistive
technology features into future operating system products and solicits
our feedback on such improvements.
Not all operating systems are as supportive of assistive technology as
Microsoft’s Windows operating system. Apple Computers, for example,
has done little to make its Macintosh operating systems and
applications accessible to the blind. Only recently has Apple taken
the first steps to work with assistive-technology ISVs to discuss
developing assistive-technology products for the Apple Macintosh
operating system. While there are a number of good accessibility aids
available for the Linux operating system, none of those aids relies on
any functionality in the Linux operating system itself. Moreover,
Linux vendors such as Red Hat offer no assistive technology support
for Linux users or ISVs. Instead, Red Hat refers blind users to open
source volunteers who work hard to make Linux accessible to blind and
otherwise disabled users.
Freedom Scientific’s Assistive Technology Software Products
Freedom Scientific develops and offers for sale several software
products that blind and low vision people use to access computers that
run on Windows desktop and handheld operating systems. All of our
assistive technology software products are developed exclusively for
Windows operating systems for several reasons. First, as discussed
below, Microsoft has outstanding support for assistive technology
products in its operating systems. Second, Windows operating systems
are widely used and so our customers want assistive technology that
runs on Windows. Third, because Linux applications are mostly free, we
would not create an accessibility aid for the Linux operating system,
even if Linux were to provide operating system support for assistive
technology products. Freedom Scientific is in business to make a
profit. Our ability to create and license our software for a profit
provides us with the incentive to continue developing products. We do
not believe it would be in our interest to develop a product for Linux
that we could not sell profitably.
Freedom Scientific’s flagship software product is called JAWS for
Windows, which stands for Job Access With Speech. JAWS is the world’s
best selling screen reader. A screen reader is software that converts
data on a computer screen to speech and/or Braille so that a blind
person can use a computer by having the text of a document read aloud
by the computer or written in Braille on a refreshable Braille display
like the Focus from Freedom Scientific. Among other things, JAWS
allows a blind or low vision user to use many software applications,
such as Microsoft Excel, Microsoft Outlook or Corel WordPerfect, to
create and edit documents, manage financial data, send and receive
e-mail messages and to access the Internet. JAWS reads out loud the
information displayed on the computer screen (such as the text of an
e-mail message or a word processing document) when any of these
programs are run. In fact, I used JAWS to read the States’ First
Amended Proposed Remedy and the draft text of my written direct
testimony. There are approximately 80,000 registered users of JAWS,
most of whom use the product to access the information on a computer
that they need to perform their jobs.
As part of my direct testimony, I intend to conduct a brief, live
demonstration of how JAWS enables blind or low vision computer users
to access information from their computers. Among other things, I will
demonstrate how a blind user can create and spell check a word
processing document, view Web pages from the Internet, and send and
receive e-mail messages on a computer installed with a Windows desktop
operating system and JAWS.
In addition to JAWS, Freedom Scientific makes a product called Connect
Outloud, an Internet access program designed for blind or low vision
people who are new to computing. Blind and low vision people use
Connect Outloud to send and receive e-mail, access the Internet and do
simple word processing.
JAWS’ Reliance on "Middleware"
As an ISV, Freedom Scientific takes advantage of many of the APIs
exposed by Windows operating systems in developing its software
products. It is advantageous to Freedom Scientific to be able to call
on operating system functionality and not to have to spend the time
and money developing that functionality in our products. Taking
advantage of the APIs exposed by the operating system lowers the entry
costs for ISVs and allows them to focus their energy and money on
creating truly innovative products, rather than replicating basic
operating system functionality. In other words, because Microsoft
provides the basic "plumbing" in its Windows operating system and
makes it available for us to use in developing our products, Freedom
Scientific can focus on adding value for its customers.
JAWS relies on five components of the Windows operating system that
would be considered "Middleware" under the non-settling States’
definition, because they expose APIs that ISVs, such as Freedom
Scientific, call on in developing software applications. The five
"Middleware" components that expose APIs that JAWS calls on are:
Microsoft Active Accessibility, Document Object Model, Speech
Application Programming Interface, Common Controls and Internet
Explorer. I will discuss each of these below.
The Document Object Model ("DOM") is a standard published with the
W3C, a recognized standard setting body. Microsoft’s implementation of
the DOM in the Windows operating systems is first-rate. DOM is a
platform- and language-neutral interface that permits programs and
scripts to access and update the content, structure and style of a
document. For example, JAWS uses the DOM to communicate with Microsoft
Excel files. Using the DOM, a JAWS user can query Excel to determine
what the active cell is (i.e., which cell the user’s cursor is in).
Assume the user is told that the active cell is C3. Using the DOM, the
user can then query Excel to find out what the contents of cell C3
are. If the user is told that $250 is in cell C3, using DOM, the user
can then query Excel whether there is a mathematical formula
associated with cell C3. The user might then be told that C3 is the
sum of cells C1 and C2. All of this is possible because DOM allows
JAWS to communicate with Microsoft Excel. In addition to Microsoft
applications, many third party applications, including Corel’s
WordPerfect and Quattro Pro, use Microsoft’s DOM to enable their
applications to be accessible to blind users and to other applications
that also communicate via the DOM.
Microsoft’s Active Accessibility ("MSAA") is a technology that
simplifies the way accessibility aids, such as JAWS, work with
applications running on Microsoft Windows operating systems. Using
MSAA, software developers can make applications more accessible to
people with vision, hearing, motion and other disabilities. MSAA is
used in magnifiers (software that increases the size of text or images
on the screen for low vision users, like MAGic from Freedom
Scientific), screen readers (software that reads aloud or provides in
Braille the text on the screen), tactile mice (devices that, using
force feedback, provide the user with the feel of information on the
screen), specialized keyboards, speech recognition packages and many
other products.
MSAA provides a standard way for accessibility aids, like JAWS, to
access information about user interface elements and to manipulate
these elements. For example, MSAA enables JAWS to provide a blind user
with the choices from a drop down menu in Windows. It also provides
application developers who use MSAA greater flexibility in designing
the user interfaces of their programs. Third party applications such
as Adobe Acrobat and Lotus Notes have implemented MSAA to enable JAWS
to support their applications. As another example, if there were an
image of the U.S. Constitution saved in Adobe Acrobat format (i.e., as
a PDF file), a blind user of JAWS could have the text of the
Constitution read to him using synthesized speech. This is possible
because Windows, JAWS and Adobe Acrobat all support MSAA.
SAPI is Microsoft’s speech API. SAPI is a speech-to-text and speech
recognition interface. SAPI enables ISVs, such as Freedom Scientific,
to communicate with a wide variety of speech synthesizers from
different manufacturers via a single, generic interface. Thus, JAWS is
able to read to a user with a much larger collection of voices in a
wide array of different languages without any custom programming done
by Freedom Scientific engineers to support the different software
synthesizers. In some countries, SAPI synthesizers are the only way a
blind person can hear the information on their screen.
Common Controls are used to create standard dialogue boxes, buttons,
and other on-screen displays in Windows operating systems and in
applications that run on Windows. Standardized boxes and buttons
facilitate the implementation of assistive technology solutions. For
example, JAWS uses Common Controls to make buttons on the Windows
desktop talk to a blind user.
Internet Explorer is the only web browser that is accessible to blind
and low-vision PC users. Nearly one hundred percent of blind people
who browse the Internet do so using Internet Explorer. JAWS utilizes
Internet Explorer to allow blind and low vision users to access the
Internet.
JAWS Would Break if the "Middleware" on Which It Relies Were Removed.
As discussed above, JAWS and Freedom Scientific’s other assistive
technology products call on five kinds of "Middleware" in the Windows
operating system, as that term is defined in the States’ Remedy
Proposal, to perform certain functions. (Although Internet Explorer is
one of the five kinds of Middleware called upon by JAWS, I will
discuss the implications of removing Internet Explorer in a separate
section of my testimony because it raises additional issues.) If a
version of Windows were sold from which an OEM or other Windows
redistributor had removed one or more of MSAA, DOM, SAPI or Common
Controls, JAWS would not function properly and a blind or low vision
user would not be able to use their computer. Moreover, because the
absence of that "Middleware" would be unexpected, the blind or low
vision user may not be able to determine why their computer was not
working. Not only would the absence of any one of these pieces of
"Middleware" break JAWS, but it would also impede the creation of new
assistive technology products to the detriment of blind and low-vision
PC users.
If multiple, non-standard versions of Windows containing different
configurations of Microsoft and non-Microsoft Middleware were to
proliferate, ISVs could no longer rely on the inclusion of Microsoft’s
Middleware in the operating system. As a result, Windows would no
longer be the stable, consistent platform that it is today.
If Freedom Scientific could not be sure that any particular
"Middleware" component would be present in Windows, we would be much
less likely to rely upon that Middleware, even if it offered superior
assistive technology functionality. Depriving ISVs of the opportunity
to use the assistive technology Middleware built into the operating
system would have harmful consequences for blind and low vision users.
The Removal or Alternation of Internet Explorer Would Deprive Blind and
Low Vision Users of the Opportunity To Access the Internet.
Internet Explorer is also "Middleware" under the States’ Proposed
Remedy.
Internet Explorer is the only commercially available browser that is
accessible to blind people, because Microsoft has included assistive
technologies (such as DOM and MSAA) in Internet Explorer. Microsoft
designed Internet Explorer so that Freedom Scientific and other ISVs
that make accessibility aids can use Internet Explorer to provide
assisted browsing. If Internet Explorer were removed from Windows,
blind people would not be able to access the Internet at all. If a
blind person received a computer with a version of Windows that did
not include Internet Explorer, he or she could not use another browser
to get to the Internet to download Internet Explorer, because there is
no other browser that is accessible to blind people. A computer
without Internet Explorer deprives a blind person of the opportunity
to access the Internet.
If Internet Explorer were open-sourced and different versions of
Internet Explorer were created that did not implement assistive
technology solutions (such as MSAA and DOM), blind and low vision
computer users would not be able to access the Internet with these
non-standard versions of Internet Explorer. Similarly, if developers
who were not aware of MSAA and DOM added new features to open-sourced
versions of Internet Explorer, those new features would most likely be
inaccessible to blind and low vision people.
Internet Explorer generally points users to the default home page of
MSN (the Microsoft Network). The MSN website is mostly accessible to
blind people and largely complies with industry standards for creating
accessible websites. If an OEM or third party were even innocently to
change Internet Explorer’s default home page to a website that did not
comply with industry standards for creating accessible websites, a
blind or low vision user might launch Internet Explorer and find their
computer talking gibberish because the default website is not
accessible. Such a result would, at a minimum, be annoying and
unpleasant to blind and low vision users.
It is not an acceptable answer that a blind person who received a
version of Windows without Internet Explorer or with an inaccessible
version of Internet Explorer could call Microsoft and request a copy
of Internet Explorer on a CD-ROM. While the blind person waits for the
copy of Internet Explorer to arrive in the mail, he or she cannot
perform job-related or personal tasks that involve accessing the
Internet.
The Netscape Navigator browser is not accessible to blind and low
vision users. About a year ago, Netscape asked Freedom Scientific how
it could make its browser accessible to blind and low vision people.
Freedom Scientific advised Netscape that it should implement MSAA and
DOM in its browser to make it accessible to blind and low vision
users. Netscape is currently working on an accessible browser, and I
have tested an alpha version of a Netscape browser that supports MSAA
and DOM. However, Netscape, in my opinion, is still a long way from
commercially releasing an accessible browser.
Because the alpha version of the Netscape browser also relies on MSAA
and DOM to make it accessible, the Netscape browser would not function
if it were installed on a version of Windows that did not include the
MSAA and DOM Middleware. Many other ISVs would also be adversely
affected by the removal of MSAA and DOM from Windows.
Creating Different Versions of Windows Would Greatly Increase Freedom
Scientific’s Testing Burden and Technical Support Calls.
If there were multiple versions of Windows with differing combinations
of Microsoft and non-Microsoft Middleware, it would dramatically
increase the testing burdens on Freedom Scientific and other ISVs. The
proliferation of different versions of Windows, containing various
combinations of Microsoft and non-Microsoft Middleware, would impose
tremendous testing burdens on Freedom Scientific.
Freedom Scientific currently employs approximately 8 full-time testers
who test Freedom Scientific’s software products. JAWS contains
approximately 1,200 innate features, which are tested on each version
of Windows. Freedom Scientific currently tests JAWS on Windows 95,
Windows 98, Windows 98 SE, Windows ME, Windows NT Service Pack 4, 5
and 6, Windows 2000, Windows XP Home and Windows XP Professional.
Freedom Scientific also tests JAWS with a wide variety of software
applications that our customers use, and with a wide variety of
possible hardware configurations (e.g., sound cards) that might be
installed on our customers’ computers.
Multiplying this test matrix by a large number of additional versions
of Windows, each containing different combinations of Microsoft and
non-Microsoft Middleware, would make it prohibitively expensive for
Freedom Scientific to test our products as thoroughly as we do now. We
could not afford to employ the significantly increased number of
testers we would need to test JAWS against the many versions of
Windows with differing combinations of Microsoft and non-Microsoft
Middleware.
Because we could not test each of the different, non-standard versions
of Windows, in reality we would likely test our product on a couple of
major versions of Windows (the Compaq and Dell versions, for example)
and just ship our product without testing it on the other versions.
This "solution" is far from ideal, however. For example, if a customer
used JAWS on the Gateway version of Windows that contained a
combination of Middleware that we did not test, the customer might not
be able to make JAWS work properly on that version of Windows. The
customer would then have to call Freedom Scientific to ask why JAWS
will not work with their computer. Before we could begin to determine
the cause of the problem, we would have to find out what hardware the
customer had, what version of Windows the customer had, which
Middleware was and was not included in the customer’s version of
Windows, and which applications the customer was running. Only after
Freedom Scientific learned that information from the customer could we
begin to determine what caused the problem and how to fix it. Even
then, because the combination would likely be one that Freedom
Scientific had not tested, our ability to determine the cause of the
problem and to advise the customer how to fix it would be limited.
During all of this time, the blind or low vision customer would not be
able to use their computer. If the customer were using the computer to
perform her job, they could not work productively (if at all) until we
could resolve the problem.
Let me illustrate this problem with an example that did not involve
any modifications to Windows. In the past year, some OEMs added an
"Internet Keyboard" to their computers to try to distinguish their
products from other OEMs. An "Internet Keyboard" is a keyboard that
contains special new keys, in addition to the standard keys on most
keyboards, that automatically launch a browser to access the Internet,
can be used to access a Favorites list, or to move Back or Forward
among visited web pages. Exactly what these keys do, and how they are
configured, varies from OEM to OEM. After Christmas last year, Freedom
Scientific received several dozen technical support calls from JAWS
users who had purchased computers with Internet Keyboards and who
called to ask why the Internet keys on their Internet Keyboard did not
perform any functions. Freedom Scientific did not even know that OEMs
had added these Internet Keyboards to their computers and thus was not
in a position to make those keys work with JAWS. Anything on a
computer that is non-standard makes it more difficult for blind and
low vision people to use computers and for ISVs to make their products
work with every variation or "doo-dad" that an OEM might add to try to
give them a competitive edge. This problem, however, is much simpler
to address than the problems that would be caused by the States’
Remedy Proposal. In this case, our users knew there were new keys, and
once alerted to the existence of the keys, we explained that JAWS had
not been designed to work with those keys. Under the States’ Remedy,
however, the actual software code of Windows will be different, but
this difference will not be readily apparent to users or to Freedom
Scientific. Therefore, the difficulties in designing our software,
testing our software and troubleshooting our products will be
increased many times over.
Freedom Scientific’s inability to test the various versions of Windows
with various Middleware configurations will lead to a dramatic
increase in customer support calls as our customers experience
problems running JAWS on their particular version of Windows.
Responding to customer support calls is expensive for any ISV, and the
additional burden of responding to the increased customer support
calls caused by non-standard versions of Windows would increase
Freedom Scientific’s costs. We would have to pass those increased
costs along to our customers in one of several ways: we could increase
the price of our software products, we could begin charging our
customers for technical support, or we could do some combination of
those two options.
If Freedom Scientific had to expend additional resources to test
different, non-standard versions of Windows and to respond to
increased customer support calls, we would have fewer financial and
developer resources to devote to adding innovative new features to our
existing products and to developing entirely new products. Blind and
low vision consumers would suffer from the lack of innovation.
Anything that Alters the Consistent User Interface of Windows
Disadvantages Blind and Low Vision Computer Users.
The consistent layout and operation of the Windows user interface is
very important to people with visual impairments and to assistive
technology ISVs. By providing a stable and consistent user interface,
Windows operating systems have provided benefits to large numbers of
blind and low vision people.
Assistive technology products rely upon standardization and
predictability. For example, JAWS expects a "button" on the Windows
desktop to look and act a certain way. This expectation is, in part,
how our products identify buttons, and enables us to relay information
regarding buttons to our blind or visually-impaired users. A Start
Menu or desktop that is non-standard would pose significant
difficulties for assistive technology vendors, because not all items
on the desktop (or in the Start Menu) would share the characteristics
normally associated with those items. This would increase development,
testing, and technical support costs.
For example, the Start Menu in Windows 2000 and Windows XP look
different, because Microsoft added new user interface elements as part
of its improvements to Windows XP. As a result, Freedom Scientific
software developers had to do development work to make JAWS work with
the Start Menu in Windows XP. We only had to do the development work
once, however, because there is only one new version of the Windows XP
interface.
If there were multiple versions of Windows with different user
interfaces, Start Menus or desktops, blind people would be adversely
affected. For example, JAWS and our users expect to be able to find a
"My Documents" folder on the Windows desktop or in the new Start Menu.
Even a minor change by an OEM or a third party to the Windows desktop,
like removing the "My Documents" folder or renaming the folder "My
Favorite Things," could create problems for the JAWS user. Such
changes result in additional testing burdens and increased support
calls for Freedom Scientific.
Moreover, different non-standard versions of Windows with different
user interfaces make it less likely that blind and low vision users
can transfer their knowledge about how personal computers work from
one computer to another. For example, if a blind user was employed by
a company that used the Dell version of Windows, and then switched
jobs to a company that used the Gateway version of Windows that had a
different user interface and Start Menu, the blind user may find
himself unable to adapt to the Gateway version without additional
training. For this reason, a standard, consistent platform is
especially beneficial to blind and low vision users and their
employers.
Freedom Scientific does not have the resources to create different
versions of JAWS for different versions of Windows with different user
interfaces, Start Menus or desktops. It is likely that Freedom
Scientific would decide only to support certain versions of Windows
(such as the Compaq or Dell versions) and devote its limited developer
resources to making versions of JAWS that worked with the Compaq or
Dell versions of Windows. However, if a blind user worked for a
corporation that used the Gateway version of Windows, that blind user
may find her computer inaccessible. This will, of course, also limit
choices for blind people by forcing them to use only the most popular
brands of personal computers.
Many of Freedom Scientific’s customers are first-time computer users.
For that reason, Freedom Scientific distributes detailed training
materials with its products to assist its customers in familiarizing
themselves with their PCs. To the extent that items as basic as the
desktop and Start Menu are reconfigured, Freedom Scientific would have
to create different versions of its training materials that correspond
with the non-standard versions of Windows. Creating training manuals
is already costly for Freedom Scientific. It could be prohibitively
expensive to create multiple versions of training materials for
non-standard versions of Windows.
Microsoft’s Disclosures of APIs Are Timely and More than Adequate.
Because Microsoft is continually innovating and adding new features to
improve its operating systems, there is always a risk that a software
product created for an older version of Windows may not work as well
on a newer version of Windows. As part of its efforts to minimize such
compatibility problems, Microsoft makes available to ISVs a beta test
release of Windows well in advance of that operating system’s
commercial release. This gives Freedom Scientific and other ISVs
sufficient time to test their products to ensure that they will
continue to run well on the Windows operating system, and to develop
new features that take advantage of new technologies Microsoft is
including in the upcoming version of Windows.
Freedom Scientific also subscribes to the Microsoft Developer Network
("MSDN") to get access to disclosures of and technical information
about Microsoft’s APIs. I have found Microsoft’s disclosures of APIs
on MSDN to be the most thorough collection of documentation about any
desktop operating system available anywhere. As a software developer,
I would always like to have more information, of course. However, in
my experience, not only are Microsoft’s disclosures and technical
information more than adequate to enable ISVs to make their products
take advantage of the Windows APIs, they are the best in the industry.
Although it is not good practice, Freedom Scientific does utilize some
undocumented interfaces in Windows. There are hundreds or thousands of
undocumented interfaces in Windows, some of which have been published
in books like Undocumented Windows. Some Microsoft software engineers
are not even aware of the existence of many of the undocumented
techniques that can be used to gather information from Windows. I know
this because when Freedom Scientific disclosed the techniques we used
to access various undocumented interfaces in Windows to some Microsoft
employees, I recall Microsoft being pretty impressed at our discovery.
Although we utilize these undocumented interfaces, it is a dangerous
hack. It is dangerous for several reasons. First, the interfaces have
not been tested by Microsoft for all the possible consequences of
using them in the way that we do. It is often the case that using an
interface in some untested way can cause unintended or unexpected
effects somewhere else in the program. This is especially true for a
program as large and complex as Windows. Second, when Microsoft
documents an interface, it is in effect telling ISVs that we can
expect that interface to behave in a predictable fashion for future
versions of Windows (at least until Microsoft tells us it is making a
change). Microsoft does all the work needed to ensure, to a great
extent, that the thousands of documented Windows APIs work from
version to version for the vast majority of ISVs and our programs.
However, when Microsoft modifies Windows to improve it, Microsoft
often changes undocumented interfaces. If Freedom Scientific is using
an undocumented interface, and Microsoft changes it, our program may
not operate properly. For those reasons, I do not believe that
Microsoft should be require to document these interfaces.
I declare under penalty of perjury that the foregoing is true and correct.
Executed this ___ day of April 2002 at St. Petersburg, Florida.
_____________________
Chris Hofstader
Christian D. Hofstader
3019 8th St. North
St. Petersburg, FL 33704
(727) 896-6393
(727) 803-8000 x1061 (o)
chrish at freedomscientific.com
Experience
October 1998 – Present
Vice President/Software Engineering
Director of Software Development
Development Manager
Freedom Scientific, Inc.
http://www.freedomscientific.com
Freedom Scientific (formerly Henter-Joyce) is the world’s largest
developer of software for blind and visually impaired computer users. Its
products include: JAWS, a screen reader; MAGic, a screen magnification
program with speech; Open Book, an OCR product which reads books aloud to
its users; and a variety of hardware devices designed specifically for
blind users. All of our products deliver information to the user through
text to speech synthesizers and some drive Braille displays.
My primary role at Freedom Scientific/Henter-Joyce is to manage the
software development department. My responsibilities include building a
development team, implementing standard engineering procedures, tracking
schedules, ensuring timely deliveries of products, budgeting the team’s
resources, managing third party development and improving communications.
Prior to the merger, I reported directly to the General Manager; I now
report to the President of the organization.
When I joined Henter-Joyce, there were virtually no formal procedures for
designing, implementing or testing software. We had no way of tracking
schedules, and products were released in an ad hoc manner. Typically,
product releases occurred once every 14 months. During my tenure, we have
built a formal test department, grew the team from 6 to 25 programmers,
have improved communications and reporting procedures and have had 16
successful software releases.
July 1996 – August 1998
Consultant
My services during this period included consulting to both software and
other companies with software engineering needs in a variety of areas
involving a number of engineering related issues. Specifically, I have
performed tasks varying from recruiting and team building to
internationalizing Windows '95, NT and Macintosh programs to developing a
sophisticated education product in HTML, Java and CGI.
June 1994 - July 1996
President
Ignis Technology Corporation
Coordinated the startup phase of the corporation, assembling the startup
team, leading the incorporation process and developing the organization
throughout its first year.
In its first year, Ignis developed Dashboard for Windows '95 for Starfish
Software as well as a number of other products for a variety of other
software companies. My role was both project manager and individual
contributor.
In its second year, Ignis added management consulting. My role included
project management and development, and I also assumed the lead role in
Ignis' management consulting areas.
November 1989 - May 1994
Technical Leader
Turning Point Software
Coordinated the creation of TPS' Technical Leader Committee, which became
responsible for the technical design of all projects developed at TPS.
Other tasks that the Technical Leader group performed included maintenance
of the TPS Coding Standards, code reviews for the engineering staff and
development of TPS cross-platform libraries.
In addition to defining and organizing the Technical Leader Committee, I
continued my daily activities as a software engineer working on projects
for MS Windows in C++.
I was also responsible for designing and developing software for MS-DOS,
Microsoft Windows and UNIX based systems. Responsibilities included
scheduling projects, client interaction and design and implementation of a
wide variety of software products.
November 1988 - October 1989
Principal Engineer
Experra Corporation
Responsibilities included writing and maintaining Experra's Extract Plus
financial database product. I designed and implemented a set of coding
standards and implemented the usage of software engineering tools. I was
also responsible for the management of the rest of the development staff.
July 1987 - November 1988
Software Engineer
Number Nine Computer Corporation
Responsible for writing software graphics device interfaces between
commercially available CAD/CAM packages and the graphics hardware designed
at Number Nine. All the work was on IBM PC/AT/386 machines and was written
in C and Assembly Language.
February 1983- July 1987
Independent Programming Consultant
Clients included Exxon Research and Engineering, Arrow Paper, Ginsberg
Bros., a major New York Commodities firm and Congressman Mel Reynolds.
May 1979 - February 1983
Programmer
Lincoln Savings and Loan
Computer programmer.
Organizational Experience
January 2002 – Present
Access Forum
This group, funded by GSA helps the Federal Government interpret Section
508. Its goals are to help set standards for accessibility and provide the
myriad Federal agencies with the information they need to comply with this
important legislation.
May 2000 – May 2001
Committee on Accessibility for People with Impairments
City of St. Petersburg, Florida
As a member of this committee, I participated in advising the Mayor and
City Council on issues regarding accessibility.
April 1989 - February 1997
Co-founder, President, Director
League for Programming Freedom
Along with Richard Stallman, I founded this influential organization and
helped develop its growth until it merged with another IP law related
organization. LPF was credited with organizing the friend of the court
brief which helped Borland win the lawsuit with Lotus in the Federal
Circuit Court and the U.S. Supreme Court.
©2002 Microsoft Corporation. All rights reserved.
More information about the Speakup
mailing list