Patent ID: 8726165
Filing Date: 2014-05-13
Classification: G06F,G06Q

Abstract:
1. A method comprising: determining, by a client device, at least one criterion for specifying a particular order for a server to sort one or more contacts of a contact list, wherein the at least one criterion comprises at least one of a frequency that an application or operating system executing at the client device accesses the one or more contacts of the contact list and a temporal order that the one or more contacts of the contact list are accessed by the application; sending, by the client device and to the server, a first request for a first subset of the one or more contacts of the contact list, wherein the first request includes the at least one criterion; responsive to sending the first request, receiving, at the client device and from the server, information indicating the first subset of the one or more contacts of the contact list, wherein the first subset of the one or more contacts of the contact list is pre-sorted in the particular order; receiving, at the client device, a partial entry of a contact comprising a string of one or more characters; identifying, by the client device, fewer than a preset number of contacts from the first subset of the one or more contacts of the contact list to define a plurality of identified contacts that match the string of one or more characters; outputting, by the client device and for display in the particular order specified by the at least one criterion, a respective indication of each identified contact from the plurality of identified contacts; responsive to determining that a total number of the plurality of identified contacts is fewer than a predefined threshold, sending, by the client device and to the server, a second request for a second subset of the one or more contacts of the contact list, wherein the second request includes the string of one or more characters and the at least one criterion; responsive to sending the second request, receiving, at the client device and from the server, information indicating the second subset of the one or more contacts of the contact list, wherein the second subset of the one or more contacts of the contact list comprises the one or more contacts of the contact list that match the partial entry of a contact and that are distinct from the first subset of the one or more contacts of the contact list and is pre-sorted in the particular order; outputting, by the client device and for display in the particular order, the second subset of the one or more contacts of the contact list; responsive to receiving, at the client device, an input to scroll beyond a last contact of the plurality of identified contacts and the second subset, identifying, by the client device, an additional contact from the first subset of the one or more contacts that matches the partial entry of a contact if the additional contact is present in the first subset of the one or more contacts but not in the plurality of identified contacts; and responsive to identifying the additional contact, outputting, by the client device and for display and in the particular order, the additional contact, the plurality of identified contacts, the second subset of the one or more contacts, and the additional contact.