1. A computer-implemented method to search for applications considering contextual input information, the method comprising: receiving contextual information that is related to a computing device or an activity that a user is engaged in; accessing application manifest information for applications available from an application catalog; accessing policy information that determines how to match accessed application manifest information to the received contextual information related to the device and user; identifying one or more applications with manifest data that matches the currently detected context based on the accessed policy information; ranking identified applications higher than other applications in the application catalog; and displaying applications to the user based on the modified ranking produced by considering contextual information, wherein the preceding steps are performed by at least one processor.