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