MarcoPolo brings context-aware computing to your portable Mac computer. It allows your computer to determine its context through gathering evidence from your environment (evidence sources), using flexible rule-based fuzzy matching to make an educated guess (rules), and then performing arbitrary actions upon changing context (actions).
MarcoPolo's concept of contexts is a generalisation of a location, and encompasses more than just where your computer is. A context might represent what you are doing, or what else is going on around you.
Contexts can also be nested to provide fine-grained detail. For example, your "Work" context might have two subcontexts called "Meeting" and "At Desk". If you imagine all your contexts as a tree, transitions between contexts involve "walking" that tree, leaving and entering a sequence of contexts.
- At Desk
A particular USB mouse might only be used at your work, so its presence is a strong indicator that your context should be "Work". Furthermore, if the room is also dark, you're probably in a meeting, so your context should be "Meeting", which is a subcontext of "Work".
Similarly, a WiFi access point called "SmithNet" might be a good indicator that your context should be "Home", and being connected to a power adapter would also indicate that your context should be "At Desk", a subcontext of "Home".