Elements such as location and time can simply be read from a monitoring device, while convenience and availability are largely determined from the user profile. An assistant would have to use more careful reasoning and inference to determine elements like the urgency of a message or the unexpected unavailability of the user. This feature defines the aspects of meaning and processing that derive from where the given functionality is being invoked. This is context roughly in the programming language sense of the term. For instance, in different contexts, the behavior of assistants can exhibit different levels of flexibility.
Contextual matters tend to be highly specific to the given user's needs.
This requires careful attention to systems for disseminating profiles and propagating updates. We envisage personal assistance as a ubiquitous application involving millions if not billions of users. For something so grand in scale, an open architecture that permits a demand-driven style of propagating information would be the way to go. In creating such an architecture, it is important to consider how online business cards are created, and how users and personal assistants are made aware of them. In addition, there should be a central location to send update notifications when users change their cards.