Patent ID: 8595227

Claim:
A method comprising operating a computer to perform steps of: storing a plurality of task patterns, each task pattern comprising a plurality of action items, wherein the task pattern is domain-independent and has no specific context, is not applied to a specific application, and is not tied to any specific subject matter; defining a domain-specific task from one of the task patterns, wherein the domain-specific task is associated with a context; storing the domain-specific task for subsequent execution, wherein defining a domain-specific task comprises: receiving initial input that represents domain-specific information; identifying a plurality of candidate task patterns from among the task patterns based on the initial input; receiving input that identifies a selected task pattern from among the candidate task patterns; for each action item among a plurality of action items that comprise the selected task pattern, receiving domain-specific action information and instantiating said each action item as a domain-specific action item using the received domain-specific action information; and storing the domain-specific action items in a data store; receiving interaction information generated by interacting with a user; identifying a first domain-specific task from among a plurality of domain-specific tasks based on the interaction information; identifying one or more action items that comprise the first domain-specific task based on the interaction information; and presenting the one or more action items to the user.