1. A method of printing a document from a mobile device comprising: by a processor of the mobile device executing a print application that causes the processor to: identify a document to be printed, generate a notification comprising a selection of at least one candidate print device that may be selected for printing the document by: using data obtained from the mobile device to identify: a document context that specifies a context corresponding to the identified document, and a user context, wherein the data obtained from the mobile device comprises one or more of the following: data sensed by one or more sensors of the mobile device, or data gathered by one or more mobile applications of the mobile device, using the user context to detect a print device, using at least the document context to determine if the document can be printed on the detected print device, saving the document and the document context associated with the document to a client print queue, if the document cannot be printed on the print device, detecting, by a location sensor of the mobile device, a change in location of the mobile device, updating the user context to a new user context based on the change in location, using the new user context to detect a first print device, for each document in the client print queue, determining whether the document can be printed on the first print device using at least a document context associated with the document, including the first print device and an identification of at least one document that can be printed on the first print device in the selection of at least one candidate print device, and causing a user interface to output the notification.