1. A system for rendering menus on a screen of a handheld computing device, the system comprising: a plurality of switches, each switch configured to perform a function in response to the switch being activated for less than a predetermined time period; an event manager configured to generate one of a plurality of switch identifiers corresponding to one of the plurality of switches in response to the one of the plurality of switches being activated for at least the predetermined time period; a database storing sets of application identifiers, each set of application identifiers corresponding to each of the switch identifiers; a navigation mechanism configured to receive user input representing one of at least three directions; a preferences manager configured to retrieve a set of application identifiers from the database corresponding to the one of the plurality of switch identifiers responsive to receiving the one of the plurality of switch identifiers, each application identifier linked to launch an executable; and a menu engine configured to render a menu on the screen in response to the preference manager retrieving the set of application identifiers, the menu including the set of application identifiers within a bounded area, wherein the set of application identifiers are placed in relative orientations corresponding to relative orientations of the at least three directions that can be navigated by a navigation mechanism, an executable corresponding to a selected application identifier launched in response to receiving user input at the navigation mechanism indicating a direction corresponding to a relative orientation of the selected application identifier.