By knowing which upcoming actions a user might perform, a mobile application can optimize a user interface or reduce the amount of user input needed for accomplishing a task. A herein-described prediction module can answer queries from a mobile application regarding which actions in the application the user is likely to perform at a given time. Any application can register and communicate with the prediction module via a straightforward application programing interface (API). The prediction module continuously learns a prediction model for each application based on the application's evolving event history. The prediction module generates predictions by combining multiple predictors with an online learning method, and capturing event patterns not only within but also across registered applications. The prediction module is evaluated using events collected from multiple types of mobile devices.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method, comprising: receiving a plurality of event notifications associated with a plurality of applications at a prediction module of a computing device, wherein the plurality of applications comprise a first application and a second application, wherein the first application differs from the second application, and wherein the plurality of event notifications comprise a first event notification associated with the first application regarding a first event and a second event notification associated with the second application regarding a second event; determining a plurality of event-prediction features for the plurality of events at the prediction module of the computing device, wherein the plurality of event-prediction features comprise a given event-prediction feature that includes a first value that is based on a probability of an occurrence of the first event given an occurrence of the second event; receiving a query to predict an occurrence of the first event at the prediction module of the computing device; after receiving the query, determining a score predicting the occurrence of the first event based on the plurality of event-prediction features using the prediction module of the computing device; and providing the score from the prediction module of the computing device. 2. The method of claim 1, wherein determining the score comprises determining a sum of the plurality of event-prediction features. 3. The method of claim 2, wherein the sum of the plurality of event-prediction features comprises a weighted sum of the plurality of event-prediction features. 4. The method of claim 1, wherein the plurality of event-prediction features further comprise at least one feature selected from the group of features consisting of a recency feature, a frequency feature, a Markov feature, a Poisson feature, a location feature, and a time feature. 5. The method of claim 4, wherein the recency feature is based on a recency ranking of the first event. 6. The method of claim 4, wherein the frequency feature is based on a frequency of occurrence of the first event. 7. The method of claim 4, wherein the Markov feature is based on a probability of the occurrence of the first event given an occurrence of a third event, wherein the third event is an event associated with the first application. 8. The method of claim 4, wherein the Poisson feature is based on a probability of the occurrence of the first event based on an expected occurrence frequency of the first event. 9. The method of claim 4, wherein the location feature comprises a probability of the occurrence of the first event based on the computing device being at a predetermined location. 10. The method of claim 4, wherein the time feature comprises a probability of the occurrence of the first event based on a predetermined time of day. 11. The method of claim 1, further comprising: receiving a second query to predict an occurrence of the second event at the prediction module; and after receiving the second query, determining a score predicting the occurrence of the second event based on the plurality of event-prediction features using the prediction module. 12. The method of claim 1, wherein the given event-prediction feature further includes a second value that is based on a probability of an occurrence of the second event given an occurrence of the first event. 13. A computing device, comprising: one or more processors; a non-transitory computer readable medium configured to store executable instructions for at least a prediction module, wherein the executable instructions, when executed by the one or more processors, cause the computing device to perform functions comprising: receiving a plurality of event notifications associated with a plurality of applications at the prediction module, wherein the plurality of applications comprise a first application and a second application, wherein the first application differs from the second application, wherein the plurality of event notifications comprise a first event notification received from the first application regarding a first event and a second event notification received from the second application regarding a second event, determining a plurality of event-prediction features for the plurality of events at the prediction module, wherein the plurality of event-prediction features comprise a given event-prediction feature that includes a first value that is based on a probability of an occurrence of the first event given an occurrence of the second event, receiving, at the prediction module, a query to predict an occurrence of the first event, after receiving the query, determining a score predicting the occurrence of the first event based on the plurality of event-prediction features using the prediction module, and providing the score from the prediction module. 14. The computing device of claim 13, wherein determining the score comprises determining a weighted sum of the plurality of event-prediction features. 15. The computing device of claim 13, wherein the plurality of event-prediction features further comprise at least one feature selected from the group of features consisting of a recency feature, a frequency feature, a Markov feature, a Poisson feature, a location feature, and a time feature. 16. The computing device of claim 13, further comprising: receiving a second query to predict an occurrence of the second event at the prediction module; and after receiving the second query, determining a score predicting the occurrence of the second event based on the plurality of event-prediction features using the prediction module. 17. The computing device of claim 13, wherein the given event-prediction feature further includes a second value that is based on a probability of an occurrence of the second event given an occurrence of the first event. 18. A non-transitory computer readable medium configured to store at least executable instructions, wherein the executable instructions, when executed by one or more processors of a computing device, cause the computing device to perform functions comprising: receiving a plurality of event notifications associated with a plurality of applications at a prediction module of the computing device, wherein the plurality of applications comprise a first application and a second application, wherein the first application differs from the second application, wherein the plurality of event notifications comprise a first event notification associated with the first application regarding a first event and a second event notification associated with the second application regarding a second event; determining a plurality of event-prediction features for the plurality of events at the prediction module, wherein the plurality of event-prediction features comprise a given event-prediction feature that includes a first value that is based on a probability of an occurrence of the first event given an occurrence of the second event; receiving a query to predict an occurrence of the first event at the prediction module; after receiving the query, determining a score predicting the occurrence of the first event based on the plurality of event-prediction features using the prediction module; and providing the score from the prediction module. 19. The non-transitory computer readable medium of claim 18, wherein determining the score comprises determining a weighted sum of the plurality of event-prediction features. 20. The non-transitory computer readable medium of claim 18, wherein the given event-prediction feature further includes a second value that is based on a probability of an occurrence of the second event given an occurrence of the first event.