Archive for the ‘Research’ Category

The Audacious Software Laboratory

February 3rd, 2010

Over the next couple of weeks, I’ll be merging The Pennyworth Project with Audacious Software proper. The Pennyworth Project will continue to exist as the “Audacious Software Laboratory”.

For those of you unfamiliar with The Pennyworth Project, I set up the site and planned to follow up by establishing a 503(c) non-profit corporation that would serve as the distribution and development vehicle for the work that I began in graduate school. Unfortunately, running one company is more than a full time job and I never followed through with filing paperwork with the state, recruiting board members, and securing funding. In order consolidate and streamline my commercial and open-source work, I’m merging the two organizations under the Audacious Software banner.

So, what does this mean? First of all, The Pennyworth Project provided open-source implementations (BSD license) of context-aware systems. The core application is Pennyworth, a Mac desktop application that includes machine learners that are trained to predict users’ locations, activities, and social contexts. This is the cornerstone of the context-aware desktop that I am building. Pennyworth pushes out context updates to third-party applications that interpret the context and update their behavior accordingly. In my work, I focused on a couple applications:

  • Home automation: A home automation system can use context to more actively manage a user’s environment. For example, it can turn off lamps and shut blinds when it detects that the user is beginning to watch a film. It can tweak the local environment to an optimal state depending on the user’s activity. A casual reading environment may use dimmer lighting and a warmer temperature than an active working environment.
  • Notification systems: A context-aware notification system can moderate its intrusiveness depending on the user’s location and social surroundings. When the user is alone, it can be as intrusive as possible in order to catch the user’s attention. In a meeting, audible notifications may be disabled, while leaving visual indicators intact. In a lecture or movie theatre, the notification system may elect to store (rather than display) any notifications and update the user when they are in a more appropriate setting.

These are just two of many applications that I have in mind, and purpose of the Audacious Software Laboratory will be to move the ball forward on this front on the desktop and mobile spaces. Over time, I plan to push some of these innovations out to Audacious Software products in the interest of doing my part to put these systems in the hands of everyday users.

If you’re interested in reading more on this topic, I suggest that reviewing the Pennyworth technical report that I wrote with Dr. Darren Gergle last year.

Update: And we now have our first new Pennyworth code of the Audacious Software era, a location sensor:

Pennyworth Location Sensor

I have a lot of work to do to – including making the system compatible with 10.4 & 10.6 – but this will show up in the next release.