On November 12, 1990, Bill Gates, Chairman and Co-founder of Microsoft Corporation gave the keynote address at Fall COMDEX. He detailed his vision of the future of personal computing. The following 'white paper' was distributed at that time. Information at Your FingertipsTM Computing changed dramatically during the 1980s. The speed and memory of personal computers rivaled the kind of performance that was once available only on large centralized systems. Many organizations set aside their mainframes and minis and moved to individual desktops. Computer technology became widely available and essential for everyday decision making. As we enter the 1990s, Microsoft believes these dramatic changes and advances can be brought together and expanded on in a very powerful way to deliver Information at your fingertips. Information at your fingertips exemplifies the concept of making computers more personal, making them indispensable, making them something you reach for naturally when you need information. Information at your fingertips is a challenge not only to Microsoft, but to the entire computer industry. Fulfilling this challenge means we must go beyond thinking about developing smaller and faster computers or about developing software applications that have more and better features. The driving vision for hardware and software technology must focus on making things easier for people while protecting the investments made in the more than 50 million installed personal computers. This is going to be hard. Personal computers are becoming more powerful and are being networked together in more complicated ways, but we want the average workday to get easier, not more difficult. For example, having an extremely large hard disk is great, but only if you can find what you are looking for. We need to do a better job of thinking about technology from the point of view of individuals--how they work, how they think, what they need to work and think more effectively. And then we need to connect them to their work so easily that using a computer is as natural as picking up a pen or a pencil. We need to make computers so interesting to use that people feel compelled to explore--not to find the one infuriating command required to finish a job, but to see the myriad ways this wonderful tool will get things done faster and more efficiently. Computers should be challenging to use in the same way that a well-made automobile is challenging to drive--the surprise is not in the "oops" but in the "aaah." We want people to use computers not because they have to, but because they want to. In short, we need to put the "personal" back into personal computers. Information at your fingertips encompasses what Microsoft has done in the past and what we want to do in the future. In the early 1980s, we wanted to establish a computer standard that would lead to low-cost, high-volume computers and software so that everyone could have a computer at their fingertips and become more productive. The results, DOS and the PC standard, have allowed for incredible growth and innovation. In the mid-1980s, we began evangelizing Microsoft® WindowsTM and the graphical user interface to make software easier to use and more appealing. In the late 1980s, OS/2® systems introduced client-server computing to the mainstream PC world, bringing powerful workgroup applications to the average user and making data available corporate-wide. As we walk into the 1990s, we are poised to bring all these pieces together and expand on them to create a powerful computing environment. Ease of Use Information at your fingertips must, above all else, represent a very personal idea. Today, information can be obtained easily through newspapers, books, television, radio, audiotape, and videotape. You don't have to learn anything new to work with any of these common tools. If the computer is to become the preferred method for getting information, we have to make the computer simple and appealing. You'll have to enjoy having it on your desk and using it at home (or taking it with you when you travel), and you'll have to see it as the best way to gather data. On the most basic level, the PC itself has to be more approachable. Applications are becoming easier to install and run, but users still have to worry about things such as configuration files and manually setting parameters to provide the correct amount of memory for some obscure function. Compare this with other kinds of high technology. When you turn on your new television for the first time, you don't have to get out a screwdriver to set the frequencies for all the stations you want to receive. When you pick up your new car, you don't have to fool with the electronic ignition. You just turn on your TV, and you just start your car. You should be able to just turn on your computer, and it should start working. It should sense the type of monitor you have, the amount of memory, the kind of hard disk, the applications you have, and whether you are connected to a network and then automatically configure every detail and nuance of your system accordingly. Integration: The Opportunity The first phase of making life easier for users was What-You-See-Is-What-You-Get; the next phase will be What-You-See-Is-What-You-Need-To-Get. Now that we have high-quality WYSIWYG documents, we need to help users find and manipulate all the data that goes into them in an easy, natural way. The integration of PC applications will make both individuals and groups more productive. As long as each tool in the personal computing world remains specialized, you cannot deal with information effectively. Information is compound and widely dispersed. A typical business report may contain text, a spreadsheet, a schedule, graphs and drawings, and tables, and this information may originate inside or outside the company. Right now the user has to learn how to use all the different applications required to produce various types of data, locate all the files that contain the necessary information, and figure out how to link them all together. The user also has to keep all the applications up-to-date when data in one or more of the files changes. Software should be able to do all this by hooking the information together and tracking the connections. Related problems must also be addressed. How can users locate copies of similar reports for reference or additional background documents related to the project? How can they be sure they follow corporate style for a business plan? Who should receive the plan, and how can users incorporate feedback and track approvals? Automating these procedures frees the user to focus on the content of the report. Extending these concepts to all the documents used by a business and to various office and business procedures makes it possible to combine various standard PC applications into a fully customized office automation system. Integration: The Solution From today's situation, in which the user must manipulate three or four different applications to produce a single document, PC systems must evolve to the point that the user is not even aware that different applications are being invoked to produce a document. The user will simply write, browse, select, and edit different kinds of information within the body of a document. This must happen without radical changes to the user's work or to the user's applications to ensure that a broad range of applications will be available and to protect the company's investment in applications and corporate documents and data. The first steps for managing compound documents already exist among graphical applications under Microsoft Windows and OS/2 Presentation Manager.TM Cut-and-paste or "hot links" (using Dynamic Data Exchange) allows immediate insertions. The next step, currently being implemented to permit updatable insertions, is called object linking, which allows embedding and linking. Embedding is similiar to copying and pasting data between applications, except that embedded information is still managed by the source application. To update or change the embedded information, you simply point and click with a mouse and make changes in place. For instance, if you insert a drawing into the text, you can alter the drawing in the word processor without going out to the drawing application and then coming back into the word processor. You can embed and manipulate any type of information in your document, regardless of its source. Linking achieves the effect of embedding information from one document into another without making a physical copy. In a report with a price list table, for instance, you could copy that table from its original file and manually track any future changes. But this wastes time, duplicates the data, and is prone to error. A better solution is to link the report with the table of prices so that any price change is reflected in the report automatically. In addition, the links are maintained no matter where the original price list, or the report, is moved on the system. Common Macro Language Means Easy Programming If you combine the embedding capability with the concept of a common macro language, you have redefined what an application is. Microsoft's concept of a common macro language is that of a simple but powerful computer language included with a variety of applications and with the operating system. We first described this idea publicly in 1987 and have been moving toward that goal step by step; the macro languages in our applications have evolved with each new release. A common macro language will have several advantages. First, it will be easier to use. Second, it will be the same in a variety of applications, and it will be the same as the control language used for the operating system so that users don't have to learn new languages to do similar tasks in different applications. Finally, by using agents to cross applicationsí boundaries, users can work in one application and call parts of other applications into play as needed, or they can start from outside any application and tie them together in various ways. The embedding capability, along with a common macro language, will allow users to mix and match applications to meet their needs. For example, corporate developers might want to tie together typical business applications with special formula editors, image processors, drawing and charting packages, or product schematics to meet special business needs and manage new or more specialized kinds of data. They won't have to reinvent the wheel to do a bit of text-editing or number-crunching or sorting by ZIP codesñjust access the part of any other application that performs those functions and they're done. Objects: A Way for PCs to Act Naturally All these capabilities depend on the underlying concept of objects. Today, you must explicitly direct an application to do something by typing commands or clicking on a menu. To print a file, for example, you type the command "Print" and the name of the file. In an object- oriented system, everything is a self-contained entity that is aware of the actions that are appropriate to it. Rather than act directly to print an object, for instance, you send the object a message, for example "Print Thyself," and the object responds or not, according to what is appropriate. From the user's standpoint, objects represent documents, applications, and processes, and the user acts on the object (icon) to get something done. For example, dropping a file folder on the printer prints the file; dropping it on the outbox object mails the file. In essence, you should be able to grab one object and drop it on another object and the two objects should figure out what to do. Printing and mailing are simple examples. You want to do the more complex things easily; for instance, taking a file with numbers and dropping it onto the Microsoft Excel icon should automatically create or update a spreadsheet, depending on the context; dropping a file with customer information onto a database icon should update the database. The system should recognize the kinds of objects and what can be done with them; if more than one option is available, a menu should pop up and present you with the appropriate choices. If you drop a file onto the mail object, the system should mail the fileñand prompt for an addressee you forgot to include. The user should simply indicate what is to happen, and the system should do the rest. Object orientation profoundly affects applications developers and systems designers. Microsoft's design goals for objects range from the file system itself, where objects have to be stored, to advanced computer languages such as C++ and the common macro language, to products that allow unsophisticated users to build application interfaces with nothing more than a pointing device and a set of graphical "things" to move around and shape. All these capabilities are required to make a computer respond the way people think, instead of the other way around. Whether it is the casual user wanting to solve a recurring trivial but annoying problem, or a systems designer wanting to build a computer network for an entire organization, object-oriented tools will make these projects dramatically simpler. Even the user shell that replaces the operating system prompt, file manager, and program selector will become object-oriented, providing standard tools for moving, copying, and linking information within and between documents. These functions will no longer have to be included in each separate applicationñthey will be in the shell already, and users will be able to move effortlessly between the shell and an application. The user will not even notice the difference. In this context, graphical applications are not simply the best productivity applications on the market, but they are building blocks for automating the work and business procedures for individuals, groups, and ultimately whole enterprises. It is this vision that drives Microsoft's efforts to establish the graphical user interface on the desktop. Only a graphical approach will allow true integration, and Microsoft will extend today's operating environments and establish standards to allow this integration to occur. Our approach will be fully open and documented to allow commercial software vendors and corporate developers to write applications that integrate with others and to use the rich services provided by the improved file system and the shell. Corporate Information: Getting Information from Around the World Object orientation has a powerful impact on the operating system itself, especially in helping users find information distributed across a network of computers. No matter how well- organized it is, a hierarchical file system can bury information so far down that it's hard to find. A graphical user interface makes the hunt easier but not transparent, because information can be categorized in several ways, and a traditional file system forces you to choose only one. For example, something can be filed by client, by project, or by topic, to name just three possibilities. Even more difficult is information buried inside a file, such as a chart or a tableñit's invisible to the outside world. An object-oriented file system will be able to store and understand the objects it contains and to respond dynamically as files change. If you can remember a key word or a phrase within a file, or the topic or the author, or whether it was a very large file or was linked to your October report, you should be able to find the information. And if you're looking for a single chart hidden within a particular file, you should be able to locate it by the contents of its title as well. Limited capabilities of this sort are being implemented within applications such as word processors, but this does not help the user compile a compound document created by different applications; the applications will use incompatible searching methods or have none at all. The solution needs to be a systemwide. Because the operating system will handle these tasks by sophisticated automatic indexing, the concept can be extended to include even those files that reside anywhere on the network or have been archived offline. This effort to find and share data goes beyond a single user. Information at your fingertips expresses the concept of a highly networked environment, in which many people work closely together even though they may be widely dispersed in an office or organization. Information from anywhere in your company, from another network, from a mainframe, and from somewhere around the world must be readily available. Information in any form--text, database, spreadsheet, word processor, graphics, sound--must be at your disposal. As far as you're concerned, your personal computer will have the world's largest hard disk because it will connect you to all the information out there. (Assuming, of course, you are authorized to get it!) You won't care where the information is, and you won't have to specify a string of servers or specific locations to find it. All you will have to know is the name of the resource, or the author, or the kind of resource; the system will figure out where it is and how to get it to you. A directory service that allows you to browse for information over the network (for such things as personal or workgroup names, addresses, and topics) will become just another extension of the system's file-indexing capability. Email Becomes Backbone of Communication The most obvious example of widespread corporate electronic communication is electronic mail, or email. At Microsoft, you have to know only a person's name to send mail to that person anywhere on the Microsoft system, anywhere in the world. This system has about 6,000 people on it and is growing every day. With a full-blown directory service--a way to manage all network resources regardless of the location--you will have the ability to find such things as the parts inventory for a certain product line or a sales database or the latest presentations on certain topics or the names of the California technical support team. With directory services, you'll simply name the resource, and you'll immediately find your data. Email, as we know it, is just the first step. The more you think about it, the more possibilities you can see for innovation. What information should be sent to you versus what should you go out and browse? Can incoming mail be prioritized? Can you combine voice mail and electronic mail so that you can get either regardless of whether you call in or log in for messages? Integrating the outside world into your system is very important. Another exciting area is using and distributing forms electronically, eliminating the need for extensive paper forms. This is the next step in broadening the concept of email. Today we use email to type quick messages or memos or perhaps to facilitate document exchange remotely. But if you combine email with compound documents and forms, along with a network that can manage these things worldwide, email becomes the way all important information will move within an organization. People can interact with and exchange a variety of information and information types, and sophisticated information can be automatically and instantly routed to the key people who need it. Individuals and organizations can understand and assimilate information and act on it within minutes or hours instead of days or weeks. A critical element in the success of this approach is that the entire user community must come along in parallel. If some new technology along these lines is implemented on an incompatible system, it doesn't matter that the new system might have two or three great new features--what matters is that a corporation would be prevented from unifying all the disparate information scattered through its ranks. This is another reason that the industry must move the PC standard forward in stable, rational steps: to ensure that every user and every application can participate. Beyond the Office: Computers on the Move A great deal of information comes to us when we're away from a desktop computer, which prevents us from keeping information up-to-date in all the places we need it and therefore defeats the automatic nature of electronic systems. Imagine, though, a portable PC that's really portable. It's the size of a standard notebook; it has a screen and a touch-sensitive pad. It's less than an inch thick and comes with a stylus. It can decipher your scribbling. If you circle some text and draw a line to where you want to move it, it will move the text for you. If you want to delete a word, you strike through it and it disappears. Like the spiral notebook, yellow legal pad, or paper time-management systems of today, you keep everything in it--notes from meetings and phone conferences, to-do lists, schedules, address and phone lists. You carry it around the office, you take it home, you take it on business trips. You gather the information as you do now--in real time, in whatever order the meetings, calls, and fire drills happen to occur. Once in a while you plug it into your desktop PC. Any information that needs to be updated from one system to another is automatically adjusted. Meeting notes are distributed electronically to the appropriate people in your office, and they are notified electronically. If you changed your schedule on your notepad while you were away, or if your boss wanted to change a meeting, the notepad checks the main office schedule and highlights any conflicts, letting you resolve them. If you're at home or on the road, you plug the machine into the phone, and all this happens remotely. You collect your phone messages and your email in one easy package. You now have something that can keep track of your schedule. It makes sense out of the daily jumble. It eliminates the need to retype information or store it in multiple ways. Your computerized calendar becomes so easy you can't do without it. You can even doodle on it and play games on the plane home when you're too tired to do anything else. You have information at your fingertips. Advantages are not limited to people who travel in their work. Consider those employees whose jobs take them into the field every day, such as sales personnel or delivery personnel. At best, the information these employees have is twenty-four hours old; more likely (depending on their current informations systems), it is even older. A combination of a notebook computer and cellular phone technology could keep these workers up-to-date on the latest product and delivery information; they could get customer histories and credit information instantly; they could process and deliver orders electronically, speeding up the process and eliminating redundant order entry later on; and they could allow the company to keep its inventory small and flexible. To prevent the market from being fragmented, these portable systems must be compatible with desktop systems. Otherwise, vendors have to duplicate their application development efforts, and users must double both their software purchases and the hassle with learning curves and redundant data. Microsoft will improve the Microsoft Windows desktop to incorporate object-oriented technology and will also base its support of handwriting and notebook computers on the Windows environment. Home Computers Will Cause Markets to Explode Information at your fingertips extends beyond the office to the home. Multimedia computers will broaden the kinds of information that it's possible to deliver, as well as the way information is delivered. Multimedia machines will offer an integrated mix of sound, text, graphics, and live motion on the computer screen. Someone constructing a home, for example, will be able to visualize in three dimensions the size and shape of rooms and the placement and fit of different styles and sizes of furniture, appliances, and home entertainment equipment. Consumers will be able to decorate rooms in various colors on the screen to see how they will look together. Home applications will differ dramatically from the PC applications we use in the office today. Most current applications are tools--word processors to write with, spreadsheets to let you do calculations, computer languages to let you create other products. You have to supply the information. Software products for the home will be "content" applications containing vast quantities of information. They will not be simply text databases and reference works. We have the opportunity to engage the minds of young people throughout the world, to develop new ways to stimulate their natural curiosity--to get them as excited about important information at their fingertips as they are about their video games. Interactive geography, for instance, will allow you to touch a country on a PC screen and instantly see photos of its people, hear their voices, and take visual trips through the landscape in ways that a static book can never show. Interactive science programs could walk students through experiments; text, graphics, and sound will combine to explain important concepts. Even computer games themselves, sometimes considered a scourge, will become more sophisticated and challenge more of the thinking and analytical skills of the young rather than just their reflexes. These multimedia machines will blur the lines between education and entertainment, dramatically expanding the possibilities of both. Educational software can be made more stimulating, and entertainment media can be made more interactive and less passive. Content applications will likely be bigger business in ten years than the business of selling tools, which is mostly what we do in the PC industry today. Home users will also need to integrate these new media systems with information from the office. The common Windows-based platform will allow the exchange of applications and information. Multimedia, for example, can be integrated into a standard PC, with controls for sound and video being treated as additional objects that are manipulated by the user, allowing voice and video frames to be combined into a compound document as easily as a spreadsheet file. Microsoft's Role If there is any pattern to what we are seeing today, it is that information is becoming more and more complex, and integrating it is becoming more and more important. All these new technologies await us. Unless they are implemented in standard ways on standard platforms, any technical benefits will be wasted by the further splintering of the information base. True notebook computers, for instance, are just beginning to emerge, as hardware manufacturers rapidly advance flat-screen technology. If these machines are incompatible with existing standards, they will simply create a small niche in the market because the huge mass of existing PC applications will not be able to take advantage of them. Microsoft's role is to move the current generation of PC software users, which is quickly approaching 60 million, to an exciting new era of improved desktop applications and truly portable PCs in a way that keeps users' current applications, and their huge investment in them, intact. Our goal is to evolve the existing PC system standards to include new capabilities such as compound documents, object-oriented file systems, distributed file systems, handwriting recognition, and multimedia. A nonstandard implementation might offer a short-term time advantage for a particular feature, but a better solution would be to incorporate new technologies directly into the PC architecture or systems software. If the goal is to unify all the information in our lives, then we must bring the standard along carefully so that all the users come along. Because all the requirements for Information at your fingertips are interrelated, Microsoft's role is key: We are positioned to solve many of these problems at a fundamental level, in the underlying operating system. The ability to have a file system that stores objects, to have different objects know how to act on one another, to locate things wherever in the world they may be, to tie together applications and to share various functions such as charting and outlining across applications, to expand these efforts into new kinds of technology such as notebook computers and multimedia machines in the home--Microsoft is in a unique position to unify all those efforts. As developers of operating systems and networks, we are required to take a broader view, not just so our applications can run, but so an entire industry can prosper and a whole generation of users can make the technological leap into the future. This broad vision will take several years to unfold. We will introduce capabilities over time in order to bring the user community along without disruption. Each step will need to preserve compatibility. At each step we will work with independent software developers as we did when we developed Microsoft Windows and OS/2. Tremendous synergy will develop when large numbers of applications and information objects have been implemented according to the standards we are developing. We are excited to be developing software that will let users automate the handling of daily tasks and information processes without writing a single line of code, but simply by showing the system what they want done. We are excited to be developing software that will let users search for information from a greater range of sources than is possible today and that will let them file and retrieve things more quickly and efficiently than they can today. We are excited to be developing software that will let users create information with greater richness and diversity than anything that can now be done on paper or with current computer technology. We are excited that we can enable users to solve problems that up until now could not be solved. But Microsoft cannot do this alone. Fulfilling this promise requires the cooperation of the PC industry and information providers. With their help we can deliver the computing power that can do all this. Microsoft is a registered trademark, and Windows and Information at your fingertips are trademarks of Microsoft Corporation. OS/2 is a registered trademark, and Presentation Manager is a trademark licensed to Microsoft Corporation.