posted by Patrick Dwyer on Mon 13th Jan 2003 06:58 UTC
IconIs the modern operating system a tool of facilitation that should provide just the basic necessities of a system and no more, staying out of the way of the user? Or should the modern OS assist the user in their everyday tasks, sorting and displaying relevant information, providing a filter between the ever increasing amount of information and the task at hand.

Even the most sophisticated OS's currently available are no more aware of the actions and intent of the user than an OS ten years ago. Better technology and programming have provided us with more elegant, graphical, and functional systems, more capable of handling and processing our data in the desired manner without crashing or corrupting our files, but for the most part this is taken care of by the individual pieces of software using system resources doled out by the system kernel. A computer running a modern OS may be able to simultaneously run hundreds if not thousands of threads, which the user has come to expect, but besides a table of currently running threads and system resource blocks, the OS is not really aware of what programs are running, and is incapable of easily facilitating the filtering of data. But why should it be? Because an OS that is aware of the current and past states of the system is better able to determine how to exchange, present, sort, and display data to the user depending upon what, where, when and how the user is using the computer.

Before you jump straight to the idea of an annoying talking paper-clip assistant on the operating system level, telling you which files you are trying to access and offering you alternative methods of formating your data, let's look at how systems are already beginning to show a shift towards predictive computing, and explore some concepts that are not yet implemented, but would appear to be immediately beneficial.

The loading of program resources at the beginning of a user session or at the startup of a system is a move towards a predictive OS that tries to anticipate what programs and files the user will need during their work session. Most current Operating Systems have some method of preloading resources or programs, such as the Startup folder in Windows, and almost all of them fall short of being truly predictive. The startup folders tend to be controlled by individual programs instead of being controlled by the operating system, and what could be a very useful predictive tool becomes a means of jockeying for file associations or user time, as is evident in the constant reassignment and reclamation of media file types by a range of different media programs like Real Player, Windows Media Player, and Quicktime. While this is more prevalent on different Operating Systems it is an obstacle to be aware of for any system that attempts to implement predictive resource loading.

A more successful example of predictive computing that is becoming more common among applications and Operating Systems is the inclusion of Recently Used Files listings. In individual applications the list of most recently accessed files makes management of any multi file project easier, but on the Operating System level Recent File lists can be useful and extremely distracting at the same time. When confined to a single application it is usually quite obvious that you will be working on a file of a type associated with that program, so the Recently Used File listing inside the program is something of a no-brainer. But on the OS level, when the number of commonly used programs is in the double digits, the number of file types accessed is equally high, and the number of individual documents accessed can reach into the hundreds, simple lists of the most commonly accessed files, or the most recently accessed programs seem archaic and misguided.

So how can you improve the Recent Files and Recent Programs on an OS level to reflect the usefulness of the Recent File list in an application? One of the answers is quite simple, and opens the way to more predictive practices that could be incorporated into current or future Operating Systems to change the way we work and play on our computers. The easiest list to address is the Recent Files list. The first step to a more predictive listing is to apply filters to the types of files being listed at any given time depending upon the currently open or active programs. Filtering the content of the file listings in this manner is a great step towards improving the utility of the Recent File List. Additionally groups of files in different directories can be included and excluded from the file list depending upon the time of day, according to either preset filters defined by the user or behaviors learned by the OS itself.

Some of the same techniques can be applied to Recent Programs listings, but a few modifications are necessary. While it may make sense to filter the list of recent or commonly used programs by the current time of day, filtering the list according to the currently active programs must take a different form than it did for the Recent Files list. The ability to set a series of rules guiding the available programs on the Recent Programs list could be incorporated into an OS through the analysis of patterns of application use. For instance: The majority of the time that I open a document editor and an email program, I also end up opening one of three different Internet browsers. Once an OS has learned patterns of this sort (commonly known as Markov Chains) it has the ability to analyze the currently active applications and fill the Recent Programs list with programs that I would commonly use in association with what I am already doing, eliminating from the list programs that I never open in conjunction with what I am working on at the moment.

Table of contents
  1. "Part I of the Editorial"
  2. "Part II of the Editorial"
e p (0)    21 Comment(s)

Related Articles

posted by Thom Holwerda on Wed 12th Nov 2008 22:55
posted by Thom Holwerda on Sat 23rd Aug 2008 15:37
posted by Thom Holwerda on Mon 18th Aug 2008 23:33 submitted by Charles Wilson