1. A method, comprising: retrieving a contact list for a client device using one or more servers, the contact list comprising a plurality of addresses for a corresponding plurality of contacts corresponding to a plurality of users, and wherein each address has a corresponding presence attribute indicating a current status of the corresponding contact; determining a resource limitation of the client device by the one or more servers; sorting, at least in part, the addresses for a plurality of users according to their corresponding presence attributes, by the one or more servers; transmitting, at least in part, a subset of the sorted addresses to the client device by the one or more servers, wherein the transmitted subset is determined based on the resource limitation; and wherein the sorting the addresses further comprises prioritizing the addresses for a plurality of users according to their corresponding presence attributes, and the transmitting a subset further comprises transmitting a subset of prioritized addresses for a corresponding plurality of users from the one or more servers to the client device in order of their priority.