Knowledge Home
For many, the personal computer is a black box, its inner workings controlled by a mysterious, often capricious gremlin. In his paper, A Knowledge Home: Personal knowledge structuring in a computer world, Tommaso Toffoli describes a "cultural package," an alliance of man and machine with the goal: "...to make it possible for ordinary people to use the computer as an unobtrusive extension of their own capabilities."
It's an interesting and important paper with even more interesting citations here. Reading it, I was inspired to brainstorm my own ideal interface for the personal computer. That is waht follows.
First, my ideal interface would abandon the idea of files in folders for the idea of labeled files. The difference is that anything in a folder can be in no other folder. But one file can easily and intuitively have multiple labels. Gmail operates in this manner and its a lot easier to find things.
The ideal interface must clearly communicate the results of every action. To give just two examples:
1. Moving a file to the recycling bin should indicate that the file is not gone forever. Emptying the recycling bin should clearly indicate that the files contained therein WILL be removed forever. You might be surprised how many people don't understand the difference in these actions.
2. Downloaded files should always make it clear where they are downloaded to. Nothing is more frustrating than adding clutter to your computer and not even knowing how to locate the clutter.
Groups of files should be accessible by pattern matching on any of the following: name, date created, date edited, software the file is used with, label, or a combination thereof. Also, files should be groupable and identifiable by whether they were created by the user or generated automatically (such as a cookie or backup file).
Users should be able to add comments and descriptions to files, labels, and programs and should be able to search based on the contents of these descriptions.
Files like text docs, spreadsheets, etc should automatically keep a history of their modifications like wikipedia pages do.
Unsaved files should be clearly indicated.
All the contents of a PC should be viewable through a spacial visualization similar to PersonalBrain. Files should automatically cluster by label, type, or other user-selected parameters. Unlike Personal Brain, users should be able to move files around the spacial visualization and have the new location save automatically. This way the network of interconnected files can be personalized by the user.
The idea of files being either opened or closed should be abandoned. Instead all files have variable levels of readiness corresponding inversely to how quickly the file can be brought forward for viewing/editing. I like this idea because it might be possible to reduce the clutter and slowdown of having many minimized files without having to close files that may need to be opened again in the near future.
Going along with the idea of file readiness is that real-time system performance data should be visible at all times with simple tools to make changes to improve performance or reallocate resources (such as reducing the readiness of files or programs).
Additionally, all processes should be visible, intelligible, and clearly associated with the program they are "working for". Some processes would obviously work for the operating system. That too should be clear.
It would also be nice to display the consequences of ending any given process so that I could do so without googling each one to find out if ending it is going to crash my system.
Privacy or sharing status on files should be clear and easily manipulated.
A simple, ever-ready interface should be available at all times for adding new Autohotkey-like hotkeys and scripted functions. This interface would view the currently open file and program and provide options for making the new hotkeys context sensitive.
Also, a display of the currently available hotkeys and scripted events should always be accessible and should alert the user to any changes to the available hotkeys based on context with an obvious, but unobtrusive alert. It's important that the alert be unobtrusive because changes in available hottkeys and scripts could be very frequent especially if the user needs to switch back and forth between a spreadsheet and a text editor that each have context sensitive hotkeys.
I'd also like full voice-control of my PC but that's a technical issue, not a design issue.
That's all I've got for now. What would you like to see in the PC interface of the future?