I swear to tell the truth,
Cecil H. Whitley
cwhitley at ec.rr.com
Wed May 1 18:34:26 EDT 2002
Oh yeah, if microsoft documents previously undocumented api's and updates
that documentation when they make changes, how does that hurt developers
exactly???????
Cecil
----- Original Message -----
From: "Janina Sajka" <janina at afb.net>
To: <uaccess-l at trace.wisc.edu>; <speakup at braille.uwo.ca>
Sent: Wednesday, May 01, 2002 3:34 PM
Subject: I swear to tell the truth,
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.
_______________________________________________
Speakup mailing list
Speakup at braille.uwo.ca
http://speech.braille.uwo.ca/mailman/listinfo/speakup
More information about the Speakup
mailing list