Testimony Of Edward W. Felten : U.S. V. Microsoft Corporation

This document is available in two formats: this web page (for browsing content) and PDF (comparable to original document formatting). To view the PDF you will need Acrobat Reader, which may be downloaded from the Adobe site. For an official signed copy, please contact the Antitrust Documents Group.


IN THE UNITED STATES DISTRICT COURT
FOR THE DISTRICT OF COLUMBIA



UNITED STATES OF AMERICA,    

                  Plaintiff,

                  v.

MICROSOFT CORPORATION,

                  Defendant.


|
|
|
|
|
|
|
|
|
|
|
|
|         
Civil Action No. 98-1232 (TPJ)
STATE OF NEW YORK ex rel.
Attorney General DENNIS C. VACCO, et al.,    

                  Plaintiffs,

                  v.

MICROSOFT CORPORATION,

                  Defendant.


|
|
|
|
|
|
|
|
|
|
|
|         
Civil Action No. 98-1233 (TPJ)

TESTIMONY OF EDWARD W. FELTEN

  1. Background and Qualifications

1. My name is Edward W. Felten. I am Assistant Professor of Computer Science at Princeton University, where I have taught for five years. I received my B.S. from the California Institute of Technology in 1985 and my Ph.D. in Computer Science and Engineering from the University of Washington in 1993.

2. I have been involved in computing research since 1984. I have published more than forty articles in the computing research literature. I have won awards for my research including a National Young Investigator award from the National Science Foundation, and an Alfred P. Sloan Fellowship. I received an Outstanding Paper Award at the most recent Symposium on Operating Systems Principles, the most prestigious operating systems research conference. A copy of my curriculum vitae can be found in Exhibit 1193.

3. My fields of specialization within computer science include operating systems, Internet software, and Internet security. In the course of my research prior to my retention by the Department of Justice, I have intensively studied a number of operating systems and Web browsing programs.

  1. Summary of Opinions, and Materials Consulted

4. I have been retained by the Department of Justice to provide my expert opinion on three issues. First, I have been asked to study the structure and function of Windows 98, Windows 95, and Internet Explorer ("IE"), and the relations among them, and determine whether IE Web browsing can be removed from Windows 95, and whether IE Web browsing can be removed from Windows 98. As I will discuss below, my answer to both questions is yes. Furthermore, such removal can be accomplished in a manner that will not endanger the non Web browsing functions provided in Windows 95 or Windows 98. I have prepared a video demonstration of the results of my study which can be found in Exhibit 1202.

5. Second, the Department of Justice has asked me to consider the ability of competing software, specifically the Netscape Navigator ("Navigator") Web browsing software, to replace IE Web browsing in Windows 98. I conclude from my study that Navigator can be installed on a Windows 98 PC that has had IE Web browsing removed from it. Furthermore, the user who elects this combination of software will experience the non Web browsing benefits of Windows 98, and the benefits of the Navigator Web browsing software. This experience substantially duplicates what the user experiences with the combination of Windows 98 and IE. Exhibit 235 also contains a video demonstration of this result.

6. Third, I have been asked to compare from a user's perspective the versions of IE 4 Web browsing offered by Microsoft for Windows 98, Sun Microsystems' Solaris operating system product, and Apple's MacOS operating system product. Although these versions of IE 4 Web browsing may differ in the implementation of some details due to the different underlying software platforms, Internet Explorer Web browsing is recognizable across all three platforms.

7. Finally, I have been asked to describe for the Court the process of signing up for an Internet Service Provider using the Internet Connection Wizard, a Microsoft utility that can be accessed from the Windows 98 Welcome to Windows screen seen by every user the first time they turn on a new PC, or from a "Connect to the Internet" icon on the Windows desktop, or from a submenu of the Windows Start menu. I will not discuss this topic further in my written testimony. Instead, I describe the process in a video demonstration contained in Exhibit 1203.

8. As part of my analysis, I consulted a variety of publicly available information published by Microsoft in written and electronic form, including information that Microsoft offers to independent software developers through its Microsoft Developer Network ("MSDN") program, as well as articles and books about Windows 98, Windows 95, and IE published by Microsoft and others. My analysis also relied on a study of several versions of Windows 98, Windows 95, and IE, and version 4 of Navigator. In addition, I consulted some internal Microsoft documents produced by Microsoft to the Department of Justice in the course of this case, and pleadings filed in this case and in the previous case involving enforcement of the Consent Decree entered into by the United States and Microsoft.

9. I received parts of the source code for the OSR 2.5 version of Windows 95, the first official beta version of Windows 98, the retail version of Windows 98, and version 4.01 of IE, on August 9, 1998. I also consulted this source code in my analysis.

  1. Background: The Internet, the World Wide Web, and Web Browsing

10. I will begin by describing some basic terms.

11. The Internet is a global network of computers constructed by patching together many local area networks that use widely varying communication media such as telephone lines, dedicated data cables, and wireless links. The Internet is characterized by its global scope and by the use of certain standard data formats and protocols such as the Transmission Control Protocol and the Internet Protocol (together, "TCP/IP") that ensure that any two computers on the Internet can exchange information with each other.

12. The Internet serves as the basic communication infrastructure for a wide range of electronic information services and activities, including electronic mail, electronic discussion groups, teleconferencing, remote access by traveling workers to institutional databases, and the World Wide Web ("the Web"). Although the Web uses the Internet as its basic communication infrastructure, the terms "Internet" and "Web" are not synonymous.

13. The Web is characterized by a set of standard data formats, including HyperText Markup Language ("HTML"), and a set of standard communication protocols, such as HyperText Transfer Protocol ("HTTP"), that together allow computers to share multimedia documents that may contain links to other such documents. The Web is made up of the global collection of documents or "pages" that meet these format specifications, along with the global collection of computers that store and transmit pages on demand via these standard protocols.

14. A Web server is a computer that stores Web pages and makes them available across the Internet using Web protocols such as HTTP. The term "Web server" is also used sometimes to refer to a software program that makes this possible.

15. Web pages are identified by Web addresses such as http://www.microsoft.com/ie (the address of Microsoft's main Internet Explorer Web page). These addresses are technically known as Uniform Resource Locators ("URLs"). A URL designates a Web server ("www.microsoft.com" in this case), a particular page on that Web server ("ie" in this case), and a protocol to use in retrieving the page ("http" in this case).

16. A Web page may contain hyperlinks, which contain the Web addresses of other pages on the Web. When the user activates a hyperlink, typically by clicking on it, this takes the user to the Web page located at the address contained in the hyperlink.

17. Web browsing is an activity characterized by a window in which Web pages are displayed, the ability to display any page on the Web by entering its URL, and the ability to display a new Web page by clicking a hyperlink in a currently displayed page.

18. A Web browser is a software program that is used for Web browsing. Many Web browsers are available. The two most popular Web browsing programs are those offered by Microsoft and Netscape.

  1. Can IE Web Browsing Be Removed From Windows 95?

    1. Internet Explorer Versions 1, 2, and 3 Are Removable From Windows 95.

19. In August 1995, Microsoft released its first version of Windows 95 for sale in retail stores to users interested in upgrading their DOS/Windows 3.x PCs to Windows 95 or switching from a non-Microsoft product to Windows 95. Microsoft shipped this version of Windows 95 without any Web browser at all.

20. Microsoft also released four major versions of Windows 95 to PC manufacturers ("OEMs"). The first OEM version was released in July 1995. The second version, known as OEM Service Release 1 ("OSR 1") was released to OEMs in January 1996. The third version, known as OEM Service Release 2 ("OSR 2") was released to OEMs in August 19961. The fourth version, known as OEM Service Release 2.5 ("OSR 2.5") was released to OEMs in December 1997.

21. Microsoft bundled its first version of Internet Explorer — IE 1 — with the first OEM version of Windows 95. I have determined that removing IE 1 from this version of Windows is easily accomplished by removing the IE 1 program file (sometimes called an "executable") and removing any icons on the Windows desktop and Windows Start menu items that refer to IE 1. After doing this, a user cannot browse the Web without adding more software to the system, but the functionality of the operating system is unaffected.

22. Microsoft then bundled its second version of Internet Explorer — IE 2 — with the second version of Windows, OSR 1. I have determined that removing IE 2 from this version of Windows can be accomplished in the same manner as removing IE 1 from the first version of Windows - by removing the IE 2 program file and removing any icons and Start menu items that refer to IE 2. Again, after doing this, a user cannot browse the Web without adding more software to the system, but the functionality of the operating system is unaffected.

23. The third version of Internet Explorer — IE 3 — came shipped with the third version of Windows for OEMs, OSR 2. This version of IE is removable from OSR 2 through a simple procedure that Microsoft describes in a technical article from Microsoft's KnowledgeBase2 entitled "Cannot Uninstall Microsoft Internet Product in OSR 2" (Exhibit 1086).

24. Notwithstanding its title, the article describes a two-step process for removing IE 3 from OSR 2. First, the user installs the standalone version of IE 3. This standalone version of IE 3 could be obtained from any number of places including from retail stores or by downloading from the Web. Installing IE 3 causes IE 3 to appear as an entry in the Add/Remove Programs Control Panel. The Add/Remove Programs Control Panel is a user interface element that allows the user to remove application programs from a Windows PC. This control panel contains a list of installed applications; by selecting an item from this list and clicking the Add/Remove button, the user can direct that an application be removed. The second step in the procedure is thus to remove IE 3 by clicking on the entry for it and then clicking the Add/Remove button. Exhibit 1202 contains a video demonstration of this procedure.

25. The procedure described in the article is consistent with Microsoft's general guidelines for how applications written for Windows 95/98 should behave, as described in a document entitled "Designed for Microsoft Windows NT and Windows 95 Logo Handbook for Software Applications, Version 3.0b" (hereinafter, "Handbook for Applications") (Exhibit 431). An application that follows these guidelines on Windows NT and Windows 95 is allowed to use Microsoft's "Designed for Windows NT and Windows 95" logo, and an application that meets these requirements on Windows NT and Windows 98 is allowed to use Microsoft's "Designed for Windows NT and Windows 98" logo. (See the Microsoft Web page http://www.microsoft.com/Windows/WinLogo/Developer/CoMarketing/default.asp.) The Handbook for Applications describes the requirement that application developers make their programs removable via the Add/Remove Programs Control Panel. (See the Handbook for Applications, pages 27 and 28.) Microsoft apparently chose to follow its own guidelines when it made IE 3 removable from Windows 95 through the Add/Remove Programs Control Panel mechanism.

26. Although OSR 2 does require a two step procedure for removing IE 3 Web browsing, such is not the case for a user with a version of Windows earlier than OSR 2. A user who did not receive IE 3 with Windows 95 could choose to install a standalone version of IE 3 on Windows 95. This installation would add IE 3 to the Add/Remove Programs Control Panel, allowing this user to remove IE 3 via the same Control Panel used to remove any other application program.

27. After removing IE 3 in the manner I have described above, the user of OSR 2 can no longer browse the Web. Removal of IE 3 Web browsing has no apparent effect on the non Web browsing functions of OSR 2, nor does Microsoft point to any such effect in the KnowledgeBase article describing the removal procedure (see Exhibit 1086).

    1. IE 4 Web Browsing is Removable From Windows 95.

28. Microsoft initially shipped IE 4 for Windows 95 as a standalone product apart from Windows 95. This product was available via download from the Web or on a CD-ROM. In September 1997, Microsoft offered OEMs IE 4 on a CD-ROM separate from the OSR 2 version of Windows 95. Three months later, in December 1997, Microsoft offered IE 4 on the same CD-ROM as Windows 95 in the OSR 2.5 release. Exhibit 1064 is the letter to OEMs accompanying the OSR 2.5 release.

29. Microsoft ships with the standalone IE 4 product a number of other software supplements. Included among these supplements are the following: Desktop Update, Microsoft VM for Java (Microsoft's version of a Java virtual machine), Internet Connection Wizard (a procedure that involves signing up for an Internet Service Provider), and Microsoft Outlook Express (an electronic mail program).3 A user who wants to install the standalone IE 4 product on a pre-OSR2.5 version of Windows 95 has the option of installing IE 4 with any number of the software supplements. If the user installed only IE 4 without any of the software supplements, the user would obtain functions such as Web browsing and a button which, when pressed, makes the Windows Desktop visible. If the user also elected to install the Desktop Update supplement, the user would also obtain functions such as the ability to customize the Windows Start menu by dragging and dropping items into and out of it, and the Active Desktop, a feature that allows users to display Web pages on the background "wallpaper" of the Windows Desktop.

30. Microsoft created this installation process in such a way that a user cannot install Desktop Update without also installing Web browsing, although many of the user interface enhancements to Windows 95 in Desktop Update, such as drag-and-drop customization of the Start menu, have no apparent connection to Web browsing. Microsoft could have chosen to provide such user interface enhancements to Windows 95 independently from Web browsing.

31. That Desktop Update can only be installed after installation of IE 4 Web browsing results in part from Microsoft's choice to implement some user interface enhancements in the same program file that supports some Web browsing functions. In some cases in Windows 95 and IE 4, functions used in Web browsing and functions unrelated to Web browsing are implemented in the same program file. That these functions are implemented in the same file does not mean the functions are inevitably intertwined. The SHDOCVW.DLL file in OSR 2.5, for example, contains a variety of functions, only some of which are related to Web browsing. SHDOCVW.DLL contains the software that draws IE 4 Web browser window frames on the screen and the software implementing the Start menu. However, as Professor Farber describes in his written testimony, the nature of software is such that it is easy to aggregate unrelated functions into the same file, or to "integrate" separate products into a single product. The mere fact that two functions are implemented in the same file, or that two products are "integrated" into a single product, does not imply that they must be implemented in this fashion; because of the nature of software, functions can be separated into distinct files, or "integrated" products can be separated into distinct products without any loss of capability.

32. Microsoft has provided the means for removing the standalone version of IE 4 (along with Desktop Update, if it is present) after it has been installed on Windows 95, and also for removing the version of IE 4 bundled with Windows 95 in OSR 2.5. A number of Microsoft KnowledgeBase articles describe various procedures for accomplishing this removal. Those articles can be found in Exhibits 165, 166, and 172. The simplest procedure uses the Add/Remove Programs Control Panel to accomplish the removal of IE 4. If the user installed the standalone version of IE 4, then removing IE 4 in this way causes the system to revert to the version of IE that was last installed before IE 4, if any. If the user received IE 4 bundled with OSR 2.5, then removing IE 4 in this way causes the system to revert to IE 3. At this point, the user could remove IE 3 as described above in paragraph 24 with the result being a machine with no Web browsing capability.

33. An alternative way of creating a version of OSR 2.5 without IE 4 would be to alter the installation process of OSR 2.5. The OSR 2.5 installation currently proceeds by first installing Windows 95, and then installing IE 4 only after Windows 95 has been installed. Because installation occurs in this two-step fashion, it would not be difficult for Microsoft to omit the second step, thereby creating a version of OSR 2.5 that does not install IE 4.

34. In the prior Consent Decree enforcement proceeding, Microsoft stipulated that an OEM can install OSR 2, along with the DirectX 5.0 supplement and various "Quick Fix Engineering" bug fixes, onto a computer to achieve a result that is "the same as OSR 2.5 with the sole exception of Internet Explorer 4.0 functionality." See Stipulation and Order, filed January 22, 1998, in United States v. Microsoft Corporation (CA No. 94-1564 (TPJ)). Thus a version of OSR 2.5 with IE 4 removed would provide benefits to the user beyond those available in OSR 2.

  1. Can IE Web Browsing Be Removed From Windows 98?

    1. IE Web Browsing in Windows 98 and Windows 95 OSR 2.5 is Substantially Similar.

35. Windows 98 provides a number of features not available in the latest OSR 2.5 version of Windows 95. Among these features are software enabling simultaneous use of multiple video displays, support for new hardware devices such as some additional types of Universal Serial Bus ("USB") peripherals, and improvements in power management for laptop computers.

36. A Windows 95 system on which the standalone version of IE 4 with the Desktop Update has been installed offers almost the same Web browsing experience as Windows 98. There are two main differences: the Windows Update function,4 which allows the user to update the PC's software with new releases and bug fixes, is not available on Windows 95 with IE 4; and the Web Help function, which provides a link to a technical support Web page maintained by Microsoft, is also unavailable on Windows 95 with IE 4.5 Despite the similarity in Web browsing experience between OSR 2.5 and Windows 98, Microsoft has not offered customers the option of obtaining the additional features of Windows 98 described in the preceding paragraph without IE 4 Web browsing.

37. Below, I describe in more detail the Web browsing experience offered by Windows 98 and IE. With the two exceptions described in the preceding paragraph, my comments below apply equally to IE Web browsing as offered by OSR 2.5.

    1. Windows 98 and Web Browsing

38. Windows 98 offers the user several direct ways to initiate IE Web browsing. For example, the user may double-click the desktop IE icon, thereby activating the main IE application program, IEXPLORE.EXE; or the user may activate the IEXPLORE.EXE program directly by viewing the folder6 in which the program resides and then double-clicking the program.

39. The Windows 98 user interface generally allows the user to enter a Web address wherever a file name can be entered. Entering a file name typically causes the designated file to be displayed; entering a Web address typically causes Web browsing software to launch, displaying the designated Web page.

40. The Windows 98 user interface supports Shortcut files, which serve as shorthand names7 for other files on the local system or on the Web. The user can create Shortcuts and put them on the Windows Desktop or into any folder. The Windows 98 user interface also contains several toolbars and menus that contain Shortcuts created by Microsoft; these are intended as convenient jumping-off points for users to visit commonly used files or Web pages.

41. A File Shortcut contains the name of a file; a URL Shortcut contains a Web address. Activating a File Shortcut, for example by double-clicking it, typically displays the file to which the Shortcut refers. Activating a URL Shortcut typically causes Web browsing software to launch, displaying the Web page to which the Shortcut refers. A URL Shortcut can generally be used wherever a File Shortcut can be used.

42. Because its user interface allows the use of Web addresses and URL Shortcuts, Windows 98 provides the user with many ways of initiating Web browsing. However, the benefits of supporting Web addresses and URL Shortcuts can be achieved without requiring the use of any specific Web browsing software; they require only that some Web browsing software be present on the system.

43. Windows 98 treats Web browsing software as a type of file (or content) viewing software. In the same way that Adobe PhotoShop, a software program used to edit photographs, can be configured as the designated viewer in Windows 98 for viewing photographic images in a wide variety of standard formats on the PC, software components in IE or Navigator can be configured as the designated viewer in Windows 98 for Web pages in a wide variety of formats including HTML and VRML.

44. Windows 98 allows file viewing software to be launched either as a standalone application window or embedded as a subwindow inside another "container" window. Generally, file viewing software that is designed to work on both Windows and non-Windows platforms can launch only as a standalone window. Some software designed to run only on Windows can launch as an embedded subwindow as well.

Screen capture discussed in note 45 below

45. The image above was captured from the display screen of a Windows 98 PC. (The red and green rectangular outlines did not appear in the original.) The window that I have outlined in red was drawn by Windows Explorer, a program that is used to view the contents of disks and folders. Windows Explorer is serving as a "container" window. A file, specifically an interoffice memo in Microsoft Word format, is displayed in an embedded subwindow, which I have outlined in green. This embedded subwindow was drawn by software components in the Microsoft Word application program, since the document is in a format for which Microsoft Word is the designated viewing software.

46. Windows Explorer can serve as a container window to view files that are displayed by a variety of other file viewing software. In particular, because IE Web browsing software can function as an embedded subwindow, Windows Explorer can appear to be displaying Web pages in the same window in which it can display the contents of disks and folders.

47. However, the ability of a program to display a file as an embedded subwindow within Windows Explorer does not imply that that program must be bundled with Windows 98. For example, Microsoft Word can display a file as an embedded subwindow, as shown in the picture above, but Microsoft Word is not bundled with Windows 98.

48. Microsoft has created a specification known as "Active Documents" to allow software products, including programs not bundled with Windows 98 such as Microsoft Word and Microsoft Excel or application programs produced by Independent Software Vendors ("ISVs"), to display documents as an embedded subwindow within Windows Explorer. The resulting appearance to the user is that Windows Explorer appears to be displaying Word documents, Excel spreadsheets, or other data. The picture above shows an example of a Word document displayed in this way.

49. There are a number of other methods by which a user may initiate Web browsing on Windows 98. Attached to my testimony as Appendix A is a detailed list of methods for initiating Web browsing on Windows 98.

50. Windows 98 allows the user to designate one Web browser as the Default Browser. In all versions of Windows released prior to OSR 2.5, the Default Browser is activated whenever the user asks to initiate Web browsing.

51. In some cases, however, Windows 98 uses IE 4 Web browsing even if the user has specified another browser as the Default Browser. There are several situations in which this can occur. First, when the user initiates the Web Help function described in paragraph 36, and chooses the option of clicking on the "Support Online" link, the system will always initiate IE Web browsing, instead of launching the Default Browser, to go to the Support Online Web site. Second, certain menus in Windows Explorer contain URL Shortcuts created by Microsoft. A user who selects the "Home Page" or "Search the Web" URL Shortcut found in the "Go" menu in Windows Explorer will always initiate IE Web browsing to go to the particular Web site, rather than launching the Default Browser. Third, if a user places a Web page on the Active Desktop, and then clicks on a Web link on that page, this action will again initiate IE Web browsing even if the user has designated another browser as the Default Browser. Finally, Windows Explorer allows a user to type into the Address Bar a command to search the Web. Typing the word "Go" followed by a phrase or word that a user wants to search for on the Web will initiate IE Web browsing to display the response to the search request, regardless of the user's choice of Default Browser. This is an example of what the industry refers to as "hard-coding," in this case, forcing the use of IE Web browsing.

    1. IE Web Browsing Can Be Removed From Windows 98.

52. As I noted earlier, despite the similarity of the Web browsing experience in OSR 2.5 and Windows 98, Microsoft does not provide a mechanism for removing IE Web browsing from Windows 98.

53. It is possible to construct a mechanism for removing Web browsing from Windows 98. With the help of two young assistants, I have developed a prototype removal program that demonstrates one way Microsoft could have done this.8 Obviously, Microsoft, with its more intimate knowledge of its own products, could likely find an even better way to accomplish the same result.

54. When it is activated, the prototype removal program performs three general types of changes to the system. First, it removes the desktop IE icon, the IEXPLORE.EXE program file, and other files and icons that allow the user to directly initiate IE 4 Web browsing. Second, it makes changes to the Windows Registry9 to prevent Windows 98 from attempting to use IE 4 Web browsing software for viewing certain kinds of files. Third, it modifies two of the shared program libraries10 shipped with Windows 98 and adds a small amount of code in the form of a new shared program library, in order to force Windows 98 to use the Default Browser, if any, rather than being hard-coded to use IE 4 Web browsing. Attached to my testimony as Appendix B is a complete and detailed list of the actions performed when the prototype removal program is activated.

55. The prototype removal program does not prevent Windows 98 from booting properly, nor does it affect the stability of Windows 98 under ordinary use. Microsoft could have produced a version of Windows 98 without Web browsing in a way that did not adversely affect the non Web browsing features of Windows 98.

56. I have implemented the prototype removal program to continue to support the ability of ISVs to use all of the shared program libraries shipped with Windows 98. Such shared program libraries are left substantially unchanged, though they are no longer used in the course of Web browsing without the addition of another software program such as AOL's access software or Intuit's Quicken personal finance software. Microsoft could have produced a version of Windows 98 without Web browsing in a way that did not adversely affect the functionality of ISV applications.

57. Removing Web browsing while leaving in place shared files that perform other functions conforms to the ordinary way in which software application programs are removed. Page 29 of Microsoft's Handbook for Applications, Exhibit 431, instructs software developers to deal with shared files in this manner when removing their application products:

User data files including the following should remain on the hard disk: Resources that other programs might use, such as sharable DLLs, sharable fonts, and sharable Registry entries. It is better to err on the side of safety regarding other applications. If you are not sure whether removing a DLL might harm other applications, it is better to leave it behind.

The prototype removal program obeys this rule by leaving behind the shared program files used by ISVs in accordance with Microsoft's own removal instructions.

58. There is other software code specific to IE Web browsing that could be deleted from these shared program libraries. I have not attempted to identify all such code, because the limited changes performed by the prototype removal program achieve the same result. However, any browsing-specific code identified by Microsoft could easily be deleted from the shared program libraries without loss of any non Web browsing function of Windows 98.

59. As I described above, a shared program library (or "DLL") is an aggregation of software functions that may or may not be related to each other. Hadi Partovi, the Group Program Manager for Internet Explorer at Microsoft, addressed this issue in his deposition:

  Q. Is there more than one layer? Is there a hierarchal [sic] structure within a DLL? Or are they just a series of functions grouped into this file called a DLL?

A. Within a DLL there is no rule on how to organize a set of functions. They are often a straight list of functions. The underlying implementation may be hierarchal [sic].

(H. Partovi Dep. Tr. 20:25-21:7)

60. Due to the malleable nature of software, functions may be moved from one DLL to another, or a single DLL may be disaggregated into two DLLs. For example, Mr. Partovi discusses how Microsoft moved a set of functions that were in SHDOCVW.DLL in IE 4 into a new file, BROWSEUI.DLL, in the next version of IE, IE 5 (H. Partovi Dep. Tr. 25:12-26:3).

61. IE Web browsing uses some code that is specific to IE Web browsing, and some code that is shared (that is, it supports other functions in addition to IE Web browsing). There is nothing unique about IE Web browsing in this regard: virtually all PC applications make use of some application-specific code and some shared code that ships with Windows.

62. Any code in a DLL that supports only one function of the DLL may be removed without endangering other functions of the DLL. For example, code that supports only IE Web browsing functions may be removed without endangering any non Web browsing functions of Windows 98.

63. I have run the prototype removal program on several different computers, all running Windows 98, and then installed Navigator. A computer that has undergone these procedures suffers no apparent loss of stability or functionality and provides the user the full Web browsing experience offered by Navigator.

64. If a user of the version of Windows 98 that did not include Web browsing wanted to use IE Web browsing, the prototype removal program allows for this possibility. Essentially, the procedure can be reversed, in order to restore full IE 4 Web browsing functionality, and my assistants and I have produced a prototype installation program that does this.

65. The prototype removal program also allows the possibility of installing the latest version of IE, which is currently IE 5 Beta 1. The user does this in the obvious fashion, by installing Microsoft's distribution of IE 5 Beta 1 on a Windows 98 PC from which Web browsing has been removed. After this installation, the user is provided with nearly the full Web browsing experience offered by IE 5 on Windows 98. The only difference is that installing IE 5 after the prototype removal program has been run leaves the Active Desktop feature disabled. Active Desktop can be enabled by changing a single entry in the Windows Registry; doing this results in a system that provides the user with the full IE 5 Web browsing experience. Alternatively, Microsoft could easily modify their IE 5 installer to change this Registry entry automatically when IE 5 was being installed on a Windows 98 machine that previously did not have IE Web browsing.

66. My analysis demonstrates that it is possible for Microsoft to divide Windows 98 into two programs, one that replicates the function of the current version of Windows 98 except that Web browsing is removed, and another that adds IE 4 Web browsing to the first program, such that an OEM or user who installed the two programs in sequence would end up with software functionally identical to today's version of Windows 98. Microsoft, with its intimate knowledge of its own products, would have little difficulty performing this task.

67. Moreover, giving users or OEMs the choice of what Web browsing software, if any, to have on their systems is technically efficient. Although some users or OEMs may benefit from bundling together separate software products desired by those users or OEMs, significant inefficiencies may also arise for others. Forcing some users or OEMs to take software they do not want is inefficient, since the unwanted software needlessly uses resources such as disk space and memory, and increases the complexity of the user interface by cluttering it with unwanted icons, menu items, and programs. Had Microsoft originally designed a version of Windows 98 without Web browsing, this version would have been significantly smaller than the version Microsoft actually released.

  1. Navigator Can Replace IE To Provide Web Browsing In Windows 98.

68. Microsoft has designed Windows 98 so that the user's choice of Web browsing software is not respected in all cases. For example, if a user installs Navigator on Windows 98 and designates Navigator's Web browsing software as the Default Browser, this does not prevent the user from being forced to use IE 4 Web browsing in the "hard-coded" circumstances, as described above in paragraph 51.

69. My assistants and I performed an experiment in which we disabled the "hard-coding" of access to IE Web browsing in Windows 98. Disabling the hard-coding has no apparent effect on the behavior of the system when the IE Web browsing software is the Default Browser; when the Navigator browsing software is the Default Browser, the only apparent effect is that the system uses Navigator browsing rather than IE browsing in the hard-coded cases.

70. If Microsoft provides a version of Windows 98 in which Web browsing has been removed as it is in the prototype removal program, then this will allow the user's choice of Default Browser to be respected in all cases. If the user chooses Navigator, this will provide the user with the full Web browsing experience offered by Navigator, which substantially duplicates what the user would experience with IE Web browsing. I describe the main differences between the Web browsing experiences provided by the Navigator and IE browsing software in this scenario in paragraphs 71 through 73 below.

71. The Windows Update feature described above in paragraph 36 uses a Microsoft-run Web site that refuses access to non-Microsoft browsing software. Since other browsing software cannot visit the Windows Update site, preserving the Windows Update function requires that a specialized Windows-Update-only window be used. Microsoft could have designed the Windows Update Web site so that it would function equivalently regardless of which browsing software was used to visit it.

72. The Active Desktop and Channel Bar features of IE 4 are not compatible with Navigator, so these features cannot be replicated exactly with Navigator. However, Netscape offers an alternative "NetCaster" program that competes with Microsoft's Active Desktop and Channel Bar.

73. The current Navigator browsing software is not able to display Web pages in an embedded subwindow. Instead, if the user wishes to browse the Web from Windows Explorer, Navigator will launch a standalone browser window rather than using an embedded subwindow to display the Web page. However, the Active Document specification described above in paragraph 47 allows Netscape or another software vendor to create Web browsing software that can display Web pages in an embedded sub window as IE does.

74. Microsoft could have designed Windows 98 so as to allow an OEM or user to easily replace IE 4 Web browsing with Navigator Web browsing without noticeably affecting the performance of Windows 98. The ability to choose browsing software in all situations in which Web browsing is available to users in Windows 98 would have a trivial, if any, effect on the performance of Windows 98.

  1. Cross Platform Versions of IE 4 Web Browsing on Windows 98, Solaris, and MacOS Are Substantially Similar.

75. IE Web browsing is available on several platforms, including Microsoft's Windows 98 running on PCs, Sun's Solaris running on Sun SparcStation computers, and Apple's MacOS running on Apple's Macintosh line of computers. IE Web browsing provides a very similar user interface on all three systems, with the exception that the Active Desktop feature is not available on non-Windows systems. The Windows 98 and Solaris versions of IE Web browsing offer nearly identical user interfaces, and the MacOS version offers the same user interface modified to meet the user interface guidelines specified by Apple for Macintosh software.

76. The three pictures found in Exhibit 1227 were captured from the display screen of a Windows 98 PC, a SparcStation running Solaris, and a Macintosh running MacOS, respectively. Each picture shows an IE 4 Web browsing window displaying (in an identical fashion) the Department of Justice home page. In each case, the user has started to type in the Web address of the Yahoo home page, and the auto-complete feature of the IE browsing software has automatically filled in the last characters of Yahoo's Web address.

77. As the pictures show, the toolbar along the upper right edge of the Solaris and Windows Web browsing windows contains identical dropdown menu choices ("File," "Edit," "View," etc.). Although not displayed, I have determined that the menu entries under each choice are nearly the same as well. The MacOS menu choices are displayed differently in accordance with standard Macintosh user interface practices, but implement substantially the same set of functions. Below the toolbar is a set of navigational buttons. Again, the order and appearance of the buttons in the Solaris and Windows versions of IE are virtually identical. The Apple navigational buttons cover roughly the same set of functions, but details differ slightly.

78. All three versions contain the same address bar that includes an arrow button that, when pressed, displays a list of Web sites the user has previously visited. The autocomplete feature appears to function in the same way in all three versions, to the point of beginning the highlighted autocompletion on precisely the same letter.

79. At the bottom of the window, each version describes the Web page being viewed as having been delivered from the "Internet zone," Microsoft's term for information stored on the Web as opposed to on the user's computer or on some other trusted computer (regardless of the underlying platform).

80. The three pictures found in Exhibit 1228 were also captured from the display screen of a Windows 98 PC, a SparcStation running Solaris, and a Macintosh running MacOS, respectively. Each picture shows an IE 4 browsing window with the "Explorer Bar" feature enabled. The Explorer Bar is a vertical subwindow on the lower left region of the IE 4 browsing window that (in this case) displays a Web search engine page. I have outlined the Explorer Bar in red in each picture. The Explorer Bar is activated in a slightly different fashion on the different systems — by choosing an item on the View menu on the Windows 98 and Solaris versions of IE 4 Web browsing, and by clicking a tab on the MacOS version — but the Explorer bar feature is substantially the same on all three systems.

81. Finally, the three pictures found in Exhibit 1229, again captured from the display screen of a Windows 98 PC, a SparcStation running Solaris, and a Macintosh running MacOS, respectively, show IE 4 Web browsing windows with the "Security Zones"11 dialog box displayed. Although the MacOS "Security Zones" dialog box is visually different than the other two, all three dialog boxes give the user the same choices and present nearly the same explanatory text, and the IE 4 browsing software provides the same "Security Zones" feature in all three versions on all three systems.

82. My review of these versions of IE 4 Web browsing leads me to the conclusion that the user's Web browsing experience with each version is substantially similar to the other versions.

  1. Conclusion

83. In my testimony, I have offered the Court my expert opinion on three subjects. First, I have concluded that IE Web browsing can be removed from Windows 95 and Windows 98 without affecting any non Web browsing functionality provided by Windows. In the first two OEM releases of Windows 95, removal can be accomplished by deleting the IE executable files and IE icons. In the third OEM release of Windows 95, OSR 2, instructions provided by Microsoft describe a simple method of removing IE 3 Web browsing. Similarly, with OSR 2.5, Microsoft-provided instructions enable the user to remove IE 4 Web browsing.

84. Although Microsoft has not provided a removal mechanism, I have concluded that Microsoft could have produced a version of Windows 98 without IE Web browsing in a way that did not adversely affect non Web browsing features of Windows 98 or the functionality of ISV applications running on Windows. I have described for the Court the prototype program I developed to demonstrate the feasibility of creating such a version of Windows 98. This program is undoubtedly not the only way to accomplish such a result; there are likely to be superior implementations to mine that would be apparent to Microsoft engineers whose familiarity with the Windows 98 and IE products is superior to mine.

85. Second, I have described how a user or OEM could combine the version of Windows 98 from which Web browsing has been removed with the user's choice of Web browsing software, such as Netscape Navigator, to achieve the benefits of the non Web browsing functions of Windows 98 and the benefits of the chosen Web browsing product. The effect of such a combination is to substantially duplicate what the user experiences with the combination of Windows 98 and IE. Microsoft could have designed Windows 98 so as to allow an OEM or user to easily replace IE 4 Web browsing with Navigator Web browsing without noticeably affecting the performance of Windows 98.

86. Finally, I have described for the Court the user interface of the versions of IE 4 Web browsing for Windows 98, Sun's Solaris, and Apple's MacOS, and demonstrated their similarity to each other.


Appendix A: Methods of Initiating Web Browsing in Windows 98

1. There are many methods of initiating Web browsing in Windows 98. This appendix is a non-exhaustive list of such methods.

2. Web browsing can be initiated by double-clicking the IE icon, or the icon for other Web browsing software such as Netscape Navigator, on the Windows desktop.

3. An "Internet Explorer" item is available on a submenu of the Windows Start menu. Choosing this item, or a Windows Start menu item for other Web browsing software, initiates Web browsing.

4. The Quick Launch Bar is a small area that normally appears just to the right of the Windows Start button on the Windows Desktop. The Quick Launch Bar contains a set of icons that refer to programs or other files. An IE icon matching the icon on the desktop appears on the Quick Launch Bar. By clicking this icon, or an icon for other Web browsing software on the Quick Launch Bar, the user can initiate Web browsing.

5. The IEXPLORE.EXE file contains the main IE 4 application program. This file is usually in the "C:\Program Files\Internet Explorer" folder. By double-clicking the icon for this file, or the icon for another Web browsing program file, the user can initiate Web browsing.

6. The Windows Start menu contains a submenu called Favorites. The Favorites menu allows the user to reach a set of menu items that refer to local files or Web sites. If the user selects such an element, and the element refers to a Web site, this action will initiate Web browsing.

7. The Taskbar is an element of the Windows user interface. The Taskbar is usually a narrow, gray, horizontal bar along the bottom of the screen, with the Windows Start button at its left end and the time displayed at its right end. The Taskbar can be configured to display various graphical elements; among these is the Links Toolbar. The Links Toolbar displays the same information as the Links subfolder of the "Favorites" submenu described in the preceding paragraph. If the user clicks an element on the Links Toolbar, and that element refers to a Web site, this action will initiate Web browsing.

8. Among the items that can appear on the Favorites menu (and hence also possibly on the Links Toolbar) are references to Channels. Channels are Web data representing an audiovisual display, stored in a format specified by Microsoft. Viewing a Channel in a browsing window can be considered to be Web browsing. If the user selects a Favorites item that is a Channel, this action will initiate IE 4 Web browsing. Other software products such as Navigator have their own channel formats, and Navigator-compatible channels can also be put on the Favorites menu; clicking such a channel would initiate Web browsing using Navigator.

9. The Channel Bar is a user interface element that is sometimes displayed on the Windows Desktop. In appearance, the Channel Bar is a vertical row of icons, usually on a dark background, that is usually drawn on the right side of the Desktop. If the user clicks an icon on the Channel Bar, this initiates IE Web browsing, displaying the chosen Channel. Navigator offers a feature similar to the Channel Bar.

10. The Find submenu of the Windows Start menu contains an item called People that allows the user to search for people on the Internet. If the user selects the People menu item, a window appears giving the user a choice of Internet directories to search. If the user then selects a directory and clicks the "Web Site" button on the People window, this initiates Web browsing, displaying the Web page of the chosen Internet directory.

11. The Find submenu of the Windows Start menu contains another item called "On the Internet." If the user clicks this menu item, this initiates Web browsing, displaying a Web search page.

12. In addition to the Links Toolbar described above in paragraph 7 of this appendix, the Taskbar may be configured to include the Address Toolbar. The Address Toolbar contains a line into which the user may type a file name or a Web address. If the user types a Web address into the Address Toolbar and then hits the Enter key, this initiates Web browsing, displaying the page that resides at the requested address.

13. The Windows Start menu contains an item called Run. If the user selects the Run menu item, a dialog box appears, containing a line into which the user may type a file name or a Web address. If the user types IEXPLORE.EXE and then hits the Enter key, this initiates Web browsing using IE. If the user types the name of another browsing program, such as NETSCAPE.EXE and then hits the Enter key, this initiates Web browsing using the other program. If the user types a Web address into the Run dialog box and then hits the Enter key, this also initiates Web browsing, displaying the page that resides at the requested address.

14. The Active Desktop is an IE Web browsing feature that allows the user to request that one or more Web pages be displayed on the background "wallpaper" of the Windows Desktop. A page on the Active Desktop may contain Web links that refer to files stored on remote Web servers. If the user clicks such a link, this will display the Web page to which the link refers.

15. Windows 98 provides at least three distinct methods for viewing the contents of a folder or disk. First, the user may double-click a folder on the desktop. Second, the user may click the "My Computer" icon on the Windows Desktop. Third, the user may activate Windows Explorer, which is a program that is used to view the contents of disks and folders. The viewing windows resulting from these three methods all behave in a generally similar fashion. I will refer to these three types of windows collectively as "Folder Windows."

16. A Folder Window usually contains an Address Bar, which is a line, usually near the top of the Folder Window, into which the user may type a file name or a Web address. Typing a Web address into the Address Bar of a Folder Window and hitting the Enter key initiates Web browsing, displaying the Web page that resides at the requested address.

17. The user may request a Web search by typing into the Address Bar of a Folder Window the word "go" followed by a word or phrase. This will initiate Web browsing, displaying a page containing the result of searching the Web for the requested word or phrase.

18. A Folder Window contains a menu called Favorites. The Favorites menu contains several items, including a set of submenus and items that duplicates the Favorites submenus and items described above in paragraph 6 of this appendix. If the user clicks one of these items that refers to a Web page, this initiates Web browsing, displaying the requested Web page.

19. A Folder Window also contains a menu called Go. Among the choices on the Go menu are "Home Page," "Search the Web," and "Channel Guide." Clicking one of these items initiates Web browsing, displaying the user's designated home page, the Microsoft search page, or the Microsoft channel guide page, respectively.

20. As described above in paragraph 41 of my testimony, a URL Shortcut File is a type of Windows file that serves as a shorthand name for a Web address. Double-clicking a URL Shortcut File initiates Web browsing, displaying the Web page to which the URL Shortcut File refers.

21. The Windows Help feature can be activated by selecting Help on the Windows Start menu. Selecting Windows Help causes a Help Window to be created. The Help Window contains a button labeled "Web Help." Clicking this button causes the Help Window to display some text that contains a Web link labeled "Support Online." Clicking this Web link initiates Web browsing, displaying Microsoft's on-line support Web page.

22. The Windows Update feature can be activated by selecting Windows Update on the Windows Start menu. Selecting Windows Update opens a new window displaying Microsoft's Windows Update Web site. This site helps the user configure and update the software on the computer. In Windows 98 as shipped by Microsoft, the user can subsequently use this window to browse any site on the Web.


Appendix B: Actions Performed by the Prototype Removal Program

This appendix contains a full technical description of what the prototype removal program does.

The prototype removal program adds a new shared program file called UPDATE.DLL. This file exports one function, which replaces the function CProtMgr::LookupClsIDFromReg(), which is found in the source code file ie\private\inet\urlmon\trans\protmgr.cxx. This function takes a URL and returns the CLSID of a component that can retrieve the document at that URL, or INET_E_UNKNOWN PROTOCOL if it cannot find such a CLSID. If the function returns INET_E_UNKNOWN PROTOCOL, then the caller will pass on the URL to the Default Browser. The new function implements the following logic:

  1. Set allowMSHTML = TRUE.
  2. If the function is being called by an IEXPLORE.EXE process, then
    • If the URL has a prefix that appears in the "HKCR\PROTOCOLS\Site Handler" Registry subtree, then set allowMSHTML = TRUE; otherwise, set allowMSHTML = FALSE.
  3. If the function is being called by an EXPLORER.EXE process, then
    • If the URL has a prefix that appears in the "HKCR\PROTOCOLS\Site Handler" Registry subtree, or if this request was dispatched by Web View, or if this request was dispatched by Active Desktop, then set allowMSHTML = TRUE; otherwise, set allowMSHTML = FALSE.
  4. If allowMSHTML is TRUE, then look up the URL's protocol in a table that remembers the CLSID that handled each protocol before the prototype removal program was run. If the protocol appears in the table, return the CLSID associated with it in the table; otherwise, go on to the next step,
  5. Return the value that the original unmodified function would have returned.

3. The prototype removal program installs a slightly modified version of the URLMON.DLL shared program library. There are three modifications:

  1. It masks out a series of Unicode string constants that URLMON.DLL uses to associate protocols with CLSIDs. These constants (and their associated CLSIDs) are declared in the global variable "rgKnownProts" in the source code file ie\private\inet\urlmon\iapp\cnet.cxx12. Masking out these string constants has the effect of causing any pattern matching operation that uses these string constants to fail.
  2. It replaces the function CProtMgr::LookupClsIDFromReg, found in the source code file ie\private\inet\urlmon\trans\protmgr.cxx, with code that calls the function in the newly added UPDATE.DLL shared program library.
  3. The original versions of the three functions COInetSession::FindOInetProtocolClsid, COInetSession::CreateFirstProtocol, and COInetSession::CreateProtocolInfo all take a URL parameter and extract the protocol part before passing it indirectly to CProtMgr::LookupClsIDFromReg. The prototype removal program modifies the three functions so that they do not extract the protocol part of the URL but instead pass the full URL.

4. The prototype removal program installs a slightly modified version of the SHELL32.DLL shared program library. The modification changes a jz (Jump If Zero) instruction to a jmp (Jump Always) instruction at offset 0x125E8 in SHELL32.DLL. This prevents the user from being presented with a redundant error message when an invalid (or unrecognized) protocol is used in a URL typed into the Windows Start menu's Run dialog box.

5. The prototype removal program removes the View Channels, Launch Outlook Express, and Launch Internet Explorer links from the Quick Launch Bar.

6. The prototype removal program deletes the file "c:\Windows\Channel Screen Saver.SCR", which has the effect of removing the Channel Screen Saver.

7. The prototype removal program deletes the file "C:\ Windows\System\View Channels.scf," which is a command file that launches a full-screen IE Channels window.

8. The prototype removal program deletes the file "C:\Windows\Start Menu\Programs\Internet Explorer\Internet Explorer", which has the effect of removing the link to IEXPLORE.EXE from the Windows Start menu.

9. The prototype removal program renames the "Internet Explorer" folder in the Windows Start menu to "Microsoft Internet Applications," to reflect its contents more accurately.

10. The prototype removal program deletes the following links from the Favorites\Links directory:

  • "Best of the Web.url"
  • "Channel Guide.url"
  • "Customize Links.url"
  • "Free Hotmail.url"
  • "Internet Start.url"
  • "Microsoft.url"
  • "Windows Update.url"

11. The prototype removal program removes the channels from the Favorites\Channels directory by removing the following files and directories:

  • Microsoft Channel Guide\desktop.ini
  • News and Technology\Snap! Online\desktop.ini
  • News and Technology\The New York Times\desktop.ini
  • News and Technology\Time\desktop.ini
  • News and Technology\CNN Interactive\desktop.ini
  • News and Technology\Wired\desktop.ini
  • News and Technology\The CNET Channel\desktop.ini
  • News and Technology\ZDNet\desktop.ini
  • News and Technology\CMPnet\desktop.ini
  • News and Technology\ccnews.htm
  • News and Technology\desktop.ini
  • News and Technology\Snap! Online\
  • News and Technology\The New York Times\
  • News and Technology\Time\
  • News and Technology\CNN Interactive\
  • News and Technology\Wired\
  • News and Technology\The CNET Channel\
  • News and Technology\ZDNet\
  • News and Technology\CMPnet\
  • Sports\CBS SportsLine Channel\desktop.ini
  • Sports\ESPN SportsZone\desktop.ini
  • Sports\CNN SI\desktop.ini
  • Sports\MSNBC Sports\desktop.ini
  • Sports\ccsports.htm
  • Sports\desktop.ini
  • Sports\CBS SportsLine Channel\
  • Sports\ESPN SportsZone\
  • Sports\CNN SI\
  • Sports\MSNBC Sports\
  • Business\The Quicken.com Channel\desktop.ini
  • Business\The Wall Street Journal Interactive Edition\desktop.ini
  • Business\Companies Online Channel\desktop.ini
  • Business\Microsoft Investor\desktop.ini
  • Business\Fortune\desktop.ini
  • Business\The Forbes Channel\desktop.ini
  • Business\ccbiz.htm
  • Business\desktop.ini
  • Business\The Quicken.com Channel\
  • Business\The Wall Street Journal Interactive Edition\
  • Business\Companies Online Channel\
  • Business\Microsoft Investor\
  • Business\Fortune\
  • Business\The Forbes Channel\
  • Entertainment\Comics Channel\desktop.ini
  • Entertainment\AudioNet\desktop.ini
  • Entertainment\MTV Online\desktop.ini
  • Entertainment\Hollywood Online\desktop.ini
  • Entertainment\People\desktop.ini
  • Entertainment\NBC Daily\desktop.ini
  • Entertainment\ccent.htm
  • Entertainment\desktop.ini
  • Entertainment\Comics Channel\
  • Entertainment\AudioNet\
  • Entertainment\MTV Online\
  • Entertainment\Hollywood Online\
  • Entertainment\People\
  • Entertainment\NBC Daily\
  • Lifestyle and Travel\Discovery Channel Online\desktop.ini
  • Lifestyle and Travel\National Geographic Connection\desktop.ini
  • Lifestyle and Travel\iVillage Presents Parent Soup 'What Should You Do'\desktop.ini
  • Lifestyle and Travel\Epicurious Food and Travel\desktop.ini
  • Lifestyle and Travel\Microsoft Expedia Travel\desktop.ini
  • Lifestyle and Travel\cclife.htm
  • Lifestyle and Travel\desktop.ini
  • Lifestyle and Travel\Discovery Channel Online\
  • Lifestyle and Travel\National Geographic Connection\
  • Lifestyle and Travel\iVillage Presents Parent Soup 'What Should You Do'\
  • Lifestyle and Travel\Epicurious Food and Travel\
  • Lifestyle and Travel\Microsoft Expedia Travel\
  • The Microsoft Network\desktop.ini
  • MSNBC\desktop.ini
  • Disney\desktop.ini
  • The PointCast Business Network\desktop.ini
  • Warner Bros\desktop.ini
  • AOL Preview Channel\desktop.ini
  • Microsoft Channel Guide\
  • News and Technology\
  • Sports\
  • Business\
  • Entertainment\
  • Lifestyle and Travel\
  • The Microsoft Network\
  • MSNBC\
  • Disney\
  • The PointCast Business Network\
  • Warner Bros\
  • AOL Preview Channel\

12. The prototype removal program moves the "Connection Wizard" directory, which contains the Internet Connection Wizard software, from "C:\Program Files\Internet Explorer" to "C:\Program Files." This is a more logical location for the Internet Connection Wizard, since the Internet Connection Wizard helps the user connect the PC to the Internet regardless of which browsing software the user chooses. The prototype removal program also modifies the Start Menu shortcut for the Internet Connection Wizard and the "Connect to the Internet" icon on the desktop (if any) so that they point to the new location of the Internet Connection Wizard. It also sets the following Registry entries to refer to the new location of the Internet Connection Wizard:

  • HKCR, "x-internet-signup\DefaultIcon", "", 0, "C:\PROGRA~1\CONNEC~1\ICWCONN1.EXE,0"
  • HKCR, "x-internet-signup\Shell\Open\command", "", "C:\PROGRA~1\CONNEC~1\ISIGNUP.EXE%1"
  • HKLM, "x-internet-signup\DefaultIcon", "", 0, "C:\PROGRA~1\CONNEC~1\ICWCONN1.EXE,0"
  • HKLM, "x-internet-signup\Shell\Open\command", "", 0, "C:\PROGRA~1\CONNEC~1\ISIGNUP.EXE%1"
  • HKLM, "Software\Microsoft\Internet Connection Wizard", "InstallationDirectory", 0, "C:\PROGRA~1\CONNEC~1"
  • HKLM, "Software\Microsoft\Windows\CurrentVersion\App Paths\ICWCONN1.EXE", "", 0, "C:\PROGRA~1\CONNEC~1\ICWCONN1.EXE"
  • HKLM, "Software\Microsoft\Windows\CurrentVersion\App Paths\ICWCONN1.EXE", "Path", 0, "C:\PROGRA~1\CONNEC~1;"
  • HKLM, "Software\Microsoft\Windows\CurrentVersion\App Paths\ICWCONN2.EXE", "", 0, "C:\PROGRA~1\CONNEC~1\ICWCONN2.EXE"
  • HKLM, "Software\Microsoft\Windows\CurrentVersion\App Paths\ICWCONN2.EXE", "Path", 0, "C:\PROGRA~1\CONNEC~1;"
  • HKLM, "Software\Microsoft\Windows\CurrentVersion\App Paths\INETWIZ.EXE", "", 0, "C:\PROGRA~1\CONNEC~1\INETWIZ.EXE"
  • HKLM, "Software\Microsoft\Windows\CurrentVersion\App Paths\INETWIZ.EXE", "Path", 0, "C:\PROGRA~1\CONNEC~1;"
  • HKLM, "Software\Microsoft\Windows\CurrentVersion\App Paths\ISIGNUP.EXE", "", 0, "C:\PROGRA~1\CONNEC~1\ISIGNUP.EXE"
  • HKLM, "Software\Microsoft\Windows\CurrentVersion\App Paths\ISIGNUP.EXE", "Path", 0, "C:\PROGRA~1\CONNEC~1;"
  • HKLM, "Software\Microsoft\Windows\CurrentVersion\Setup\VarLDID", "29400", 0, "C:\PROGRA~1\CONNEC~1"
  • HKLM, "Software\Microsoft\Windows\CurrentVersion\Setup\VarLDID", "29402", 0, "C:\PROGRA~1\CONNEC~1"

13. After moving the Internet Connection Wizard, the prototype removal program deletes the "C:\Program Files\Internet Explorer" folder and all of the files and folders it contains, including the files ACTSETUP.EXE, CHLINST.EXE, and IEXPLORE.EXE.

14. The prototype removal program removes the desktop IE icon by setting the Registry entry HKCR, "CLSID\{871C5380-42A0-1069-A2EA-08002B30309D}\ShellFolder", "Attributes", 0x00010001, 0x00100022.

15. The prototype removal program prevents the Active Desktop panel from asking whether to go to the Microsoft Channel Gallery by setting the Registry value HKCU, "Software\Microsoft\InternetExplorer\Desktop\General", "VisitGallery", 0, "no".

16. The prototype removal program removes the Channel Bar from the Windows Desktop by setting the Registry value HKCU, "Software\Microsoft\Internet Explorer\Main", "Show_ChannelBand", 0, "no". It also removes the user's ability to reinstate the Channel Bar by removing the Registry entry HKLM, "Software\Microsoft\InternetExplorer\AdvancedOptions\BROWSE\CHANNELBAR".

17. The prototype removal program prevents the user from being asked to make the IE Web browsing software the Default Browser by setting the Registry value HKCU, "Software\Microsoft\InternetExplorer\Main", "Check_Associations", 0, "no".

18. The prototype removal program removes "App Path" information about IEXPLORE.EXE by removing the Registry entry HKLM, "Software\Microsoft\Windows\CurrentVersion\AppPaths\IEXPLORE.EXE".

19. The prototype removal program changes the title that appears on MSHTML windows by setting the Registry value HKLM, "Software\Microsoft\Internet Explorer\Main", "Window Title", 0, "Windows 98".

20. The prototype removal program gives Windows Update permission to use MSHTML by setting the following Registry settings:

  • HKCR, "PROTOCOLS\Site Handler", "http://windowsupdate.microsoft.com/", 0x00010001, 0x1
  • HKCR, "PROTOCOLS\Site Handler", "http://windows.microsoft.com/isapi/redir.dll?OLCID=0x0409&CLCID=0x0 409&OS=at&PRD=windowsupdate", 0x00010001, 0x1 HKCR, "PROTOCOLS\Site Handler", "res://", 0x00010001, 0x1

These values are used by UPDATE.DLL to decide if a requested URL should use the MSHTML component or the Default Browser. If the URL matches one of these patterns, it is a Windows Update URL and uses the MSHTML component. (Note that the "res" scheme is used for purposes other than Windows Update; we wish to allow the "res" scheme to continue functioning.)

21. The prototype removal program disables the Active Desktop by setting the Registry value HKCU, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "NoActiveDesktop", 1, 95, 0, 0, 0.

22. The prototype removal program routes Web-related protocols to NOBROWSE.EXE by setting the following Registry values13:

  • HKCR, "ftp\shell\open\command", "", 0, "C:\Windows\NOBROWSE.EXE %%1"
  • HKCR, "gopher\shell\open\command", "", 0, "C:\Windows\NOBROWSE.EXE %%1"
  • HKCR, "http\shell\open\command", "", 0, "C:\Windows\NOBROWSE.EXE %%1"
  • HKCR, "https\shell\open\command", "", 0, "C"\Windows\NOBROWSE.EXE %%1"

23. The prototype removal program prevents Windows Explorer from creating an embedded IE subwindow by deleting the following Registry entries:

  • HKCR, "CLSID\{25336920-03F9-11CF-8FD0- 00AA00686F13}\BrowseInPlace"
  • HKCR, "CLSID\{25336921-03F9-11CF-8FD0- 00AA00686F13}\BrowseInPlace"
  • HKCR, "CLSID\{3050F3D9-98B5-11CF-BB82- 00AA00BDCE0B}\BrowseInPlace"
  • HKCR, "htmlfile\BrowseInPlace"
  • HKCR, "htmlfile_FullWindowEmbed\BrowseInPlace"
  • HKCR, "mhtmlfile\BrowseInPlace"

24. The prototype removal program changes the file association for HTML and variant formats so that the user gets an "Open With" dialog14 on trying to open them. This is done by setting the following Registry entries:

  • HKCR, ".htm", (default value), 0, "Unknown"
  • HKCR, ".html", (default value), 0, "Unknown"
  • HKCR, ".mht", (default value), 0, "Unknown"
  • HKCR, ".mhtml", (default value), 0, "Unknown"

25. The prototype removal program prevents IE Web browsing software from being used to view data stored in certain formats by deleting the following Registry entries:

  • HKCR, "giffile"
  • HKCR, "ITS FILE"
  • HKCR, ".its"
  • HKCR, "jpegfile"
  • HKCR,".jpeg"
  • HKCR,".jpg"
  • HKCR, "pjpegfile"
  • HKCR, ".jfif"

26. The prototype removal program prevents IE Web browsing software from being used to view data accessed via certain protocols by deleting the following Registry entries:

  • HKCR, "PROTOCOLS\Handler\cdl"
  • HKCR, "PROTOCOLS\Handler\ftp"
  • HKCR, "PROTOCOLS\Handler\gopher"
  • HKCR, "PROTOCOLS\Handler\http"
  • HKCR, "PROTOCOLS\Handler\https"
  • HKCR, "PROTOCOLS\Handler\its"
  • HKCR, "PROTOCOLS\Handler\mailto"
  • HKCR, "PROTOCOLS\Handler\mhtml"
  • HKCR, "PROTOCOLS\Handler\mk"
  • HKCR, "PROTOCOLS\Handler\ms-its"
  • HKCR, "PROTOCOLS\Handler\res"
  • HKCR, "PROTOCOLS\Handler\vbscript"

27. The prototype removal program removes the ability to put the IE icon on the desktop by deleting the Registry entry HKLM, "Software\Microsoft\Internet Explorer\AdvancedOptions\BROWSE\IEONDESKTOP".


FOOTNOTES

1 Microsoft also released a minor version of Windows 95 known as OEM Service Release 2.1 ("OSR 2.1") in October 1996. According to a letter from Steven L. Holley to Professor Lawrence Lessig, dated January 30, 1998, "There was a further supplement referred to as OEM Service Release 2.1, but that was something of a misnomer because the supplement does nothing other than provide Universal Serial Bus Support." (Exhibit 383) Since this difference is not important to my discussion, I will not mention OSR 2.1 further. Statements made in my testimony regarding OSR 2 also apply to OSR 2.1.

2 Microsoft's Knowledge Base is an extensive set of short articles providing tips, procedures, and information about product features and bugs. Microsoft's Web site allows customers to view and search Knowledge Base articles.

3 Here is a complete list of the supplements in IE 4.01 Service Pack 1: Desktop Update, Microsoft VM for Java, Internet Connection Wizard, Microsoft NetMeeting, Microsoft Outlook Express, Microsoft Chat 2.0, Microsoft NetShow, Microsoft Interactive Music Control with Microsoft Synthesizer, Microsoft VRML 2.0 Viewer, DirectShow, VDOLive Player, Microsoft Agent, Macromedia Shockwave Director, Macromedia Shockwave Flash, RealPlayer, Microsoft FrontPage Express, Microsoft Web Publishing Wizard, Microsoft Wallet, Supplemental Web Fonts, Internet Explorer Sound Pack, Task Scheduler, and international language support for Japanese, Korean, Pan-European languages, and two variants of Chinese.

4 Windows Update is related to browsing in the sense that the user can type a Web address into a Windows Update window and then use the window to browse the Web.

5 A feature very similar to Web Help, called "Windows, the Web, and You" was available in some versions of Windows 95, including OSR 2.

6 A folder is a container that may hold files and other folders, allowing the user to organize files in a hierarchical fashion.

7 There are several reasons why the user might want to give files shorthand names. For example, if the user organizes files hierarchically by topic, the full name of a file (including the names of the folders it is in) might be long; but the user might also want a shorter, more convenient name for a commonly used file.

8 We chose not to remove the Windows Update feature, although we could have done so easily, and in fact Microsoft provides corporate customers with the ability to remove this feature. The Windows Update feature allows the user to maintain the PC's software by updating the Windows 98 system software. After our prototype removal program has been run, Windows Update continues to support the system maintenance activity, but the user cannot use a Windows Update window to browse the Web.

9 Windows 98 uses the Windows Registry to track many types of system configuration information, including how each type of file should be treated.

10 Shared program libraries are also known as dynamically linked libraries ("DLLs").

11 The Security Zones feature allows the user to designate a group of Web sites as a "zone" and then set up security policies for an entire zone at once, rather than having to make security decisions on a site-by-site basis.

12 This data structure also contains ASCII versions of the string constants, but we do not mask these out since they are not used.

13 The prototype removal program sets these Registry values correctly even if the Windows directory is not C:\Windows, by filling in the correct directory path rather than hard-coding the use of C:\Windows.

14 The "Open With" dialog asks the user which program should be used to open a file.

Updated August 14, 2015