A social media client device configured to operate in a social media system, the social media client device comprising: a host processor located on the social media client device, wherein the host processor is configured to execute a host social media client while the device is in an awake mode, wherein the host social media client is adapted to maintain a network connection with a social media server for the social media client device while executing the host social media client, wherein the host social media client executed by the host processor is adapted to provide social media services to a user of the social media client device, the social media client device being characterized in that the host processor is configured to store, in a first memory, wake criteria indicative of events that cause the social media client device to transition from a sleep mode to the awake mode; and in that the social media client device further comprises a network interface controller comprising an embedded processor, separate from the host processor and located on the same social media client device as the host processor, wherein the embedded processor is configured to: i) execute an embedded social media client while the social media client device is in the sleep mode, wherein the embedded social media client is configured to maintain the network connection for the social media client device while executing the embedded social media client, ii) store, in a second memory separate from the first memory, the wake criteria in response to the social media client device transitioning from the awake mode to the sleep mode, and iii) transition the social media client device from the sleep mode to the awake mode in response to a comparison between an event received via the network connection and the wake criteria. a host processor located on the social media client device, wherein the host processor is configured to execute a host social media client while the device is in an awake mode, wherein the host social media client is adapted to maintain a network connection with a social media server for the social media client device while executing the host social media client, wherein the host social media client executed by the host processor is adapted to provide social media services to a user of the social media client device, the social media client device being characterized in that the host processor is configured to store, in a first memory, wake criteria indicative of events that cause the social media client device to transition from a sleep mode to the awake mode; and in that the social media client device further comprises a network interface controller comprising an embedded processor, separate from the host processor and located on the same social media client device as the host processor, wherein the embedded processor is configured to: i) execute an embedded social media client while the social media client device is in the sleep mode, wherein the embedded social media client is configured to maintain the network connection for the social media client device while executing the embedded social media client, ii) store, in a second memory separate from the first memory, the wake criteria in response to the social media client device transitioning from the awake mode to the sleep mode, and iii) transition the social media client device from the sleep mode to the awake mode in response to a comparison between an event received via the network connection and the wake criteria. i) execute an embedded social media client while the social media client device is in the sleep mode, wherein the embedded social media client is configured to maintain the network connection for the social media client device while executing the embedded social media client, ii) store, in a second memory separate from the first memory, the wake criteria in response to the social media client device transitioning from the awake mode to the sleep mode, and iii) transition the social media client device from the sleep mode to the awake mode in response to a comparison between an event received via the network connection and the wake criteria.