Pennyworth

Context Sensing for Mac OS X

Is Your Computer Misbehaving or Generally Unhelpful?

Does your computer interrupt you at inopportune moments? Does your software distract you when it wants attention? Do you wish that it could help you out with routine tasks at home and work?

The Problem

Networked computer systems have become the lynchpin of a modern digital lifestyle. We use our computers to read the news, keep up with friends, manage work projects, and decompress after a busy day. As we spend more time with our systems, we become more dependent upon them for simple things, such as letting us know when our paycheck has been deposited, a friend comes online, or a favorite movie has been posted online.

Consequently, we are constantly barraged by interruptions and other unintentional annoyances. We find ourselves having trouble staying on task when our e-mail clients ding every couple of minutes. Reading a long book becomes harder as our families send us instant messages asking how we are doing. As applications compete for our attention, they become participants in a virtual arms race, trying to out-do each other in order to capture our attention.

Context: The Missing Link

Dealing with interruptions is an unavoidable fact of modern life. However, what if we could make our systems more polite and aware? When our computer knows that we're reading a book, it might decide to tell us about a new podcast sometime later. When we're at Photo by bogdog Dan work, it may delay telling us about the latest viral video. When we are at home with our families, it prioritizes messages from our kid's kindergarten teacher over the mass mailings from the HR personnel at work. When an emergency happens, our system lets us know, regardless of our current activity.

The reason that our current systems don't behave in this way is that they lack a crucial bit of information: our context. If our computers could distinguish between when we are at work or when we are at home, they could make smarter decisions about whether to interrupt us. If it could detect when we are conversing with others versus surfing alone, it could use more appropriate interaction techniques.

Once our computers recognize our contexts, they become more effective partners in helping us do what we need to do.

Pennyworth: Making Context Available

The major obstacle to realizing the vision above is the lack of context available to our systems. Once we provide our computers with information about where we are at, who we are with, and what we are doing, they can begin to behave in more appropriate ways.

Pennyworth is an application that does exactly that. Pennyworth runs in the background and observes your local environment using a variety of sensors. Using these observations, Pennyworth learns to distinguish between different contexts as you teach it by telling it your activity, location, and social context. As you continue to teach it, it becomes more intelligent. With enough instruction, Pennyworth begins to distinguish between contexts by itself.

Once Pennyworth knows your contexts, it can take action on your behalf. For example, when it determines that your location is the local café, it can command Mail.app to quit using sounds when new mail arrives, so that you avoid annoying your fellow customers. When Pennyworth detects that you're writing your next novel, it can configure your status to away so your friends on AOL Instant Messenger know not to bother you. If you have a favorite playlist that you listen to while reading, Pennyworth can tell iTunes to start playing it in order to help you get into the proper mindset.

Other developers may take advantage of Pennyworth's functionality to make their own programs respond to changes in your context. If Pennyworth detects that you are away, a smart home system can shut off the lights in order to minimize your electric bill. If you are using time tracking software to manage how you allocate your day, the program can log what you are doing and where you did it for future reference. Pennyworth makes it easy for other developers to make their own applications responsive to your changing context.

Next Steps

After you download and install Pennyworth, please see the instructions for getting started.