In one embodiment, a method includes one or more server computing devices receiving first data associated with an activity recently performed or currently being performed by a user of one or more client computing devices. A current state of the user is inferred at least in part by analyzing at least the first data, and second data associated with one or more historical durations associated with the inferred current state is accessed. An end time associated with the inferred current state is estimated based at least in part on the second data.
Please help me write a proper abstract based on the patent claims. CLAIM: 1-20. (canceled) 21. A method comprising: by one or more server computing devices, collecting first data associated with an activity recently performed or currently being performed by a user of one or more client computing devices; by one or more server computing devices, inferring a current state of the user at least in part by analyzing at least the first data; by one or more server computing devices, accessing second data generated from one or more historical durations associated with the inferred current state; and by one or more server computing devices, estimating, based at least in part on the second data, an end time of the inferred current state. 22. The method of claim 21, wherein: the user is a user of a social-networking system, the social-networking system comprising historical data associated with the user; and the current state of the user is inferred at least in part by analyzing the historical data associated with the user in addition to the first data. 23. The method of claim 22, wherein: the social-networking system comprises a social graph that comprises a plurality of nodes and edges connecting the nodes, at least one node in the graph corresponding to the user; the second data comprises social-networking information from the graph associated with one or more nodes or edges; and the historical data comprises information associated with one or more nodes or edges connected to the user's node. 24. The method of claim 23, further comprising, by one or more server computing devices, providing third data based at least in part on the user's inferred current state and associated estimated end time for presentation to one or more other users, each of the other users having at least one node in the graph corresponding to the other user and connected by one or more edges to at least one of nodes corresponding to the user whose current state was inferred. 25. The method of claim 21, wherein the first data comprises one or more of: an identifier of one of the one or more client computing devices; an Internet Protocol (IP) address of one of the one or more client computing devices; a location of one of the one or more client computing devices; metadata received from a software application executing on one of the one or more client computing devices; or data received from a radio-frequency identification (RFID) reader attached to one of the one or more client computing devices. 26. The method of claim 21, wherein analyzing comprises analyzing by use of: regression analysis; decision-tree analysis; neural-network analysis; or expert-system analysis. 27. The method of claim 21, further comprising, by one or more server computing devices, collecting fourth data comprising feedback from the user regarding the accuracy of the inferred current state. 28. One or more computer-readable non-transitory storage media embodying software that is operable when executed to: collect first data associated with an activity recently performed or currently being performed by a user of one or more client computing devices; infer a current state of the user at least in part by analyzing at least the first data; access second data generated from one or more historical durations associated with the inferred current state; and estimate, based at least in part on the second data, an end time of the inferred current state. 29. The media of claim 28, wherein: the user is a user of a social-networking system, the social-networking system comprising historical data associated with the user; and the current state of the user is inferred at least in part by analyzing the historical data associated with the user in addition to the first data. 30. The media of claim 29, wherein: the social-networking system comprises a social graph that comprises a plurality of nodes and edges connecting the nodes, at least one node in the graph corresponding to the user; the second data comprises social-networking information from the graph associated with one or more nodes or edges; and the historical data comprises information associated with one or more nodes or edges connected to the user's node. 31. The media of claim 30, wherein the software is further operable when executed to provide third data based at least in part on the user's inferred current state and associated estimated end time for presentation to one or more other users, each of the other users having at least one node in the graph corresponding to the other user and connected by one or more edges to at least one of nodes corresponding to the user whose current state was inferred. 32. The media of claim 28, wherein the first data comprises one or more of: an identifier of one of the one or more client computing devices; an Internet Protocol (IP) address of one of the one or more client computing devices; a location of one of the one or more client computing devices; metadata received from a software application executing on one of the one or more client computing devices; or data received from a radio-frequency identification (RFID) reader attached to one of the one or more client computing devices. 33. The media of claim 28, wherein analyzing comprises analyzing by use of: regression analysis; decision-tree analysis; neural-network analysis; or expert-system analysis. 34. The media of claim 28, wherein the software is further operable when executed to collect fourth data comprising feedback from the user regarding the accuracy of the inferred current state. 35. A system comprising: one or more processors; and a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to: collect first data associated with an activity recently performed or currently being performed by a user of one or more client computing devices; infer a current state of the user at least in part by analyzing at least the first data; access second data generated from one or more historical durations associated with the inferred current state; and estimate, based at least in part on the second data, an end time of the inferred current state. 36. The system of claim 35, wherein: the user is a user of a social-networking system, the social-networking system comprising historical data associated with the user; and the current state of the user is inferred at least in part by analyzing the historical data associated with the user in addition to the first data. 37. The system of claim 36, wherein: the social-networking system comprises a social graph that comprises a plurality of nodes and edges connecting the nodes, at least one node in the graph corresponding to the user; the second data comprises social-networking information from the graph associated with one or more nodes or edges; and the historical data comprises information associated with one or more nodes or edges connected to the user's node. 38. The system of claim 37, wherein the processors are further operable when executing the instructions to provide third data based at least in part on the user's inferred current state and associated estimated end time for presentation to one or more other users, each of the other users having at least one node in the graph corresponding to the other user and connected by one or more edges to at least one of nodes corresponding to the user whose current state was inferred. 39. The system of claim 35, wherein the first data comprises one or more of: an identifier of one of the one or more client computing devices; an Internet Protocol (IP) address of one of the one or more client computing devices; a location of one of the one or more client computing devices; metadata received from a software application executing on one of the one or more client computing devices; or data received from a radio-frequency identification (RFID) reader attached to one of the one or more client computing devices. 40. The system of claim 35, wherein analyzing comprises analyzing by use of: regression analysis; decision-tree analysis; neural-network analysis; or expert-system analysis.