MIT application statement of purpose

The dream of self-augmentation in the future

I do not foresee a future where we build Turing test-passing machines, though we could (see my informal essay on this topic at the above URL). Rather, we will house the machines in our bodies, building on top of the intricate, robust machinery that already exists in our brains, just as evolution has in the past. Self-augmentation is the ultimate goal, but plug-and-play infra-red vision and hot-swappable wetware memories remain a distant dream.

For now, we have to work with the machines that we have. The challenge is to incorporate some of the robustness, flexibility, and richness and variety of representation that we see in ourselves. Whether we’re talking about a robot arm trying to tell objects apart visually, a mobile phone deciding whether or not to ring out loud, or an adaptive user interface (UI) that starts to infer patterns of use and build a user model, the same problems of representation, learning and inference are central. These are all attempts to build systems to perform difficult tasks in a complex, dynamic environment, by finding and exploiting regularities in an often noisy, high-dimensional space, ideally with as little hand-coding/hard-wiring as possible. In every such case, designers can benefit from lessons learnt from biological systems, cognitive psychology, careful experimentation, and the occasional injection of philosophical rigour. For all these reasons, I hope my inter-disciplinary background might provide a valuable perspective (see below).

The dream of self-augmentation in the present

My laptop is my external brain. I depend on it as a memory aid, repository, toolkit, newspaper, way of staying in touch with my friends (and occasionally footstool). We can’t build this functionality into our body-based brains yet. But we can improve the interface between internal and external brains, and we can offload more of the workload. This is the dream of self-augmentation in the present.

User interfaces could be better than they are now. The way that information is organized rarely reflects what it’s about, and so finding things is difficult and slow. I find myself continually performing repetitive tasks, worrying about whether my most important files are backed up, and being distracted by trivialities and interruptions. My external laptop brain is actually adding to the workload of my body-based brain, and unnecessarily confusing the interface between them. What can we do about this?

We can see this problem in terms of the short- and long-term vision, and the types of problems that we need to address in each. In the short term, we can try and tackle these issues with better design and a better metaphor for the user interface than the desktop and paper files and folders (for example, I find David Gelernter’s work on Lifestreams an intriguing alternative). We can build a richer set of user preferences, and hand-code different behaviours correspondingly. But if we are to make real progress in this area, we need to focus on the lessons to be learnt from context aware and common sense research. User interfaces have contexts, just like the real world. These could be broad ones, like ‘hard at work’, ‘perusing the news’ and ‘playing games’, or they could be much more fine-grained, such as ‘working on the project proposal for my MIT application’, ‘learning how to use a function in a new toolkit’ or ‘looking for romance on instant messenger’. In each case, the system needs to take into account all the contextual factors, including the physical environment, social context, user’s emotional/physiological state and level of expertise, and the task domain and goal. Only then can we apply common sense assertions to try and make sense of what is happening, what the user will and won’t want to happen, what to prioritize and eventually, how to best organize their information.

In the longer-term, we want to try and get our system to learn about the user over time, and adapt itself accordingly. It may start with some preconceived notions of how most users operate in a variety of standard contexts, but every person’s needs, skills and habits are different, and change over time. This is a problem of self-organization, of building a rich, high-dimensional representation of the user’s interaction with the system, and eventually generates its own common sense assertions out of the regularities and structure that emerges.

[snip]

---

Genuine context-awareness is an AI-complete goal. To fully appreciate how people take all the nuances of a given situation into account demands the same human-level understanding as passing the Turing test. But that doesn’t mean that we can’t make headway towards systems that reliably respond in a more intelligent fashion than they do now – this rests on the assumption that we can map the incredibly high-dimensional space of the real world onto a much lower-dimensional space (a suite of sensors, say), and still retain most of the information we need to assess context.

User interfaces provide a constrained environment about which we have almost complete knowledge, while being complex and nuanced enough to provide a theoretically interesting test-bed. The factors that influence how people use and respond to their computers span the spectrum of contextual dimensions, such as physical and social environment, emotional state, level of expertise, nature of task and the computer system itself.

Possible applications

I can foresee a huge range of possible applications. I have listed a few here, to illustrate what I have in mind.

Keeping things as simple, or as complicated, as the user desires/requires, e.g.

Hiding and displaying advanced features.

Providing tailored wizards and help where necessary.

Building up a picture of associated tasks/activities, and patterns of use, so that the system can:

Relate and organize documents, emails, webpages and contacts, based on temporal coincidence, statistical correlations in text, storage location etc.

Make finding specific or generally relevant information easier and faster.

Predict which applications and files the user is likely to need, and pre-load them in the background.

Automatically alter instant messenger (IM) availability status to reflect whether the user is hard at work, perusing the news, playing games or responding to email – furthermore, this availability is probably different for wives, bosses and friends.

Tenets

The following three tenets should be permanently at the back of the designer’s mind.

Adaptivity

The system should learn for itself. This functionality should not require the user to state their preferences in advance or explain their patterns of usage explicitly – indeed, users find this very difficult to do in the abstract.

Transparency

Signal all adaptive decisions that are made (unobtrusively).

Allow the user complete control over the level of adaptivity.

When the system doesn’t know or is confused about what the user wants, it should say, or make a neutral decision.

Err on the side of caution

The MS Word paperclip highlights the most important lesson in context aware research – no adaptivity is hugely preferable to intrusive, error-prone interference. This threshold of acceptable error is very low.

Problems

Despite being much cleaner than the real world, a personal computer is still a hugely complex environment, and presents the three biggest problems common to almost all context aware projects.

Limited knowledge

In the worst case scenario, the designer may not have complete access to all of the OS’s underlying processes and messages. Even then, there are a huge number of valuable clues about the outside world that we rely on that aren’t available to our PC, e.g. that I’m on a train, that the phone is ringing, or that I’m irritated because I’ve split coffee on my tie.

Context switching

The system has to have some means of dealing with different users sharing the same computer without logging in and out. The system has to be able to deal with abrupt changes in task, and with juggling more than one context at once – I may have multiple windows and applications open, and jump between them as ideas occur to me, in response to phone calls or while I’m waiting for something to happen.

People

People are complicated and unpredictable, even to each other, and especially to computers. They have personal agendas, social agendas, habits, conventions, irrationalities and whims. They are the highest-dimensional space of all, and can only be imperfectly mapped onto a lower-dimensional space.

Techniques and resources

To this end, we can utilize various techniques and resources to improve the user experience.

Hard-wired rules

Often, it’s simply easier to hand-code certain rules and heuristics, and there will always be certain incontrovertible rules that underpin the rest of a system. Unfortunately, this approach doesn’t self-organize, tends to be brittle, and is labor-intensive.

User-specified preferences

There need to be some mechanisms to allow the user to view, edit and add to the knowledge and rules the system is employing.

Common sense

This is one area where the Media Lab is particularly future-looking. It is absolutely critical that an adaptive UI employs some sort of common sense in the way it works, as a means of regulating and shaping the sort of rules it comes up with, and because common sense knowledge is so distilled. The sort of common sense nuggets I have in mind might go along these lines:

·        Files in 'My Documents' are probably data.

·        Data is important.

·        Files with ‘.bak’ or containing 'backup' in their name are probably duplicates.

·        If a folder is contained inside another folder, which is contained inside a further folder, the base folder contains them both.

·        Big files take longer to move than small files.

·        Usually, the things on the desktop are useful or recent.

·        If I’m typing in Microsoft Word, I’m probably working.

·        If I’m working, I probably don’t want to chat with friends on IM.

I’m not yet sure how best to go about harvesting, encoding or using knowledge like this, or in fact whether it would prove too sparse to do useful inference upon. Presumably, many of the same issues that polarize Cyc and Open Mind in the wider domain of real world common sense would crop up.

I was pleased to find that there is already a small amount of this type of information in Open Mind, e.g.:

·        ‘A file that gets deleted from your Windows desktop goes into the computer recycling bin’

·        ‘The active window is the foremost window on the desktop’.

However, the assertions would probably have to be hand-filtered, to avoid confusing statements from a different context like ‘A file is a folder of documents’, and many more would be needed.

Self-organization

One extreme way of self-organizing would be to try to encode every action, process and message in the system and use statistical, connectionist or machine learning techniques to see regularities and correlations between mouse movements, documents being opened, time of day, active windows, present network connections etc. Each of these modalities of information can be seen as a sensor, providing some information about the current context, that may or may not be relevant, but together, we might hope to see some useful structure emerge.

Much of the common sense information described above should be derivable in this way. We can imagine how a system might eventually learn to prioritise information according to the number of backups we make, how often it’s accessed, whether it’s referred to in emails marked ‘urgent’ etc. In the longer-term, self-organised common sense knowledge may prove more powerful, but aren’t yet in a position to build such systems.

 


Home - Blog - About me - Outbursts & outlets - Collected mishmash

Greg Detre, greg@remove-this.gregdetre.co.uk, http://www.gregdetre.co.uk - updated June 29, 2003