First Context-Aware Platform for Windows is launched today!

I want to share with you our happiness here at Microsoft for Chris Karr’s new project, Jarvis, first deliverables.

Chris Karr is working in The Laboratory for Understanding Collaborative Technology in Northwestern University, IL, US. His work is concentrated around the problem of context-aware solutions and about a half of year ago he shipped a context-aware plugin for Mac OS X, known as Pennyworth. Pennyworth is a system that connects to several data sources like your HDD, your apps etc and tries to transform this information into knowledge – facts. The power of the system is exactly what we outlined in our presentation on Context Awareness here at Microsoft when we talked on this topic at World Usability Day 2008 in Moscow, Russia. Pennyworth has learning subsystem that makes good job in learning user behavior patterns and tries to predict his context, what he is doing (activities). The power that comes from this learning is hard to underestimate: computer can know act on behalf on you, helping you in your everyday tasks.

So let me welcome the new Context-aware system for Windows, Jarvis. Jarvis is based on .NET platform, UI is written for WPF. System has several sensors:

image

As you can see, Jarvis knows what app I’m working in, it is aware of power (either I’m connected to “Wall” or I’m on “Battery”), knows networks I’m connected to, has list of apps that are currently running, it even knows what devices are connected to my device. This is how Jarvis hears us.

That’s how it asks us if its prediction is correct:

jarvis-correct[1]

and this is how it shows its prediction in Taskbar:

jarvis-new-context[1]

and here is how Jarvis is predicting (actually) the context:

jarvis-predictions[1]

what’s really cool is that we can define Rules for Jarvis to manually control it’s behavior

image

but we also can work with Learners and help Jarvis to self-predict in which context I am now so that it could act on my behalf which is really cool.

Few scenarios coming to my mind for Jarvis (and Context-Aware Computing in general) – Presence (if I’m working actively in some app and it’s say Outlook not a game then my presence should be set to “Busy” etc), setting different backgrounds and themes for different locations (Based on network interface) etc.

Let me just add that we have in Windows 7 the specific Sensor and Location Platform that makes writing context-aware applications a bit easier, and combined with Jarvis power Windows 7 will help you to turn your applications to context-aware ones as easy as it could be :)

You can read more about scenarios in our presentation on Context Awareness in UX here.

And you can start trying out Jarvis by downloading it from Jarvis site.

UPDATE: Chris asked me to point out that Jarvis is in very early stage and there are many steps beyound initial build and a product compaged with current state of Pennyworth for Mac OS X context-aware system. For example Rules that I've mentioned are not yet working as some other features, too. Follow "Context Blog" for updates.

Chris, it’s great job!