Context Sensing for Mac OS X
Getting Started with Pennyworth
In order for Pennyworth to be useful, you must train it to predict your activity, location, and social context. The best way to train Pennyworth is to correct it while it runs.
The fundamental idea is that when you catch Pennyworth making an incorrect prediction, you correct it by providing accurate labels that describe your current context. At the beginning, you will probably correct Pennyworth frequently. However, as time goes on, the system will require less and less training.
Running Pennyworth for the first time
If you downloaded and installed Pennyworth, you should now have an application with a yellow bell icon. Double-click this icon to launch it:
When you use Pennyworth for the first time, it will not be able to recognize your
context. To teach it your current context, bring up the
In the appropriate fields, enter your location, activity, and social context.
To monitor what Pennyworth thinks your current context is, open the Pennyworth menu by clicking the bell icon in the status bar:
To display the context that Pennyworth currently predicts, select the
This window automatically updates itself as your context changes. If the window
displays an incorrect prediction, correct it by using the
Using Pennyworth with Growl
Pennyworth includes support for the Growl notification system. Pennyworth will emit Growl notifications when it detects your context changing:
Using Growl with Pennyworth is a useful way to understand how and when Pennyworth detects changes in your context.
"Why does Pennyworth think that I'm doing X, when I am doing Y?"
When you train Pennyworth, it tries to create a set of rules that it can use to predict your context. As you train it, it generates richer sets of rules to better predict your context. For example, a ruleset that predicts your location might look like this:
if "Current Wireless Network" == "My Work Network" then if "Hour of Day" == "12" then Location is "Lunchroom" else Location is "Office" else Location is "Home"
Pennyworth uses these rules to test values being collected by a set of sensors. To
see the sensors that Pennyworth is using, select
As the above image illustrates, sensors may include things such as your currently running programs, your physical location, what devices are connected to your computer, and what video you are watching. The more sensors that are available, the richer the rulesets Pennyworth can build. (If you're interested in a full list of sensors that Pennyworth supports and why, please see the sensors list.)
To view a representation of the current rulesets that Pennyworth is using, select
In the visible portion of the rules above, we can see that Pennyworth uses the day of the week when PowerPoint is running to determine if the user is teaching or meeting.
Now that you know how to train Pennyworth to recognize your context, you may want to install some compatible applications or AppleScripts that do something useful based upon your context. If you are familiar with AppleScript, you may wish to write your own scripts, as well.
If you run into problems or have questions, please consider consulting the Pennyworth users' group for answers and tips.