What a personal computer should look like

This is what I think a personal computer should look like. To really know, one should actually have one which conforms to the ideas I express below. I have written them down as they came to my mind with no special order.

I would like to receive your comments on my thoughts. You think I'm wrong, or right? You know about a personal computer which does all I request? Please write me: private@claudio.ch.

What do I want it for

The remarkable feature of the computer is, that it is a device which can serve multiple purposes at the same time, depending on the software it runs. Besides that it is able to store massive amounts of information in diverse formats: text, pictures, audio and video.

So I'd like to condensate as much as possible into one portable box. Regarding information, I want it to hold what now is dispersed in photo albums, cassette tapes, CDs, VHS cassettes etc. Technology might not be at the point where I can store everything today, but at the current rate of increas of storage densitiy, that's only a matter of time.

As an example: Shortly after I got my Powerbook, I met with some high-school buddies. At some point we started to talk about the elementary school class reunion two of us were at, and how some people seemed to look the same now as they were then, and others were hard to recognise. I had my laptop with me, and on it a copy of my web pages, including the ones with the pictures of the class reunion and the old school pictures. So I could show to the others, because I had them all with me.

But I also want it to replace as many devices I have in my houshold. Basically I want it to be able to perform all those function, which it can perform without a drastically different change in design. Should it be able to replace your portable tape recorder? Yes, it can, most computers today have audio in- and output as well as a pair small loadspeaker. Should you be able to cook your meals with it. Not with todays technology, as turning it into an oven would drastically change its shape and make it no more a portable device. But maybe future technology may allow it to add the capability of operate as microvave oven, without changing size and weight, or compromise the other functionalities...

It's a notepad

The most important requirement is, that it should be very similar to the tool I use mostly, beside my workstation, and this is paper and pencil. So it has to be a pen operated notepad.

But not just a PDA thing. I want to use this computer for all my needs, and not just as a replacement for my agenda. So it has to have a color screen as large as an ISO A4 paper sheet (similar to US letter format). It has to be (almost) as powerful as todays notebook/desktop personal computer/workstation.

I have owned a Palm III for a bit more than a year. I used it also to carry with me some not too long text, to read during longer train travels. Yes, it works. But now I've got a PowerBook. It's a great difference, if the display can show you only unformatted text in a 5x7 font on a small, black and white only screen showing just 20 lines with 40 characters, or if you can view a full page of a PDF document with nice formatting, drawings and color pictures on a 14" screen like the one on my laptop.

One way to overcome the display size limitation of PDAs, is the use of those virtual reality headsets, or the devices which, using a laser beam, draw directly on your retina. I view this as half a solution. It solves the problem for yourself. But what if you want to look at some documents together with a few other persons, not equipped with such devices?

Why not speech input/output

Some think the future personal computer will be a very small device without keyboard and display. You would communicate with this personal computer using speech, you would talk to it, and it would answer you.

In my opinion this vision is wrong, for two main reasons.

First graphics/pictures can't be transported very well through speech, which is purely text oriented. Very often I use pencil and paper when I try to explain something to somebody, as little sketches help a lot. In various scientific and technical disciplines diagrams and other graphical means are used to convey information.

Second, there are many occasions where talking is not appropriate. Picture just that, you are a professor lecturing in front of 200 students who take personal notes using a speech input word processor. I guarantee you will go mad.

Nevertheless, I could imagine very well to have speech input and output on a notepad, as an additional communication mean. Besides the obvious application, i.e. using speech to enter text, I can think of these other uses of speech input.

One kind is what I call "within the application use". Let's say you are using some program, which has a great range of commands. So the menu becomes quite large and deep, and it takes often several steps until you reach the sub-sub-sub-menu containing the command you want to execute. Speech input could offer an easy way to select the command, you just say what you want.

The other kind I call "out of band communication". Imagine this, you are in the midst of using an application, and suddenly wonder, whether it is time to stop your work, because you have some meeting to attend, or other appointment. You normaly would have to interrupt your work, to start your agenda application, lookup the information, then close that application. It would be way easier, if you could, without interrupting your work just ask:"Computer - when is my next appointment?" and get a spoken answer.

Battery life

After how many minutes do you have to recharge the batteries of your sheet of paper or your pencil? Ok, stupid question. In any case a battery life of 2-3 hours is unacceptable. I have to be able to use the thing during the whole day. It has to work while I'm awake, and may rest only when I'm sleeping. So 16-20 hours of usage, after a recharging time of maximal 4 hours are acceptable. The charging time should not be more than that even if I let it continue work.

Boot time

How much time does it take to boot a sheet of paper? Yes I'm stuck with stupid questions. What I want to say is, that a sheet of paper is ready immediately, while most personal computer or workstation take minutes to boot up. This is unacceptable. A modern processor can execute something in the order of 1'000'000'000 instructions per seconds. Using a flash ROM for storing the most important parts of the OS and the basic applications, should make it possible for the notepad to come up in less than a second.

What's true for system startup is of course true also for switching it off. It should not take any time. The system should always be in a state were one can shut it off, with minimal data loss.

Responsiveness

--- Nothing takes more than 0.1 second to do. ---

This bold statement is here to say, that I want a computer that feels fast. Microprocessor speeds have increased by many order of magnitudes in the last years. Nevertheless when I'm using a computer today, I often have the impression, everything is as slow as ten or twenty years ago. Part of this feeling may come from me not remembering anymore how it was back then.

But part of it comes from the fact, that while applications themselves may be faster, e.g. the spreadsheet will compute 1000 times faster, the user interface is written in such a way, that the interaction steps are still/again slow. Or the operating system (OS) is written in a way to cause this effect. E.g. most modern OS swap out memory of processes which were idle for some time. When I then click on the window of such an application it takes some seconds, until it reacts on my click. This gives me the impression of a slow system.

Thats why I request, that OS and applications be designed taking the 0.1 second rule into account. I think a system which would rather leave out some features in favor for showing a very responsive behavior would suit me more, than one with zillions of features of which I probably would use only a small subset anyway.

To login or not login

I have up to now seen two kind of operating systems. There are those like DOS, which do not require one to log in. The drawback is, of course, that whoever has access to your computer can read and modify all your data. Then there are those like Unix or Windows NT, where you have to log in, before being able to use it. The drawback is, that you have perform some useless operation (log in) before you can start to do your actual work, very unsimilar to your piece of paper, which is ready for use immediately.

Besides that there exists a third possibility, which I have seen in "specialized devices" like terminal servers. You can use a subset of functions immediately, but have to identify yourself, to use more "privileged" operations. E.g. when you switch the notepad on, you would be able to immediately use it to toss down some notes. But to be able to permanently store them, you would have to log in.

I could imagine, that the boundary between non-privileged functions and privileged functions could be user-defined, and could go through applications. Let's take an appointment calendar as an example. I could imagine, that it's possible to call up the calendar even without logging in. It would then show you when I have appointments, and when I'm free, but you could not see, what the appointment text says. This information would show up only after "logging in".

A further idea would be that the computer tracks user interaction and from this determines a probability, that it is used by user a or user b or somebody unknown. Each action which needs protection from abuse has a threshold assigned. E.g modifying the agenda of user a is allowed, if the probability that user a is using the computer is greater than 70% while digitally signing an e-mail with user a's key requires a probability of more than 99.9%.

Doing something which only user a can do, e.g. entering some complicated passphrase will increase probability to be very near to 100%. Doing nothing will decay probability over time. Doing something which user a would not do, e.g. giving a wrong answer when asked for the passphrase would drop probability to a value very near to 0%.

Daydreaming about key generation

When you log in, you have to provide some secret key, the password. This is also true, when you encrypt some data. Usually, the key is just some text. In case of a notepad, the text is written by you by hand. Instead of converting the trail of ink to actual text (character recognition) and use the text as key, one could use the ink directly to generate the key. So a drawing could be used as key as well.

What I imagine (without knowing, if it is possible to do) is this. One writes or draws something two or more times. The key generator analyses these two or more drawings and extracts the features which are identical in all of them, an somehow computes a key out of it. Depending on the features found the key could be larger or shorter. The more complex the drawing, the larger the key. The more similar the two or more copies are, the larger the key.

In the following three examples, the first would result in a short key, because it is a simple drawing and the third one would result in a short key, because the three versions of the drawing differ very much. The second example would have the longest key of the three.

Three 'X' looking very similar Three times 'claudio' written very similary Three cars looking very different

The reason for doing more than one drawing is obviously, to make the key generator know how good you are in reproducing it. If all copies are almost identical, then you will get a large key. But when you later want to use the key, your have to reproduce your drawing almost exactly. If you take the first example above, then you have to reproduce a cross looking like an X. One looking like a plus-sign (+) would lead to a different key. On the other hand, for the third example you must just draw something which resembles a car to recreate your original key.

Screen

I already mentioned color and that it should have the size of a "normal" sheet of paper. Additionally I'd appreciate, if I would not need a special pen to write on it, not only because I fear I would not find it, just when I need it urgently. I think that a pad which reacts on pressure, and maybe can even register the amount of pressure, could be the basis for a more larger area of applications.

I could imagine the notepad as the input device for all appliances in my house. Suppose your television, Radio, CD player, all connected via a LAN. When you are at home, you "connect" (may be wireless) your notepad to it. You would get on your screen an impression of the panel of the appliances, which you could manipulate, by simply pressing the buttons with your fingers.

I mentioned earlier, the virtual reality glasses type of display. One thing which I think I would dislike with theses, is the lack of connection between input and output device. Immagine a drawing program. Using it with the mouse has its limitation, so that computer artists prefer to use a graphic tablet as input device. And even this seems unsatisfactory, as now Watcom, a producer of such tablets, introduces tablets with an integrated screen, so that output and input device are merged. So one argument more in favor of the notepad.

Handwriting recognition: to do or not to do?

On the Palm PDA, when you enter an address, each letter is immediately recognized by the device and stored as the recognized letter. This is the right way to do for this kind of application, because its purpose is to store the information in a way so that it can be retrieved later by some search on the data. So the computer has to know that your ink is a sequence of ASCII/Unicode characters and has to know the values of the characters.

On the other hand, I produce often notes and sketches which have a very limited lifetime. In these cases, an immediate recognition process would be hindering. I would be forced to correct wrongly recognized characters. This is extra work, which is not worth doing, which takes time, and which hinders the normal flow of work.

So both modes should be offered, and there should be an option, to change your mind later, and request, that a note you have written at an earlier time is converted to characters, or whatever is appropriate.

User's view of the file system

Some thoughts, how the file system could look like to the user, without knowing, if this is better or even worse than what we have today. One should actually try it, to be able to judge it.

A "traditional" file system has two components. There are files, which are a composition of a name and a heap of data. The name is used to refer to the data. Directories have also a name, and some data. The data is defined to be a list of names of other directories and files.

I would try to leave away file and directory names. The way to locate a file would be through query on the content instead of a name.

Some sort of directories would still exist, and enable to attach different files one to another. Directories could not be accessed directly. Rather there would exist operations like "show me all other files attached to this file, or this collection".

While it would be possible to put directories into other directories, they would not be forced to belong to a single tree. The norm are files and directories which don't have parents.

I had the idea of using queries, because I felt that quite often you use traditional directories to structure your files according to some criteria. Sometimes, you'd like to structure the files according different criteria, and this leads to a great bunch of "symbolic links" or "aliases".

The public domain software I install on my workstation is a good example. I install each package in a directory like /opt/amaya so that I can easily find all files belonging to amaya. But then I have symbolic links in /usr/local/bin and /usr/local/man and so on to the same files, so that I have all binaries and all man-pages in one place.

With queries I could define the "/opt/amaya" directory as a view on all files belonging to the amaya package and "/usr/local/bin" directory as a view on all executable files.