I swear to tell the truth,

Janina Sajka janina at afb.net
Wed May 1 15:34:24 EDT 2002


The whole truth, and nothing but the truth, so help me God.


>From the web page
http://www.microsoft.com/presspass/trial/mswitness/2002/hofstader.asp 

      IN THE UNITED STATES DISTRICT COURT
      FOR THE DISTRICT OF columbia
       
            STATE OF NEW YORK ex rel.
            Attorney General ELIOT SPITZER, et al.,

            Plaintiffs,
            v.
            MICROSOFT CORPORATION,
            Defendant. 
             
            Civil Action No. 98-1233 (CKK)

      Written Direct Testimony of CHRIS HOFSTADER
      TABLE OF CONTENTS
      I. Background * 
      II. The Need for Assistive Technology *
      III. Microsoft’s Support for Accessibility *
      IV. Freedom Scientific’s Assistive Technology 
      Software Products *
      V. JAWS’ Reliance on "Middleware" *
      VI. JAWS Would Break if the "Middleware" on 
      Which It Relies Were Removed. *
      VII. The Removal or Alternation of Internet Explorer 
      Would Deprive Blind and Low Vision Users of the 
      Opportunity To Access the Internet. *
      VIII. Creating Different Versions of Windows Would 
      Greatly Increase Freedom Scientific’s Testing 
      Burden and Technical Support Calls. *
      IX. Anything that Alters the Consistent User Interface 
      of Windows Disadvantages Blind and Low Vision 
      Computer Users. *
      X. Microsoft’s Disclosures of APIs Are Timely and 
      More than Adequate. *
       
          My name is Chris Hofstader. I am the Vice President of Software 
          Engineering for Freedom Scientific Inc. Freedom Scientific is the 
          world leader in the development, manufacture and marketing of 
          assistive technology software and hardware products that people use to 
          overcome the challenges of blindness, low vision and other 
          disabilities. Our software programs and hardware devices provide tools 
          for our customers to attend school, hold jobs, access personal 
          computers and simply live their everyday lives. Freedom Scientific’s 
          company mission is: "To change the world for people with sensory 
          impairments and learning disabilities by creating innovative, 
          technology based solutions." 
          Not only do I manage the development of software products for blind 
          and low-vision people, but because I am blind, I also use our software 
          products both at work and at home. 
          Freedom Scientific is a privately-held company that has approximately 
          183 employees today, the vast majority of whom work in the Blind and 
          Low Vision Group where they develop software and hardware products for 
          blind and low vision computer users. Over 30% of the employees who 
          work in the Blind/Low Vision Group at Freedom Scientific are blind or 
          vision impaired.
        Background
          I graduated from New York University in 1982 with a Bachelor of 
          Science degree in Computer Science. 
          I have 23 years of professional experience working in software 
          development. From 1979 through the fall of 1998, I held various 
          positions as a computer programmer and software developer for numerous 
          companies, and I have also worked as an independent software 
          consultant. A copy of my resume is attached hereto as Exhibit A. 
          In October 1998, I joined Henter-Joyce, a company that developed 
          assistive technology software products for blind and low vision 
          people. I was the Manager of Software Development at Henter-Joyce, and 
          I developed software products for blind and low vision people. 
          Henter-Joyce developed one of the first screen readers, which is 
          software that converts the contents of a computer screen to speech and 
          Braille. Blind people use screen readers to access the information on 
          their computers. 
          Freedom Scientific was formed in April 2000 as a result of the 
          acquisition of Henter-Joyce and two other assistive technology 
          companies. After Henter-Joyce was acquired, I was promoted to the 
          position of Director of Software Development for Freedom Scientific. 
          Since August 2000, I have been Vice President of Software Engineering 
          at Freedom Scientific. I work in the Blind and Low Vision Group and am 
          responsible for a group of approximately 25 software developers who 
          create software products for blind and low vision people. 
        The Need for Assistive Technology
          There are between 1.5 and 2 million blind and approximately 10 million 
          visually impaired people in the United States who are blind or low 
          vision. They are likely to experience some degree of difficulty in 
          working with computers. For example, they may be unable to see text or 
          images on a computer screen and perform tasks that require eye-hand 
          coordination such as moving a computer mouse. 
          Assistive technology software programs, such as those developed by 
          Freedom Scientific and its competitors, make it possible for people 
          with disabilities to use computer technologies successfully at work, 
          at school, and at home. 
          Accessible computers are more than just good business—they are a 
          matter of civil rights. I am not a lawyer, but based on my experiences 
          working at Freedom Scientific and Henter-Joyce, I have become familiar 
          with the federal laws requiring accessibility for disabled people. For 
          example, the Americans with Disabilities Act requires that employers 
          make their workplaces accessible to employees with disabilities. 
          Similarly, the Individuals with Disabilities Education Act mandates 
          that school districts provide assistive technology products for 
          disabled students. Freedom Scientific’s assistive technology products 
          enable employers and schools to comply with their obligations under 
          federal law to provide accessible technology to blind and low vision 
          employees and students. 
          Moreover, Section 508 of the Rehabilitation Act requires that 
          electronic and information technology developed, procured, maintained 
          or used by the federal government or federal agencies be accessible to 
          people with disabilities. Thus, any computer or software purchase by 
          the federal government must comply with Section 508. States that 
          receive federal funds under the Assistive Technology Act of 1998 are 
          also required to comply with Section 508 of the Rehabilitation Act. 
        Microsoft’s Support for Accessibility 
          Microsoft has truly been a pioneer in empowering people with 
          disabilities by developing technologies in its products that enable 
          them to overcome barriers to employment and participate fully in other 
          aspects of life. Microsoft was one of the very few software companies 
          that was committed to providing first-rate assistive technology 
          support in its products before any federal law required that such 
          things be available. 
          Microsoft has expended significant effort in making Windows operating 
          systems accessible to people with disabilities, including blind and 
          low vision people. Beginning in 1988 with Windows 2.0, Microsoft began 
          including accessibility features in its operating system. Over the 
          years, Microsoft has continually improved and expanded its efforts to 
          make its operating systems and applications accessible to people with 
          disabilities. 
          Most recently, Microsoft has built a wide range of accessibility 
          options into its Windows 2000 and Windows XP operating system products 
          including an accessibility wizard to help people adapt various 
          operating system features to their needs. Windows XP contains dozens 
          of built-in features specifically for people with disabilities. For 
          example, users can bypass the mouse altogether by taking advantage of 
          a feature known as MouseKeys that allows them to perform mouse-based 
          tasks using the numeric keypad instead. Microsoft has added close 
          captioning and audio description technology to make multimedia content 
          accessible to deaf and blind users. In addition, Windows 2000 and 
          Windows XP include the Narrator utility, which is a very basic text to 
          speech program for blind users, and the Magnifier utility, which 
          provides a minimum level of screen magnification for low-vision 
          individuals. Because these assistive technology utilities are always 
          present on a Windows PC, a blind or low vision person can make limited 
          use of their computer (or a friend’s or colleague’s computer) without 
          installing a full-fledged assistive technology product like JAWS® for 
          Windows from Freedom Scientific. 
          The experience I had installing Windows XP on my home computer is just 
          one example of how much easier Microsoft has made it for blind and low 
          vision people to use the most fundamental elements of the Windows 
          operating system products, even without the addition of an assistive 
          technology aid such as those made by Freedom Scientific. On the day 
          after Thanksgiving, my wife drove me to Circuit City so that I could 
          purchase a copy of Windows XP. When I got home, I inserted the Windows 
          XP CD-ROM into the CD-ROM drive of my computer. The Windows XP 
          Installation program, using the Microsoft Text to Speech Engine via 
          the Microsoft Speech Application Programming Interface, then said that 
          if I want to use the accessibility features, hit Windows key "U." I 
          did so and immediately the Narrator utility in Windows was launched 
          and I could proceed with the installation process guided by the spoken 
          prompts. Without any assistance from my wife, I was able to install 
          Windows XP "soup to nuts" by myself using the basic speech features 
          built into Windows XP. I then installed JAWS for Windows on top of 
          Windows XP. 
          In addition, as discussed in more detail below, Microsoft has provided 
          the best assistive technology application programming interfaces 
          ("APIs") in its operating systems. Independent software vendors 
          ("ISVs"), like Freedom Scientific, can rely on these APIs when 
          developing assistive technology software programs that run on Windows 
          operating system products. Mainstream software vendors (e.g., Corel 
          and Lotus) can also use these APIs to communicate with assistive 
          technology products like JAWS from Freedom Scientific. 
          No other operating system vendor comes close to matching the support 
          Microsoft provides to assistive-technology ISVs. Microsoft devotes 
          considerable resources to helping ISVs who develop assistive 
          technology software products. Microsoft has a group called the 
          Accessible Technology Group that has more than 40 employees who work 
          with assistive-technology ISVs, like Freedom Scientific, and with 
          disability advocates to ensure that people with disabilities can use 
          the software developed by Microsoft and other ISVs. The Accessible 
          Technology Group works closely with Freedom Scientific and its 
          competitors to ensure that we receive the information and assistance 
          we need to create accessible applications to run on Windows. 
          For example, last summer Freedom Scientific attended a week-long event 
          at Microsoft’s campus in Redmond which was designed to provide 
          assistance to assistive technology ISVs in porting their applications 
          to Windows XP. Microsoft wanted to ensure that assistive technology 
          ISVs had the assistance we needed to make sure that our products would 
          function properly on its latest operating system so that blind and low 
          vision people would have Windows XP-compatible assistive aids 
          available when Windows XP was launched. 
          From time to time, Microsoft also discusses with Freedom Scientific 
          Microsoft’s plans for improving or incorporating additional assistive 
          technology features into future operating system products and solicits 
          our feedback on such improvements. 
          Not all operating systems are as supportive of assistive technology as 
          Microsoft’s Windows operating system. Apple Computers, for example, 
          has done little to make its Macintosh operating systems and 
          applications accessible to the blind. Only recently has Apple taken 
          the first steps to work with assistive-technology ISVs to discuss 
          developing assistive-technology products for the Apple Macintosh 
          operating system. While there are a number of good accessibility aids 
          available for the Linux operating system, none of those aids relies on 
          any functionality in the Linux operating system itself. Moreover, 
          Linux vendors such as Red Hat offer no assistive technology support 
          for Linux users or ISVs. Instead, Red Hat refers blind users to open 
          source volunteers who work hard to make Linux accessible to blind and 
          otherwise disabled users. 
        Freedom Scientific’s Assistive Technology Software Products 
          Freedom Scientific develops and offers for sale several software 
          products that blind and low vision people use to access computers that 
          run on Windows desktop and handheld operating systems. All of our 
          assistive technology software products are developed exclusively for 
          Windows operating systems for several reasons. First, as discussed 
          below, Microsoft has outstanding support for assistive technology 
          products in its operating systems. Second, Windows operating systems 
          are widely used and so our customers want assistive technology that 
          runs on Windows. Third, because Linux applications are mostly free, we 
          would not create an accessibility aid for the Linux operating system, 
          even if Linux were to provide operating system support for assistive 
          technology products. Freedom Scientific is in business to make a 
          profit. Our ability to create and license our software for a profit 
          provides us with the incentive to continue developing products. We do 
          not believe it would be in our interest to develop a product for Linux 
          that we could not sell profitably. 
          Freedom Scientific’s flagship software product is called JAWS for 
          Windows, which stands for Job Access With Speech. JAWS is the world’s 
          best selling screen reader. A screen reader is software that converts 
          data on a computer screen to speech and/or Braille so that a blind 
          person can use a computer by having the text of a document read aloud 
          by the computer or written in Braille on a refreshable Braille display 
          like the Focus from Freedom Scientific. Among other things, JAWS 
          allows a blind or low vision user to use many software applications, 
          such as Microsoft Excel, Microsoft Outlook or Corel WordPerfect, to 
          create and edit documents, manage financial data, send and receive 
          e-mail messages and to access the Internet. JAWS reads out loud the 
          information displayed on the computer screen (such as the text of an 
          e-mail message or a word processing document) when any of these 
          programs are run. In fact, I used JAWS to read the States’ First 
          Amended Proposed Remedy and the draft text of my written direct 
          testimony. There are approximately 80,000 registered users of JAWS, 
          most of whom use the product to access the information on a computer 
          that they need to perform their jobs. 
          As part of my direct testimony, I intend to conduct a brief, live 
          demonstration of how JAWS enables blind or low vision computer users 
          to access information from their computers. Among other things, I will 
          demonstrate how a blind user can create and spell check a word 
          processing document, view Web pages from the Internet, and send and 
          receive e-mail messages on a computer installed with a Windows desktop 
          operating system and JAWS. 
          In addition to JAWS, Freedom Scientific makes a product called Connect 
          Outloud, an Internet access program designed for blind or low vision 
          people who are new to computing. Blind and low vision people use 
          Connect Outloud to send and receive e-mail, access the Internet and do 
          simple word processing. 
        JAWS’ Reliance on "Middleware"
          As an ISV, Freedom Scientific takes advantage of many of the APIs 
          exposed by Windows operating systems in developing its software 
          products. It is advantageous to Freedom Scientific to be able to call 
          on operating system functionality and not to have to spend the time 
          and money developing that functionality in our products. Taking 
          advantage of the APIs exposed by the operating system lowers the entry 
          costs for ISVs and allows them to focus their energy and money on 
          creating truly innovative products, rather than replicating basic 
          operating system functionality. In other words, because Microsoft 
          provides the basic "plumbing" in its Windows operating system and 
          makes it available for us to use in developing our products, Freedom 
          Scientific can focus on adding value for its customers. 
          JAWS relies on five components of the Windows operating system that 
          would be considered "Middleware" under the non-settling States’ 
          definition, because they expose APIs that ISVs, such as Freedom 
          Scientific, call on in developing software applications. The five 
          "Middleware" components that expose APIs that JAWS calls on are: 
          Microsoft Active Accessibility, Document Object Model, Speech 
          Application Programming Interface, Common Controls and Internet 
          Explorer. I will discuss each of these below. 
          The Document Object Model ("DOM") is a standard published with the 
          W3C, a recognized standard setting body. Microsoft’s implementation of 
          the DOM in the Windows operating systems is first-rate. DOM is a 
          platform- and language-neutral interface that permits programs and 
          scripts to access and update the content, structure and style of a 
          document. For example, JAWS uses the DOM to communicate with Microsoft 
          Excel files. Using the DOM, a JAWS user can query Excel to determine 
          what the active cell is (i.e., which cell the user’s cursor is in). 
          Assume the user is told that the active cell is C3. Using the DOM, the 
          user can then query Excel to find out what the contents of cell C3 
          are. If the user is told that $250 is in cell C3, using DOM, the user 
          can then query Excel whether there is a mathematical formula 
          associated with cell C3. The user might then be told that C3 is the 
          sum of cells C1 and C2. All of this is possible because DOM allows 
          JAWS to communicate with Microsoft Excel. In addition to Microsoft 
          applications, many third party applications, including Corel’s 
          WordPerfect and Quattro Pro, use Microsoft’s DOM to enable their 
          applications to be accessible to blind users and to other applications 
          that also communicate via the DOM. 
          Microsoft’s Active Accessibility ("MSAA") is a technology that 
          simplifies the way accessibility aids, such as JAWS, work with 
          applications running on Microsoft Windows operating systems. Using 
          MSAA, software developers can make applications more accessible to 
          people with vision, hearing, motion and other disabilities. MSAA is 
          used in magnifiers (software that increases the size of text or images 
          on the screen for low vision users, like MAGic from Freedom 
          Scientific), screen readers (software that reads aloud or provides in 
          Braille the text on the screen), tactile mice (devices that, using 
          force feedback, provide the user with the feel of information on the 
          screen), specialized keyboards, speech recognition packages and many 
          other products. 
          MSAA provides a standard way for accessibility aids, like JAWS, to 
          access information about user interface elements and to manipulate 
          these elements. For example, MSAA enables JAWS to provide a blind user 
          with the choices from a drop down menu in Windows. It also provides 
          application developers who use MSAA greater flexibility in designing 
          the user interfaces of their programs. Third party applications such 
          as Adobe Acrobat and Lotus Notes have implemented MSAA to enable JAWS 
          to support their applications. As another example, if there were an 
          image of the U.S. Constitution saved in Adobe Acrobat format (i.e., as 
          a PDF file), a blind user of JAWS could have the text of the 
          Constitution read to him using synthesized speech. This is possible 
          because Windows, JAWS and Adobe Acrobat all support MSAA. 
          SAPI is Microsoft’s speech API. SAPI is a speech-to-text and speech 
          recognition interface. SAPI enables ISVs, such as Freedom Scientific, 
          to communicate with a wide variety of speech synthesizers from 
          different manufacturers via a single, generic interface. Thus, JAWS is 
          able to read to a user with a much larger collection of voices in a 
          wide array of different languages without any custom programming done 
          by Freedom Scientific engineers to support the different software 
          synthesizers. In some countries, SAPI synthesizers are the only way a 
          blind person can hear the information on their screen. 
          Common Controls are used to create standard dialogue boxes, buttons, 
          and other on-screen displays in Windows operating systems and in 
          applications that run on Windows. Standardized boxes and buttons 
          facilitate the implementation of assistive technology solutions. For 
          example, JAWS uses Common Controls to make buttons on the Windows 
          desktop talk to a blind user. 
          Internet Explorer is the only web browser that is accessible to blind 
          and low-vision PC users. Nearly one hundred percent of blind people 
          who browse the Internet do so using Internet Explorer. JAWS utilizes 
          Internet Explorer to allow blind and low vision users to access the 
          Internet. 
        JAWS Would Break if the "Middleware" on Which It Relies Were Removed.
          As discussed above, JAWS and Freedom Scientific’s other assistive 
          technology products call on five kinds of "Middleware" in the Windows 
          operating system, as that term is defined in the States’ Remedy 
          Proposal, to perform certain functions. (Although Internet Explorer is 
          one of the five kinds of Middleware called upon by JAWS, I will 
          discuss the implications of removing Internet Explorer in a separate 
          section of my testimony because it raises additional issues.) If a 
          version of Windows were sold from which an OEM or other Windows 
          redistributor had removed one or more of MSAA, DOM, SAPI or Common 
          Controls, JAWS would not function properly and a blind or low vision 
          user would not be able to use their computer. Moreover, because the 
          absence of that "Middleware" would be unexpected, the blind or low 
          vision user may not be able to determine why their computer was not 
          working. Not only would the absence of any one of these pieces of 
          "Middleware" break JAWS, but it would also impede the creation of new 
          assistive technology products to the detriment of blind and low-vision 
          PC users. 
          If multiple, non-standard versions of Windows containing different 
          configurations of Microsoft and non-Microsoft Middleware were to 
          proliferate, ISVs could no longer rely on the inclusion of Microsoft’s 
          Middleware in the operating system. As a result, Windows would no 
          longer be the stable, consistent platform that it is today. 
          If Freedom Scientific could not be sure that any particular 
          "Middleware" component would be present in Windows, we would be much 
          less likely to rely upon that Middleware, even if it offered superior 
          assistive technology functionality. Depriving ISVs of the opportunity 
          to use the assistive technology Middleware built into the operating 
          system would have harmful consequences for blind and low vision users. 

        The Removal or Alternation of Internet Explorer Would Deprive Blind and 
        Low Vision Users of the Opportunity To Access the Internet.
          Internet Explorer is also "Middleware" under the States’ Proposed 
          Remedy. 
          Internet Explorer is the only commercially available browser that is 
          accessible to blind people, because Microsoft has included assistive 
          technologies (such as DOM and MSAA) in Internet Explorer. Microsoft 
          designed Internet Explorer so that Freedom Scientific and other ISVs 
          that make accessibility aids can use Internet Explorer to provide 
          assisted browsing. If Internet Explorer were removed from Windows, 
          blind people would not be able to access the Internet at all. If a 
          blind person received a computer with a version of Windows that did 
          not include Internet Explorer, he or she could not use another browser 
          to get to the Internet to download Internet Explorer, because there is 
          no other browser that is accessible to blind people. A computer 
          without Internet Explorer deprives a blind person of the opportunity 
          to access the Internet. 
          If Internet Explorer were open-sourced and different versions of 
          Internet Explorer were created that did not implement assistive 
          technology solutions (such as MSAA and DOM), blind and low vision 
          computer users would not be able to access the Internet with these 
          non-standard versions of Internet Explorer. Similarly, if developers 
          who were not aware of MSAA and DOM added new features to open-sourced 
          versions of Internet Explorer, those new features would most likely be 
          inaccessible to blind and low vision people. 
          Internet Explorer generally points users to the default home page of 
          MSN (the Microsoft Network). The MSN website is mostly accessible to 
          blind people and largely complies with industry standards for creating 
          accessible websites. If an OEM or third party were even innocently to 
          change Internet Explorer’s default home page to a website that did not 
          comply with industry standards for creating accessible websites, a 
          blind or low vision user might launch Internet Explorer and find their 
          computer talking gibberish because the default website is not 
          accessible. Such a result would, at a minimum, be annoying and 
          unpleasant to blind and low vision users. 
          It is not an acceptable answer that a blind person who received a 
          version of Windows without Internet Explorer or with an inaccessible 
          version of Internet Explorer could call Microsoft and request a copy 
          of Internet Explorer on a CD-ROM. While the blind person waits for the 
          copy of Internet Explorer to arrive in the mail, he or she cannot 
          perform job-related or personal tasks that involve accessing the 
          Internet. 
          The Netscape Navigator browser is not accessible to blind and low 
          vision users. About a year ago, Netscape asked Freedom Scientific how 
          it could make its browser accessible to blind and low vision people. 
          Freedom Scientific advised Netscape that it should implement MSAA and 
          DOM in its browser to make it accessible to blind and low vision 
          users. Netscape is currently working on an accessible browser, and I 
          have tested an alpha version of a Netscape browser that supports MSAA 
          and DOM. However, Netscape, in my opinion, is still a long way from 
          commercially releasing an accessible browser. 
          Because the alpha version of the Netscape browser also relies on MSAA 
          and DOM to make it accessible, the Netscape browser would not function 
          if it were installed on a version of Windows that did not include the 
          MSAA and DOM Middleware. Many other ISVs would also be adversely 
          affected by the removal of MSAA and DOM from Windows. 
        Creating Different Versions of Windows Would Greatly Increase Freedom 
        Scientific’s Testing Burden and Technical Support Calls.
          If there were multiple versions of Windows with differing combinations 
          of Microsoft and non-Microsoft Middleware, it would dramatically 
          increase the testing burdens on Freedom Scientific and other ISVs. The 
          proliferation of different versions of Windows, containing various 
          combinations of Microsoft and non-Microsoft Middleware, would impose 
          tremendous testing burdens on Freedom Scientific. 
          Freedom Scientific currently employs approximately 8 full-time testers 
          who test Freedom Scientific’s software products. JAWS contains 
          approximately 1,200 innate features, which are tested on each version 
          of Windows. Freedom Scientific currently tests JAWS on Windows 95, 
          Windows 98, Windows 98 SE, Windows ME, Windows NT Service Pack 4, 5 
          and 6, Windows 2000, Windows XP Home and Windows XP Professional. 
          Freedom Scientific also tests JAWS with a wide variety of software 
          applications that our customers use, and with a wide variety of 
          possible hardware configurations (e.g., sound cards) that might be 
          installed on our customers’ computers. 
          Multiplying this test matrix by a large number of additional versions 
          of Windows, each containing different combinations of Microsoft and 
          non-Microsoft Middleware, would make it prohibitively expensive for 
          Freedom Scientific to test our products as thoroughly as we do now. We 
          could not afford to employ the significantly increased number of 
          testers we would need to test JAWS against the many versions of 
          Windows with differing combinations of Microsoft and non-Microsoft 
          Middleware. 
          Because we could not test each of the different, non-standard versions 
          of Windows, in reality we would likely test our product on a couple of 
          major versions of Windows (the Compaq and Dell versions, for example) 
          and just ship our product without testing it on the other versions. 
          This "solution" is far from ideal, however. For example, if a customer 
          used JAWS on the Gateway version of Windows that contained a 
          combination of Middleware that we did not test, the customer might not 
          be able to make JAWS work properly on that version of Windows. The 
          customer would then have to call Freedom Scientific to ask why JAWS 
          will not work with their computer. Before we could begin to determine 
          the cause of the problem, we would have to find out what hardware the 
          customer had, what version of Windows the customer had, which 
          Middleware was and was not included in the customer’s version of 
          Windows, and which applications the customer was running. Only after 
          Freedom Scientific learned that information from the customer could we 
          begin to determine what caused the problem and how to fix it. Even 
          then, because the combination would likely be one that Freedom 
          Scientific had not tested, our ability to determine the cause of the 
          problem and to advise the customer how to fix it would be limited. 
          During all of this time, the blind or low vision customer would not be 
          able to use their computer. If the customer were using the computer to 
          perform her job, they could not work productively (if at all) until we 
          could resolve the problem. 
          Let me illustrate this problem with an example that did not involve 
          any modifications to Windows. In the past year, some OEMs added an 
          "Internet Keyboard" to their computers to try to distinguish their 
          products from other OEMs. An "Internet Keyboard" is a keyboard that 
          contains special new keys, in addition to the standard keys on most 
          keyboards, that automatically launch a browser to access the Internet, 
          can be used to access a Favorites list, or to move Back or Forward 
          among visited web pages. Exactly what these keys do, and how they are 
          configured, varies from OEM to OEM. After Christmas last year, Freedom 
          Scientific received several dozen technical support calls from JAWS 
          users who had purchased computers with Internet Keyboards and who 
          called to ask why the Internet keys on their Internet Keyboard did not 
          perform any functions. Freedom Scientific did not even know that OEMs 
          had added these Internet Keyboards to their computers and thus was not 
          in a position to make those keys work with JAWS. Anything on a 
          computer that is non-standard makes it more difficult for blind and 
          low vision people to use computers and for ISVs to make their products 
          work with every variation or "doo-dad" that an OEM might add to try to 
          give them a competitive edge. This problem, however, is much simpler 
          to address than the problems that would be caused by the States’ 
          Remedy Proposal. In this case, our users knew there were new keys, and 
          once alerted to the existence of the keys, we explained that JAWS had 
          not been designed to work with those keys. Under the States’ Remedy, 
          however, the actual software code of Windows will be different, but 
          this difference will not be readily apparent to users or to Freedom 
          Scientific. Therefore, the difficulties in designing our software, 
          testing our software and troubleshooting our products will be 
          increased many times over. 
          Freedom Scientific’s inability to test the various versions of Windows 
          with various Middleware configurations will lead to a dramatic 
          increase in customer support calls as our customers experience 
          problems running JAWS on their particular version of Windows. 
          Responding to customer support calls is expensive for any ISV, and the 
          additional burden of responding to the increased customer support 
          calls caused by non-standard versions of Windows would increase 
          Freedom Scientific’s costs. We would have to pass those increased 
          costs along to our customers in one of several ways: we could increase 
          the price of our software products, we could begin charging our 
          customers for technical support, or we could do some combination of 
          those two options. 
          If Freedom Scientific had to expend additional resources to test 
          different, non-standard versions of Windows and to respond to 
          increased customer support calls, we would have fewer financial and 
          developer resources to devote to adding innovative new features to our 
          existing products and to developing entirely new products. Blind and 
          low vision consumers would suffer from the lack of innovation. 
        Anything that Alters the Consistent User Interface of Windows 
        Disadvantages Blind and Low Vision Computer Users.
          The consistent layout and operation of the Windows user interface is 
          very important to people with visual impairments and to assistive 
          technology ISVs. By providing a stable and consistent user interface, 
          Windows operating systems have provided benefits to large numbers of 
          blind and low vision people. 
          Assistive technology products rely upon standardization and 
          predictability. For example, JAWS expects a "button" on the Windows 
          desktop to look and act a certain way. This expectation is, in part, 
          how our products identify buttons, and enables us to relay information 
          regarding buttons to our blind or visually-impaired users. A Start 
          Menu or desktop that is non-standard would pose significant 
          difficulties for assistive technology vendors, because not all items 
          on the desktop (or in the Start Menu) would share the characteristics 
          normally associated with those items. This would increase development, 
          testing, and technical support costs. 
          For example, the Start Menu in Windows 2000 and Windows XP look 
          different, because Microsoft added new user interface elements as part 
          of its improvements to Windows XP. As a result, Freedom Scientific 
          software developers had to do development work to make JAWS work with 
          the Start Menu in Windows XP. We only had to do the development work 
          once, however, because there is only one new version of the Windows XP 
          interface. 
          If there were multiple versions of Windows with different user 
          interfaces, Start Menus or desktops, blind people would be adversely 
          affected. For example, JAWS and our users expect to be able to find a 
          "My Documents" folder on the Windows desktop or in the new Start Menu. 
          Even a minor change by an OEM or a third party to the Windows desktop, 
          like removing the "My Documents" folder or renaming the folder "My 
          Favorite Things," could create problems for the JAWS user. Such 
          changes result in additional testing burdens and increased support 
          calls for Freedom Scientific. 
          Moreover, different non-standard versions of Windows with different 
          user interfaces make it less likely that blind and low vision users 
          can transfer their knowledge about how personal computers work from 
          one computer to another. For example, if a blind user was employed by 
          a company that used the Dell version of Windows, and then switched 
          jobs to a company that used the Gateway version of Windows that had a 
          different user interface and Start Menu, the blind user may find 
          himself unable to adapt to the Gateway version without additional 
          training. For this reason, a standard, consistent platform is 
          especially beneficial to blind and low vision users and their 
          employers. 
          Freedom Scientific does not have the resources to create different 
          versions of JAWS for different versions of Windows with different user 
          interfaces, Start Menus or desktops. It is likely that Freedom 
          Scientific would decide only to support certain versions of Windows 
          (such as the Compaq or Dell versions) and devote its limited developer 
          resources to making versions of JAWS that worked with the Compaq or 
          Dell versions of Windows. However, if a blind user worked for a 
          corporation that used the Gateway version of Windows, that blind user 
          may find her computer inaccessible. This will, of course, also limit 
          choices for blind people by forcing them to use only the most popular 
          brands of personal computers. 
          Many of Freedom Scientific’s customers are first-time computer users. 
          For that reason, Freedom Scientific distributes detailed training 
          materials with its products to assist its customers in familiarizing 
          themselves with their PCs. To the extent that items as basic as the 
          desktop and Start Menu are reconfigured, Freedom Scientific would have 
          to create different versions of its training materials that correspond 
          with the non-standard versions of Windows. Creating training manuals 
          is already costly for Freedom Scientific. It could be prohibitively 
          expensive to create multiple versions of training materials for 
          non-standard versions of Windows. 
        Microsoft’s Disclosures of APIs Are Timely and More than Adequate.
          Because Microsoft is continually innovating and adding new features to 
          improve its operating systems, there is always a risk that a software 
          product created for an older version of Windows may not work as well 
          on a newer version of Windows. As part of its efforts to minimize such 
          compatibility problems, Microsoft makes available to ISVs a beta test 
          release of Windows well in advance of that operating system’s 
          commercial release. This gives Freedom Scientific and other ISVs 
          sufficient time to test their products to ensure that they will 
          continue to run well on the Windows operating system, and to develop 
          new features that take advantage of new technologies Microsoft is 
          including in the upcoming version of Windows. 
          Freedom Scientific also subscribes to the Microsoft Developer Network 
          ("MSDN") to get access to disclosures of and technical information 
          about Microsoft’s APIs. I have found Microsoft’s disclosures of APIs 
          on MSDN to be the most thorough collection of documentation about any 
          desktop operating system available anywhere. As a software developer, 
          I would always like to have more information, of course. However, in 
          my experience, not only are Microsoft’s disclosures and technical 
          information more than adequate to enable ISVs to make their products 
          take advantage of the Windows APIs, they are the best in the industry. 

          Although it is not good practice, Freedom Scientific does utilize some 
          undocumented interfaces in Windows. There are hundreds or thousands of 
          undocumented interfaces in Windows, some of which have been published 
          in books like Undocumented Windows. Some Microsoft software engineers 
          are not even aware of the existence of many of the undocumented 
          techniques that can be used to gather information from Windows. I know 
          this because when Freedom Scientific disclosed the techniques we used 
          to access various undocumented interfaces in Windows to some Microsoft 
          employees, I recall Microsoft being pretty impressed at our discovery. 
          Although we utilize these undocumented interfaces, it is a dangerous 
          hack. It is dangerous for several reasons. First, the interfaces have 
          not been tested by Microsoft for all the possible consequences of 
          using them in the way that we do. It is often the case that using an 
          interface in some untested way can cause unintended or unexpected 
          effects somewhere else in the program. This is especially true for a 
          program as large and complex as Windows. Second, when Microsoft 
          documents an interface, it is in effect telling ISVs that we can 
          expect that interface to behave in a predictable fashion for future 
          versions of Windows (at least until Microsoft tells us it is making a 
          change). Microsoft does all the work needed to ensure, to a great 
          extent, that the thousands of documented Windows APIs work from 
          version to version for the vast majority of ISVs and our programs. 
          However, when Microsoft modifies Windows to improve it, Microsoft 
          often changes undocumented interfaces. If Freedom Scientific is using 
          an undocumented interface, and Microsoft changes it, our program may 
          not operate properly. For those reasons, I do not believe that 
          Microsoft should be require to document these interfaces. 
      I declare under penalty of perjury that the foregoing is true and correct.
      Executed this ___ day of April 2002 at St. Petersburg, Florida.
       
      _____________________
      Chris Hofstader
      Christian D. Hofstader
      3019 8th St. North
      St. Petersburg, FL 33704
      (727) 896-6393
      (727) 803-8000 x1061 (o)
      chrish at freedomscientific.com
       
      Experience
      October 1998 – Present
      Vice President/Software Engineering
      Director of Software Development
      Development Manager
      Freedom Scientific, Inc.
      http://www.freedomscientific.com
      Freedom Scientific (formerly Henter-Joyce) is the world’s largest 
      developer of software for blind and visually impaired computer users. Its 
      products include: JAWS, a screen reader; MAGic, a screen magnification 
      program with speech; Open Book, an OCR product which reads books aloud to 
      its users; and a variety of hardware devices designed specifically for 
      blind users. All of our products deliver information to the user through 
      text to speech synthesizers and some drive Braille displays.
      My primary role at Freedom Scientific/Henter-Joyce is to manage the 
      software development department. My responsibilities include building a 
      development team, implementing standard engineering procedures, tracking 
      schedules, ensuring timely deliveries of products, budgeting the team’s 
      resources, managing third party development and improving communications. 
      Prior to the merger, I reported directly to the General Manager; I now 
      report to the President of the organization.
      When I joined Henter-Joyce, there were virtually no formal procedures for 
      designing, implementing or testing software. We had no way of tracking 
      schedules, and products were released in an ad hoc manner. Typically, 
      product releases occurred once every 14 months. During my tenure, we have 
      built a formal test department, grew the team from 6 to 25 programmers, 
      have improved communications and reporting procedures and have had 16 
      successful software releases.
      July 1996 – August 1998
      Consultant
      My services during this period included consulting to both software and 
      other companies with software engineering needs in a variety of areas 
      involving a number of engineering related issues. Specifically, I have 
      performed tasks varying from recruiting and team building to 
      internationalizing Windows '95, NT and Macintosh programs to developing a 
      sophisticated education product in HTML, Java and CGI.
      June 1994 - July 1996
      President
      Ignis Technology Corporation
      Coordinated the startup phase of the corporation, assembling the startup 
      team, leading the incorporation process and developing the organization 
      throughout its first year.
      In its first year, Ignis developed Dashboard for Windows '95 for Starfish 
      Software as well as a number of other products for a variety of other 
      software companies. My role was both project manager and individual 
      contributor.
      In its second year, Ignis added management consulting. My role included 
      project management and development, and I also assumed the lead role in 
      Ignis' management consulting areas.
      November 1989 - May 1994
      Technical Leader 
      Turning Point Software
      Coordinated the creation of TPS' Technical Leader Committee, which became 
      responsible for the technical design of all projects developed at TPS. 
      Other tasks that the Technical Leader group performed included maintenance 
      of the TPS Coding Standards, code reviews for the engineering staff and 
      development of TPS cross-platform libraries.
      In addition to defining and organizing the Technical Leader Committee, I 
      continued my daily activities as a software engineer working on projects 
      for MS Windows in C++.
      I was also responsible for designing and developing software for MS-DOS, 
      Microsoft Windows and UNIX based systems. Responsibilities included 
      scheduling projects, client interaction and design and implementation of a 
      wide variety of software products. 
      November 1988 - October 1989 
      Principal Engineer 
      Experra Corporation
      Responsibilities included writing and maintaining Experra's Extract Plus 
      financial database product. I designed and implemented a set of coding 
      standards and implemented the usage of software engineering tools. I was 
      also responsible for the management of the rest of the development staff.
      July 1987 - November 1988 
      Software Engineer 
      Number Nine Computer Corporation
      Responsible for writing software graphics device interfaces between 
      commercially available CAD/CAM packages and the graphics hardware designed 
      at Number Nine. All the work was on IBM PC/AT/386 machines and was written 
      in C and Assembly Language.
      February 1983- July 1987 
      Independent Programming Consultant
      Clients included Exxon Research and Engineering, Arrow Paper, Ginsberg 
      Bros., a major New York Commodities firm and Congressman Mel Reynolds.
      May 1979 - February 1983 
      Programmer 
      Lincoln Savings and Loan
      Computer programmer.
      Organizational Experience
      January 2002 – Present
      Access Forum
      This group, funded by GSA helps the Federal Government interpret Section 
      508. Its goals are to help set standards for accessibility and provide the 
      myriad Federal agencies with the information they need to comply with this 
      important legislation.
      May 2000 – May 2001
      Committee on Accessibility for People with Impairments
      City of St. Petersburg, Florida
      As a member of this committee, I participated in advising the Mayor and 
      City Council on issues regarding accessibility.
      April 1989 - February 1997
      Co-founder, President, Director
      League for Programming Freedom
      Along with Richard Stallman, I founded this influential organization and 
      helped develop its growth until it merged with another IP law related 
      organization. LPF was credited with organizing the friend of the court 
      brief which helped Borland win the lawsuit with Lotus in the Federal 
      Circuit Court and the U.S. Supreme Court.


©2002 Microsoft Corporation. All rights reserved.





More information about the Speakup mailing list