1. A method of using an application assistant in a computer system comprising: recording a series of steps to complete a specific task involving a plurality of computer applications; allowing the addition of steps, some of which involve different computer applications; allowing the addition of steps which do not involve the use of a computer application or the computer system; allowing annotations from a user to be added to the steps; requiring user inputs or interaction for the application assistant to proceed; storing the series of steps, annotations and the user inputs or interactions required as an application assistant entity using a unique name along with associated descriptive information about the entity and estimated times of completion associated with each step in a repository of application assistants in a computer system; and allowing the application assistant entity to be shared from the repository with other users wherein the application assistant entity can be shared with other users, who in turn can choose to update the application assistant entity for their use.