One realization that has struck me as I've been working with the idea of context is just how indifferent my computer is to me and my needs. Individual applications may have some rudimentary idea of favourites, history, or information assigned to me, but no single part of the system is focused just on my interests. My computer should be spending all its time trying to help me. Instead each application just sits dumbly and offers an a la carte menu of possibilities, while forcing me to make every choice and provide every impetus to action. Context can change that dynamic by giving the applications I use the information they need directly.
Applications that currently have no visibility into what's going on around them can be united into a larger whole with context. Context provides a broader view that crosses arbitrary application boundaries. As applications become aware of that context they can give me a lot more help, (or they could play percussion as part of a group - your choice really). That ability to help is dependent on providing the right contextual information at the right time; the useful context.
Not all context is useful context; much of it is just noise. All the applications you use have some context; your web browser, Skype, your email client, an issue tracking system, etc. Having all of that context in one undifferentiated mass would not make it useful. Useful context is information that can be applied to help you in accomplishing a goal. One of the challenges we've been working on at ThoughtWire is how to determine what would be useful and how to apply it where and when it is needed.
I think there are several key attributes of useful context. To be useful, context must be;
Over my next few posts, I'll describe each of these in more detail and talk about some of the ways that ThoughtWire provides a supportive and healthy environment where useful context can thrive.