1. A computer-implemented method comprising: determining, with one or more processors, a habitual activity of a first user; determining, with the one or more processors, a first context of the habitual activity; identifying, with the one or more processors, a time period when the first user is available for an interaction based on the habitual activity and the first context of the habitual activity; categorizing consumption of information by the first user as being on a type of communication channel, the type of communication channel including a push-based communication channel, a queue-based communication channel and a pull-based communication channel; determining, with the one or more processors, which type of communication channel the first user prefers to use; identifying a second context of a message from a second user, the second user being connected to the first user in a social network; determining whether the second context of the message corresponds to the first context of the habitual activity; determining a communication channel suitable for delivery of the message based on the type of communication channel preferred by the first user and the second context of the message corresponding to the first context of the habitual activity; and providing the message to the first user via the communication channel and in the time period when the first user is available for the interaction.