User context is the mechanism by which service providers connect consumption with delivery in a user-centric way. Journalists adhere to a maxim commonly called five Ws and an H. According to this principle, a complete and proper news story must answer six questions about its subject: who is involved in the story, what happened, where it happened, when it happened, why it happened, and how it happened. By promptly answering these questions, preferably in the first few paragraphs of the story, the journalist conveys the most important points to the reader as quickly as possible, and can devote the rest of the story to providing context and additional details.

Similarly, when developing a community-aware service, you can use the five Ws and one H to understand your audience better. Try to answer the following questions:

·         Who are your users? What traits do they share, and how do they differ? For developers of specialized services, this question may be easy to answer: sporting content will naturally be of interest to sports fans, streaming video of classic movies can be expected to attract film buffs, and so on. For general-interest content, the user base may be a bit harder to nail down, although you can still look for reasons users would be attracted to your service rather than someone else’s.

·         Where are your users? What countries or regions are they from? Do they access your content from home, work, school, or elsewhere?

·         When are they interested in accessing the content? The answer can simply involve the local time and time zone, or it can be expressed situationally: for example, the user may wish to access the content while chatting with friends online.

·         What do they want from their experience, and why? This information is difficult to gather directly, but you can often infer it by paying attention to the community itself: the conversations users have, the tags they create and use, the interests shared by users of the specific community itself, and so forth.

How do they access the content? As the use of alternate devices continues to grow, this will become an even more important question.


The user context, then, is metadata that accompanies the user and captures his or her current needs and circumstances as accurately as possible, in the form of answers to these six questions. Some of this metadata, like time, place, and user profile information, would typically be sent along with the request directly, and some would be synthesized by the provider based on other information. For example, a request sent through a specific user community could carry a unique ID string identifying the community. A provider can learn about the “character” of different communities by detecting ways in which requests from a given community tend to resemble each other over time. For example, if requests from a certain community tend to involve travel-related subjects, the provider can recognize future requests from that community as potentially involving travel as well (in other words, “travel” becomes part of the answer to the “why” for such requests). If the user ID string is blank, the request will be treated as anonymous, as in the current access model.

Some examples of user contexts in real scenarios:








Home, office, mobile



Age, nationality, gender

Developer; architect



Programming language


Program (tag)

Class library; article


Pre-view, watch

Extend office system

Context can be captured and transmitted in different ways for specific providers. For example, developers typically interact with MSDN through Visual Studio’s built-in assistance mechanisms, by visiting using a Web browser, or a combination of the two. By capturing the user’s method of access, MSDN can respond appropriately to provide the best information to the user depending on context.

Connecting Users with Information

In addition to providing users with contextually appropriate information, you can make recommendations to individual users based on the preferences and choices of other, similar users. In this way, you can create semantic connections between different pieces of information and make users aware of new and potentially useful things.

The picture below illustrates the core concept of user context.


1.    Users make requests to services with their individual contexts (who, what, where, when, why, and how).

2.    Services send back the list of choices that best fits the context.

3.    When the user makes his or her choice, it creates additional metadata that enables further context-based categorization of the information.

4.    As a result, the recommendations provided to users with similar contexts can be improved.

Over time, this process makes it possible to categorize information according to some fairly specific criteria, such as “the most popular handbag among females in their thirties residing in Milan, Italy.”

Improving Service Quality

Context can be used to analyze user behavior. For example, by examining context you can determine whether different types of content appeal to specific demographic categories: users of a certain age, of one gender or the other, and so on. Because user context addresses not just requests themselves but also the reasons and motivations behind them, it can contribute valuable intelligence that can help you predict future demands and changes in behavior patterns.

Looking even more boldly into the future, we can envision a time when user context is as much a part of a person’s identity as his or her name. If it becomes practical to store one’s entire life online, user context can be expected to play an important part in integrating and tying together the disparate parts into a cohesive whole.