A few years ago, I was spending a good bit of my time on context-based services. User context — also called “presence” — is information, which changes over time, about the current state of a user or other thing (it could be a car, say, or a sensor, or a computer system; the presence people call it a “presentity”).

Location is the most obvious piece of context information. Other examples are ambient temperature and sound level; heart rate, blood pressure, and other medical information; number of people nearby; “busy” state (how busy are you right now, and are you interruptible). One’s calendar can be a good source of context information.

The idea of context-based services is that a computer can collect context information about you, and can then perform services for you based on your context. A context system can automatically mute your mobile phone when you’re in a meeting or at the theatre. A context-aware house can automatically adjust the temperature and lighting. Your alarm clock and coffee maker can be adjusted for you based on your calendar. Medical monitoring can be automated, having the computer system take action while help is called.

I have a thermostat at home that can be programmed over the Internet, and we did some experiments with that. Infer from my context that I’m on my way home, and the house temperature can be adjusted to be ready for me. Perhaps the computer could start dinner, as well, though there’s a trick there: the consequences of guessing wrong are more serious. If the air conditioner is cranked up an hour too early, we just use a bit of electricity we didn’t need to. If dinner is in the oven an hour too early, it’s overcooked or cold by the time I get to it.

Lots of researchers have worked on “smart house” and “smart office” concepts. Georgia Tech’s Greg Abowd and Elizabeth Mynatt have done notable work in this area, particularly in the Aware Home Research Initiative. My alma mater, the University of Florida, has its Gator Tech Smart House project.

New Scientist recently looked at new research on smart houses, work being done under Diane Cook at University of Washington in Seattle.

A major point of the UW research is to have the system learn the contextual patterns, and infer appropriate automated behaviour from that. We had done preliminary work in that area with the Internet thermostat, but this goes a long way beyond that. A problem with it, of course, is what I noted above: it’s easy to guess wrong, and the consequences of a wrong guess can be serious. Some patterns are more clearly fixed: it’s pretty safe to assume, for example, that when the resident gets out of bed in the morning and goes into the shower, you should get the coffee brewing. Other patterns come from chance or convenience, and might often be changed for reasons that would not be clear to the computer system.

On the other hand, computers are very good at noting such variations, developing confidence levels, and adjusting for changes over time. The system can be set up to give varying degrees of help, depending upon the confidence in the patterns and the desires of the users. It can turn the oven on for you, or simply remind you to do it yourself. It can offer to do it remotely, with a text message to your mobile phone, but then wait for confirmation through a reply message.

There are people who fear automation “taking over”. Science fiction stories have given us a lot of entertainment by posing possibilities of haywire or aggressive machines. But they’re fiction; the reality is that we’re very, very far from developing machine sentience at a level that could enable scenarios such as those.

In the meantime, I’ll be very happy if computers can make coffee for me, and keep the temperature in my house comfortable while optimizing energy usage.