Patent ID: 7712048

Claim:
A computer-implemented method of exposing commands in a software application program, the computer-implemented method comprising: causing, by a computer, a display device to display a user interface of the software application program, the user interface simultaneously comprising: a document area in which a user works on a document provided by the software application program; and a container area proximate the document area, the container area not obscuring the document area; while the display device is displaying the user interface, determining, by the computer based on actions of the user within the document area, whether context blocks are relevant to a task that the user is currently performing on the document by evaluating visibility expressions, each of the visibility expressions associated with a different one of the context blocks, each of the context blocks being a separate block containing a different plurality of user-selectable commands associated with tasks that the user is able to perform on the document, each of the context blocks having a different title; in response to determining that given ones of the context blocks that are not displayed in the container area are relevant to the task that the user is currently performing on the document and without receiving input from the user, causing, by the computer, the display device to display the user interface such that the container area includes both the titles of the given ones of the context blocks and the commands of the given ones of the context blocks; and in response to determining that other ones of the context blocks that are displayed in the container area are not relevant to the task that the user is currently performing on the document and without receiving input from the user, causing, by the computer, the display device to display the user interface such that the container area does not include the titles of the other ones of the context blocks and does not include the commands of the other ones of the context blocks.