1. At least one non-transitory machine accessible medium comprising computer instructions for dynamically presenting applications on a data processing system, wherein the computer instructions, in response to being executed on the data processing system, enable the data processing system to carry out a method comprising: in response to a user transitioning from a first application on a data processing system to a second application, automatically saving application usage pattern data, wherein the application usage pattern data comprises context attributes that identify: the application from which the user transitioned as an active application, the application to which the user transitioned as a next application, current time, and at least one additional item from a group consisting of: current location, and type of activity being engaged in by a user; automatically calculating probabilities of activation for applications in the data processing system, based at least in part on the context attributes in the application usage pattern data, including the context attributes identifying active applications and corresponding next applications; automatically saving the calculated probabilities of activation; determining current context attributes, including which application is currently active; automatically ranking at least some of the applications into a rank order of predicted activation, based at least in part on (a) the calculated probabilities of activation and (b) the current context attributes, including which application is currently active; providing a next-application button that enables the user to request a list of potential next applications to be presenting according to the rank order of predicted activation; in response to user selection of the next-application button, automatically presenting one or more of the ranked applications for potential activation by the user, wherein the presented applications are presented according to the rank order of predicted activation in a user interface that enables the user to select one of the ranked applications for activation; in response to user selection of one of the ranked applications, activating the selected application; automatically adjusting a vocabulary of available voice commands, based at least in part on a current context, wherein the operation of automatically adjusting a vocabulary of available voice commands comprises constraining the vocabulary of available voice commands, based on vocabularies for multiple applications, including (a) a vocabulary for the currently active application and (b) a vocabulary for at least one inactive application among the top ranked applications, based at least in part on the rank order of predicted activation; receiving voice command input from the user; and in response to the voice command input from the user, automatically using the adjusted vocabulary of available voice commands when interpreting the voice command input.