A method performed by a computing device, the method comprising: receiving, for one or more applications of the computing device, registration information that includes an indication of how a system level search module providing a system level search user interface can launch the one or more applications, the system level search user interface being a centralized user interface that allows users of the computing device to enter a search term and search for that search term in multiple different applications; adding the registration information to a registration store; including the one or more applications as one of one or more applications that can be searched using the system level search user interface, wherein the registration information includes an indication of how the search term is to be provided to the one or more applications and whether the one or more applications require an Internet connection to perform the search, wherein the indication of how the search term is to be provided to the one or more applications includes an indication of one or more application programming interfaces of the one or more applications to invoke in order to pass the one or more applications the search term; receiving, from a user via a data entry portion of the system level search user interface, a search term; displaying an application identification portion of the system level search user interface, the application identification portion including identifiers of different applications of the one or more applications, wherein applications that require an Internet connection are not included in the application identification portion if the computing device does not currently have an Internet connection; receiving, from the user via the application identification portion of the system level search user interface, a selection of one or more of the different applications; and providing the search term to the selected one or more applications, which in turn each determine and display search results based on the search term. receiving, for one or more applications of the computing device, registration information that includes an indication of how a system level search module providing a system level search user interface can launch the one or more applications, the system level search user interface being a centralized user interface that allows users of the computing device to enter a search term and search for that search term in multiple different applications; adding the registration information to a registration store; including the one or more applications as one of one or more applications that can be searched using the system level search user interface, wherein the registration information includes an indication of how the search term is to be provided to the one or more applications and whether the one or more applications require an Internet connection to perform the search, wherein the indication of how the search term is to be provided to the one or more applications includes an indication of one or more application programming interfaces of the one or more applications to invoke in order to pass the one or more applications the search term; receiving, from a user via a data entry portion of the system level search user interface, a search term; displaying an application identification portion of the system level search user interface, the application identification portion including identifiers of different applications of the one or more applications, wherein applications that require an Internet connection are not included in the application identification portion if the computing device does not currently have an Internet connection; receiving, from the user via the application identification portion of the system level search user interface, a selection of one or more of the different applications; and providing the search term to the selected one or more applications, which in turn each determine and display search results based on the search term.