If the text on this page is too small or too large, hold down the CTRL key on your keyboard and move the scroll wheel of your mouse back and forth. The text should grow or shrink. If you don't have a mouse with a scroll wheel, hold down the CTRL key and press the plus or minus keys. This works with most browsers and many Windows based programs including Microsoft Word.
|My Operating System|
After leaving IBM in 1999, I taught older individuals how to use computers. This was an eye-opener. At IBM I worked on mainframes, the world's largest most powerful computers. Now I saw how difficult computers were to use for the average person, especially older people. The problem was not the users - it was the tools they had at their disposal, and the Windows Operating system itself was the main culprit.
By then I had been doing intricate Boolean data base searches for almost two decades. I could go on the Internet and, even using dialup and an early search engine such as Altavista, I could find a specific web page out of millions in a matter of seconds. At the same time, trying to find almost anything on ones personal computer ran from the merely agonizing to the totally impossible.
I wanted to give Windows the boot and create an operating system based solely on searching. I emailed my proposal to the chief technology officer of a Boston based software company. He emailed back:
“Well....I've discussed your proposal here (in confidence) with two other employees (our CEO and another VP). We all agree it's a good idea, and a 'big' idea that could potentially be momentous…..”
Almost immediately thereafter the dotcom bubble burst and the bottom fell out of stock market, leaving no money for technological investment. What follows are my original notes to the CTO of that company, including the technical underpinnings of the theory.
Re: Proposal for the Operating System of the Future
I want to create a universal searching interface which will allow users to find everything from words and phrases within Word documents to web sites on the Internet bookmarks, email messages, address books, document files and folders; all using the same consistent interface.
More and more Windows functions involve searching. This is a natural consequence of Web based applications, where so much is done through searching, filtering back down to older PC based applications. Eventually PC users will use searching interfaces almost exclusively.
This application could be written quickly and relatively inexpensively. Your program already has the internals. We would just apply them locally, on user PC's, as today you apply them on the Internet.
Historic Shifts in File and Record Access
At IBM I worked in software service for mainframe operating systems. My area of expertise was device I/O, specifically the area of disk I/O.
Mainframe disk drives are called DASD, Direct Access Storage Devices. They hold enormous amounts of information. Think of them as huge stacks of phonograph records on spindles. At one time application programmers programmed to real addresses on DASD, cylinder, head, record, the actual physical locations of files on disk.
DB2 and other data base applications quickly took over this job. Programmers could focus on logical relationships (relative addressing, file names and their position within directories and folders.) Today no applications programmer would think to write programs to purely physical addresses.
Microsoft Windows has always employed a logical, not physical, view. We know the names of files and folders, where they fit in relation to each other. Shortly this will shift to systems where users need only vaguely know the names of files. Eventually we'll be able to find a file just by remembering a few words or phrase in the document. For all practical purposes these files will appear to users as undifferentiated data. Their interface will be a search engine. The whole Microsoft Windows scheme of data organization, subfolder within subfolder within folder, is an artificial construct anyway. Wherever the data represented by files exists on a hard drive, it bears no relationship to Windows folders.
This imminent shift, from user interfaces based on logical addressing, to a search interface, comes about because of the increasing power and plummeting cost of computer chips. If I make $35/hr and can purchase a computer containing a gig of CPU for around $1,000 it makes absolutely no sense for me to take the time and effort to logically structure files and keep them in order; not if programs exist which take advantage of increased CPU power to do it for me. In the tradeoff of time versus money, time clearly comes out on top.
A search interface will drastically decrease complexity, increasing ease of use. Ironically, it was my son Daniel who first tipped me off to this.
Daniel is an AD&D (Advanced Dungeons and Dragons) fanatic. When he goes to print out AD&D style sheets on our computer, he does it all wrong. By which I mean, he doesn't start Microsoft Word, then open folder after folder to find the one with his style sheets, then finally open that file and print it.
Instead he uses 'Find' on the Windows Start Menu. He goes to START, clicks 'FIND FILES OR FOLDERS', types in "AD&D", and lets it fly. He then clicks on the file name, causing Microsoft Word to start. Word opens the file then Daniel prints it out. He has no clue where those files exist on disk, in which folder, directory, or, for that matter, the specific drive.
He did this from the very beginning, and I can't tell you how much it annoyed me. Here I neatly arranged all my folders so as to always be able to find documents, and he just fires away. It drove me crazy!
But it turns out Danny was right all along. There's absolutely no reason the average user need know or care where files and programs reside on disk. This becomes obvious when you spend time on the Internet. There we are interested in content alone. Who cares where, on which server, a website resides? Search engines find everything for us. Intelligent search engines, such as your program, even use probability driven algorithms to logically group Web sites for users, who then bookmark them so they can find them again.
The second thing leading me to the concept of a universal search interface was my increasing frustration with Netscape bookmarks. Information is useless if you can't find it. Bookmarks are the key to the Internet. In my computer classes the first thing I tell students is that when you find a website that interests you, bookmark it immediately.
Netscape is my browser because it has the best bookmarking facility, easiest, simplest to use. It allows one to arrange bookmark folders into a tree structure, subfolders within subfolder within folder. This is consistent with Windows design.
Microsoft's Internet Explorer doesn't work this way. One can only create primary folders, not subfolders. Why Microsoft programmers didn't follow their own basic architecture, I have no idea.
Netscape's email message folders employ the same consistent architecture. One can accumulate hundreds of messages. If you arrange them logically you can find the one you want. So Netscape is my browser. But the more I used Netscape, the larger my bookmark and message folders grew, the more unhappy I became; because past a certain point, logical structuring of files simply does not cut it. So I found myself relying more and more on the Netscape 'find' feature. It was either that or spend all day cataloging bookmarks and messages, just to find them again. But Netscape is a well structured Windows based application. This means that their internal searching mechanism was created as a minor afterthought. Netscape's 'find' is a linear search through bookmark records, producing just one instance of a result at a time. If that's not the one you want you must initiate the search again. I would rather search once and get an ordered list of hits meeting the criteria. I want to be able to do this no matter where on my computer I do the search, including within individual files, such as Word documents.
The Minor Annoyance that Finally got to Me
Hit ctrl-f to search Netscape bookmarks and up pops a window with the following options: Search in "Name", and/or "Location", and/or "Description". Select one, two, or all of them, by checking a small box adjacent to each word.
The first two, "Name" and "Location", are the defaults. Their boxes are always checked; but not "Description". And since the default is reset after each search, you must recheck the description box over and over, even if you're searching for the same word.
Netscape bookmark files aren't that big. A one megabyte bookmark file is huge. So here I have at most one million bytes of data, and Netscape programmers decided it was significant to ask me every time if I want to search on "Name" and "Location", or "Name", "Location", AND "Description".
Absolutely nothing about bookmark records warrants this extraordinary treatment. They are small records and there aren't huge numbers of them. I can search the whole Internet, for any instance of a given word or combination of words or phrases in ANY part of a document, header or body. But when I go into Netscape's bookmark editor, they ask me every time if I want to search both header AND description. That this is somehow worth my while to even think about!
Before anyone ever heard of the Internet, at IBM I constructed intricate Boolean searches. Now on the Internet I can enter the same types of search arguments. Your program will then winnow down the hits and group them logically into folders. But if I then bookmark a site, writing the web address down on my hard drive, I might never find it!
I should be able to search for ANY instance of a search argument in bookmark files, have all hits displayed at once, AND be able to search ALL my bookmark files at the same time, be they Netscape, Internet Explorer, or AOL.
The problem here is that conceptually the data in bookmark files is seen as fundamentally different, special, from other types of records. There's no good reason for this. It's just that Windows applications are programmed with logical structures in mind, in this case a logical record structure. What makes this so obviously stupid is that bookmark files contain addresses of Internet sites, and on the Internet we have truly powerful searching capabilities.
Once one realizes that no fundamental need exists for different interfaces to find different types of records, many things fall into place. I should be able to search ANY type of data, on the Web or on my local computer, and get an ordered grouping of hits. There is ABSOLUTELY no reason the average user need know about the logical structuring of files, any more than they need know the physical placement of data on a disks.
After working so long solving problems for giant corporations, on leaving IBM I became interested in the problems which individual users, especially older people, encounter trying to learning computers; which means: Microsoft Windows.
This whole rigmarole, figuring out what drive/folder in which to place data and programs, is so forbidding to new users. Lost in the general hubbub about the Internet is the fact that if one can't use a computer you can't even get to the Internet.
Every day I see the problems people encounter learning this convoluted artificial file management system created by the Microsoft Corporation. The difficulty isn't the data, it's the interface.
The Need for Consistency
Programs must employ consistent interfaces. Users have neither time nor patience to be forever learning new interfaces, each with its own idiosyncrasies.
Data is useless if you can't find it. Everything one takes for granted on the Internet ceases once we get on our own computers. 'Find/Search' on the Window's START menu is as good a search tool as exists within Windows. But you can't specify exact phrase searching and there is no Boolean search. You can sort by name or date, but not date WITHIN name.
I teach as a volunteer at SeniorNet in Kingston, NY. SeniorNet (www.seniornet.org) is a national organization, wholly volunteer, which assists older people to learn how to use computers. At some point Microsoft renamed their 'find' function. Now they call it 'search' instead. I suppose it sounds more 'Internet-like'. Do you have any idea what a seventy year old woman does, when a tutorial says "go to 'find' on the START menu", but there is no 'find', only 'search'. She turns off her computer, that's what she does.
The Netscape 'address' window is called 'Address' in one Netscape version, 'Location' in another, 'Netsite' in a third. The basic look of Windows ME is a major departure from that of Windows 98.
Large software houses seem willing to radically change interfaces whenever it suits their purpose, or on a whim, without regard for the people who must become comfortable with those interfaces. This is a nightmare for computer users.
Maddening Inconsistencies in the Windows Operating System
With 'find/search' on the Start menu, one can maximize the window, making it easier to see. This is beneficial, especially to older people. But when I start my word processor, Microsoft Word, and click 'open' to find a file to edit, that window can't be maximized.
Is the ability to view text in large size fonts, to see the maximum number of files at once, any less important in this window, than within 'find/search? How about the ability to arrange files by date, or conduct intelligent searches for documents?
The find/search mechanism within Microsoft Word is another linear search, just like Netscape's bookmark editor. Why not optionally be able to see ALL possible instances of a successful search at once? Why not exact phrase searching here too, and Boolean operators? The 'near' and 'not' operators could be immensely useful. Let me find all instances of 'biology' in my document, when near 'botany', but not near 'ecology'.
Throughout Windows a primary function might be logical, efficient, easy to use (Searching for files in Windows folders, doing an Internet search and organizing that output so it may be viewed easily), but the secondary function (Finding a document to open WITHIN a word processor, finding a word or groups of words within that document, being able to find a bookmark created as a consequence of an Internet search) is not.
Note: By 'Windows' here I'm not referring specifically to the operating system, but to the entire domain, the Windows operating system and applications it runs.
All interfaces relying on linear search, demanding that users know logical structures to access data, can be replaced by a single intelligent search engine. It shouldn't be hard to implement. It just means routing existing search code to internal PC structures. This can be applied everywhere.
The definition of a Killer App is an application which creates a sustaining market for a promising but under-utilized technology. This application is the killer app for searching technologies.
Some Ideas on Implementations
The interface for my operating system could be quite simple, a one line natural language question:
Q: "What do you want to do?"
Q: "What do you want to do?"
A: "Go on the Internet."
Output: List of local applications, ISPs, browsers, etc, in order of most recently used.
Most people use the same programs over and over again, and there aren't that many. The start screen could also have some place to click and generate a list of the last 30 programs used or documents edited, grouped to be easily found. This goes also for inputting information into forms. Once an individual has typed something, ones name, address, etc, there is no reason to ever type it again anywhere on ones computer. If you want to know the reason for this, someday try and teach a 60 year old stroke victim how to use a computer. The special case shows the correct way to set up such functions for every user.
I don't especially like icons. I prefer plain text names in large fonts on a cream colored background. Icons are certainly an option, but font size, type face and color, and background color; these are the most important choices a user will make.
In later versions, heuristic algorithms employing artificial intelligence could learn individual user's preferences, using that knowledge to shape application interfaces. But the interface itself doesn't need this to be implemented.
Q: "What do you want to do?"
A: "Install a program."
Q: CD Rom?
Download from the Internet?
A: Click "CD Rom"
Q: "Please place the disk in your CD drive."
(Just placing a CD in the drive or clicking a website link accomplishes the same result.)
I don't want to have to tell the operating system where to place that program. Computer programs should be non-intrusive as possible. Programs should never advertise themselves. The main point of computers isn't programs, it's the user. The user, not technology, should be the central organizing principal of the personal computer.
Alan L. Silverman
Stone Ridge, NY 12484
May be distributed for non-commercial purposes with attribution to author.
Home Page Writing Trustimonials Right Way
If the above link doesn't bring up your email program, copy and paste this address into an email: firstname.lastname@example.org