A method performed by a mobile communications device, for navigation of software installed on the mobile communications device, comprising: receiving at the device a plurality of software modules, each software module including metadata, the metadata comprising a title and one or more keywords associated with the software module; installing the plurality of software modules on the mobile communications device; for each of the plurality of software modules installed on the mobile communications device populating a central database (233; 500) of the mobile communications device with the title associated with the software module installed on the device and associating the title with the software module in the central database; populating the central database of the mobile communications device with the one or more keywords associated with the software module and associating the one or more keywords with the software module in the central database; receiving at the mobile communications device a search query and searching titles and keywords, associated with the plurality of software modules installed on the mobile communications device, in the central database for records matching the search query, displaying at the device a search result identifying at least one of the software modules installed on the device having either a title or one or more associated keywords matching the search query; and in response to receiving at the device a selection of a software module identified in the search result, activating the selected software module, and wherein: at least one of the plurality of software modules has one or more associated actions it is capable of performing; at least one of the actions has at least one keyword associated with it; the search result displayed at the device identifies at least one action having an associated keyword matching the search query; and receiving at the device a selection of a software module includes receiving a selection, from search result, of an action associated with the software module, and activating the selected software module comprises instructing the software module associated with the selected action to perform the selected action. receiving at the device a plurality of software modules, each software module including metadata, the metadata comprising a title and one or more keywords associated with the software module; installing the plurality of software modules on the mobile communications device; for each of the plurality of software modules installed on the mobile communications device populating a central database (233; 500) of the mobile communications device with the title associated with the software module installed on the device and associating the title with the software module in the central database; populating the central database of the mobile communications device with the one or more keywords associated with the software module and associating the one or more keywords with the software module in the central database; installing the plurality of software modules on the mobile communications device; for each of the plurality of software modules installed on the mobile communications device populating a central database (233; 500) of the mobile communications device with the title associated with the software module installed on the device and associating the title with the software module in the central database; populating the central database of the mobile communications device with the one or more keywords associated with the software module and associating the one or more keywords with the software module in the central database; populating a central database (233; 500) of the mobile communications device with the title associated with the software module installed on the device and associating the title with the software module in the central database; populating the central database of the mobile communications device with the one or more keywords associated with the software module and associating the one or more keywords with the software module in the central database; receiving at the mobile communications device a search query and searching titles and keywords, associated with the plurality of software modules installed on the mobile communications device, in the central database for records matching the search query, displaying at the device a search result identifying at least one of the software modules installed on the device having either a title or one or more associated keywords matching the search query; and in response to receiving at the device a selection of a software module identified in the search result, activating the selected software module, and wherein: at least one of the plurality of software modules has one or more associated actions it is capable of performing; at least one of the actions has at least one keyword associated with it; the search result displayed at the device identifies at least one action having an associated keyword matching the search query; and receiving at the device a selection of a software module includes receiving a selection, from search result, of an action associated with the software module, and activating the selected software module comprises instructing the software module associated with the selected action to perform the selected action.