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@xxxxxxx> 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