12. A non-transitory computer storage medium encoded with a computer program, the computer program comprising instructions that when executed by a data processing apparatus cause the data processing apparatus to: receive, from a first device, an activity status that is automatically determined based, at least in part, on an activity of the first device with an online application; assign the received activity status to a current activity status of the first device to indicate the first device is active with the online application, wherein the current activity status identifies the online application; receive, from a second device, a request to communicate with the first device; and provide, in response to the request, the first device's current activity status to the second device.
12. A non-transitory computer storage medium encoded with a computer program, the computer program comprising instructions that when executed by a data processing apparatus cause the data processing apparatus to: receive, from a first device, an activity status that is automatically determined based, at least in part, on an activity of the first device with an online application; assign the received activity status to a current activity status of the first device to indicate the first device is active with the online application, wherein the current activity status identifies the online application; receive, from a second device, a request to communicate with the first device; and provide, in response to the request, the first device's current activity status to the second device. 18. The non-transitory computer storage medium of claim 12 , the computer program further comprising instructions that when executed by a data processing apparatus cause the data processing apparatus to: provide, to the first device, a reminder that the remote user status is enabled or disabled.