Patent Publication Number: US-9886487-B2

Title: Managing contact groups from subset of user contacts

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is a continuation of U.S. patent application Ser. No. 12/413,373, filed on Mar. 27, 2009, entitled MANAGING CONTACT GROUPS FROM SUBSET OF USER CONTACTS, the disclosure of which is incorporated herein by reference. 
    
    
     BACKGROUND 
     Generally described, telecommunications devices and communication networks facilitate the collection and exchange of information. Utilizing a communication network and relevant communication protocols, a telecommunications device can engage in audio and/or data communications with other telecommunications devices, such as voice calls, video calls, messaging (e.g., short message service (“SMS”) or multimedia messaging service (“MMS”), content streaming, instant messaging, resource browsing (e.g., Web browsing), and the like. 
     To facilitate communications, telecommunications devices can be associated with software and hardware components that allow the telecommunications device to maintain contact information, such as telephone numbers, email addresses, messaging addresses, etc., utilized to establish and engage in communications via available communication channels. Typically, such contact information is maintained as contact information in which all known contact information for an identified entity, such as user, can be presented to a telecommunications device user. For example, a telecommunications device may present a user interface in which the contact information associated with a selected individual is presented in a list-based format. In another example, a telecommunications device with voice calling capabilities may maintain a “last call list” that keeps track of telephone numbers of the most recent incoming calls to or outgoing calls from the telecommunications device. 
     Although contact management user interfaces and software can facilitate the input and management of contact information for a larger set of contacts, typical contact management approaches can become deficient as the set of entities associated with a user grows. In one example, typical call list approaches are limited in the number of contacts identified in the user interfaces (e.g., the last 4 numbers called). Accordingly, such approaches can become deficient as the number of incoming or outgoing communications (e.g., voice calls) increases because potentially desired contacts are removed from the display based on order of the most recent incoming or outgoing communications. 
     In another example, typical contact management approaches relate to the presentation of the entire set of contacts that are associated with a user, such as in alphabetical order. As the number of contacts maintained in the telecommunications device, or on behalf of the telecommunications device, grows, users may have increased difficulty in identifying the contact information of specific entities. Additionally, for each contact, the typical contact management approach identifies all known contact information (e.g., phone numbers, IM aliases, email addresses, etc.) without regard to a desired, or preferred, communication method. Additionally, typical contact management approaches are inefficient in the accessibility of select contact information and the establishment of options or actions that can be initiated by the telecommunications device user via a number of user interfaces. 
    
    
     
       DESCRIPTION OF THE DRAWINGS 
       The foregoing aspects and many of the attendant advantages of the present disclosure will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein: 
         FIG. 1  is a block diagram illustrative of one embodiment of a telecommunications environment including a number of telecommunications devices and a contact management service; 
         FIG. 2  is a block diagram illustrative of components of a telecommunications device for use in generation, management, and display of user contact information; 
         FIG. 3  is a flow diagram illustrative of a contact management routine implemented by a telecommunications device and/or within the telecommunications environment of  FIG. 1  for managing a subset of user contacts and generating a contact display on a telecommunications device based on a current context of the telecommunications device user; 
         FIGS. 4A-4B  are illustrative user interfaces generated on a telecommunications device for presenting user contact information for editing; 
         FIGS. 5A and 5B  are illustrative user interfaces generated on a telecommunications device for presenting a group of contacts from the subset of user contacts based on a current context of the telecommunications device user; 
         FIG. 6A  is a diagram illustrating a logical association of contacts into a plurality of contact groups; 
         FIG. 6B  is another embodiment of an illustrative user interface generated on a telecommunications device for presenting a group of contacts from the subset of user contacts based on a current context of the telecommunications device user; 
         FIG. 7A  is an illustrative user interface generated on a telecommunications device for presenting contacts from the subset of user contacts with one or more divider display objects; and 
         FIG. 7B  is an illustrative user interface generated on a telecommunications device for creating and/or modifying contact groups using at least one divider display object. 
     
    
    
     DETAILED DESCRIPTION 
     Generally described, the present disclosure is directed to managing a subset of user contacts on a telecommunications device. Specifically, in one embodiment, aspects of the disclosure will be described with regard to determining at least two contact groups from a subset of contacts accessible by a telecommunications device and generating a contact display including at least one contact group from the subset based on a current context of a user of the telecommunications device. The current context may, for example, be one or more of a location, time, date, and the like. In one embodiment, the user of the telecommunications device can initially select the members of each of the contact groups from the subset of contacts. In this case, the user of the telecommunications device may also select and associate a context with each of the user-selected groups. Alternatively, a context associated with each of the user-selected groups may be determined automatically based on communication events between the user and the members of each group. In another embodiment, rather than being user-selected, the members of the at least two contact groups may be determined automatically based on a context associated with the user of the telecommunications device and a plurality of user communication events associated with the context. 
     In another embodiment, aspects of the disclosure will be described with regard to determining at least two contact groups from a subset of contacts accessible by a telecommunications device and generating a contact display including a representation of at least a portion of the first and second contact groups and a divider display object. Illustratively, the at least two contact groups can be determined in response to an add divider input initiated by a user of the telecommunications device. The divider display object generated in the contact display partitions the first contact group from the second contact group. In other embodiments, the divider display object can be repositioned to modify members of the contact groups. In still further embodiments, a plurality of divider display objects can be generated for visually partitioning other additional contact groups from the subset of contacts. 
     Although aspects of the present disclosure will be described with regard to an illustrative telecommunications environment and component interactions, telecommunications protocols, flow diagrams, and user interfaces, one skilled in the relevant art will appreciate that the disclosed embodiments are illustrative in nature and should not be construed as limiting. Specifically, although the term telecommunications device is used in this document, the term represents any type of device having a component for communicating with one or more other devices via one or more communication paths. Such communication paths can include wireless communication paths (via infra-red, RF, optical, terrestrial, or satellite communication media) and wired communication paths. 
     With reference now to  FIG. 1 , a block diagram illustrative of a telecommunications environment  100  for managing a subset of user contacts, and particularly for managing at least two contact groups from the subset of user contacts, will be described. A contact may correspond to an individual person, an identifier associated with a person such as a telephone number, a group of people, an identifier associated with a group of people, and the like. The telecommunications environment  100  can include a contact management service  102 . In an illustrative embodiment, the contact management service  102  may be utilized to provide, maintain, or transmit contact group information to one or more telecommunications devices, as will be described below. 
     For each telecommunications device user, the contact group information may correspond to information associated with the generation of contact groups from a subset of user contacts accessible by a telecommunications device. The contact group information may be generated, at least in part, from information corresponding to interaction with individual users of telecommunications devices and maintained in a data store  110 . Additionally, the contact management service  102  may obtain additional information from external sources, such as network-based data sources  120 . The additional information may become part of the contact group information. Even further, the additional information may be used by the contact management service  102  to generate or process the contact group information. Such network-based data sources may include web sites, location based services, social network services, telecommunications services, message publication services, etc. While the data store  110  is depicted in  FIG. 1  as being local to the contact management service  102 , those skilled in the art will appreciate that the data store  110  may be remote to the contact management service  102  and/or may be a network based service itself. 
     While the contact management service  102  is depicted in  FIG. 1  as implemented by a single computing device in the telecommunications environment  100 , this is illustrative only. The contact management service  102  may be embodied in a plurality of computing devices, each executing an instance of the contact management service. A server or other computing device implementing the contact management service  102  may include memory, processing unit(s), and computer readable medium drive(s), all of which may communicate with one another by way of a communication bus. The network interface may provide connectivity over the network  118  and/or other networks or computer systems. The processing unit(s) may communicate to and from memory containing program instructions that the processing unit(s) executes in order to operate the contact management service  102 . The memory generally includes RAM, ROM, and/or other persistent and auxiliary memory. 
     As illustrated in  FIG. 1 , the contact management service  102  can include an external data source interface component  104  for obtaining external information from network data sources  120 , such as location data, contact data, and other supplemental data that can be incorporated, directly or indirectly, into the contact group information. Examples of external information can include user contact information, user communication events, contextual data associated with a telecommunications device user and with user communication events, such as time, date, location, and the like; contextual data associated with contacts of the user and with user contact communication events, such as time, date, location, and the like; social networking information; current status information associated with the user and/or user contacts; and the like. The contact management service  102  can also include a device interface component  106  for obtaining information from one or more telecommunication devices (e.g., location data for telecommunications device(s), IP addresses assigned to computing device(s), etc.). The contact management service  102  can further include a contact management component  108  for processing telecommunications device information and external information in determining at least two contact groups from a subset of contacts accessible by a telecommunications device and in further processing such contact group information, as will be further described further below in reference to  FIG. 3 . 
     One skilled in the relevant art will appreciate that the contact management service  102  may correspond to a number of computer devices, such as server computing devices. Additionally, the external data source interface component  104 , device interface component  106 , and contact management component  108  may be implemented in a single computing device or across multiple computing devices. Likewise, although the contact management data store  110  is illustrated as local to the contact management service  102 , the data store  110  can correspond to a distributed data store and/or network-based data store. One skilled in the relevant art will also appreciate that the contact management service  102  may include any one of a number of additional hardware and software components that would be utilized in the illustrative computerized network environment to carry out the illustrative functions of the service  102  and/or any of the individually identified components. 
     With continued reference to  FIG. 1 , the telecommunications environment  100  can include a number of telecommunications devices  112  or other computing devices  122 , each associated with a user. The telecommunication devices  112  or other computing devices  122  can generate the displays that facilitate interaction of a user with other users. The telecommunications devices  112  can correspond to a wide variety of devices or components that are capable of initiating, receiving, or facilitating communications over a communication network including, but not limited to, personal computing devices, hand held computing devices, integrated components for inclusion in computing devices, home electronics, appliances, vehicles, machinery, landline telephones, VoIP telephones, cordless telephones, cellular telephones, smart phones, modems, personal digital assistants, laptop computers, gaming devices, media players, and the like. In an illustrative embodiment, the telecommunications devices  112  include a wide variety of software and hardware components for establishing communications over one or more communication networks, including cellular telecommunications network  114 , a wired telecommunications network (not shown) and/or an IP-based telecommunications network (not shown). Illustrative components of a telecommunications device  112  will be described in greater detail with regard to  FIG. 2 . 
     In an illustrative embodiment, the telecommunications environment  100  can include a number of additional components, systems, and/or subsystems for facilitating communications with the telecommunications devices  112  and/or the contact management service  102 . The additional components can include one or more switches or switching centers  116  (in GSM embodiments, Mobile Switching Centers or MSCs) for establishing communications with the telecommunications devices  112  via the telecommunication network  114 , such as a cellular radio access network, an IP-based telecommunications network based on the family of IEEE 802.11 technical standards (“WiFi”) or IEEE 802.16 standards (“WiMax”), a converged wireless telecommunications network such as Unlicensed Mobile Access (UMA) or General Access Network (GAN), and other wired and wireless networks. The operation of telecommunication networks, such as telecommunication network  114  are well known and will not be described in greater detail. As illustrated in  FIG. 1 , the switching center  116  includes interfaces for establishing various communications via a communication network  118 , such as the Internet, intranets, private networks and point to point networks, generally referred to as the “network.” Although the telecommunications network  114  is illustrated as a single communication network, one skilled in the relevant art will appreciate that the communication network can be made up of any number of public or private communication networks and/or network connections. 
     With reference now to  FIG. 2 , illustrative components of a telecommunications device  112  for use in the creation and display of contact group displays will be described. The telecommunications device  112  may include one or more processing units  202 , such as one or more CPUs. The telecommunications device  112  may also include system memory  204 , which may correspond to any combination of volatile and/or non-volatile storage mechanisms. The system memory  204  may store information which provides an operating system component  206 , various program modules  208 , program data  210 , a contact management module  222 , and/or other components. As will be explained in greater detail below, the contact management module  222  stored in system memory of the telecommunications device  112  may perform all or some of the functions described above in connection with the contact management component  108  of the contact management service  102  ( FIG. 1 ). The above-enumerated list of components is representative and is not exhaustive of the types of functions performed, or components implemented, by the telecommunications device  112 . One skilled in the relevant art will appreciate that additional or alternative components may also be included in the telecommunication device  112  to carry out other intended functions such as a mobile telephone functions. 
     The telecommunications device  112  performs functions by using the processing unit(s)  202  to execute instructions provided by the system memory  204 . The telecommunications device  112  may also include one or more input devices  212  (keyboard, mouse device, specialized selection keys, etc.) and one or more output devices  214  (displays, printers, audio output mechanisms, etc.). Illustrative user interfaces for a telecommunications device  112  will be described with regard to  FIGS. 4A-4B ,  FIGS. 5A-5B ,  FIG. 6B , and  FIGS. 7A-7B  below. 
     With continued reference to  FIG. 2 , the telecommunications device  112  may also include one or more types of removable storage  216  and one or more types of non-removable storage  218 . Still further, the telecommunications device  112  can include communication components  220  for facilitating communication via wired and wireless telecommunications networks, such as telecommunications network  114  and network  118  ( FIG. 1 ). In an illustrative embodiment, the communication components  220  can facilitate the bi-lateral transfer of data between the telecommunications device  112  and the contact management system  102  ( FIG. 1 ). Examples of various communication protocols include, but are not limited to, Bluetooth, the family of IEEE 802.11 technical standards (“WiFi”), the IEEE 802.16 standards (“WiMax), short message service (“SMS”), voice over IP (“VoIP”) as well as various generation cellular air interface protocols (including, but not limited to, air interface protocols based on CDMA, TDMA, GSM, WCDMA, CDMA2000, TD-SCDMA, WTDMA, LTE, OFDMA, and similar technologies). 
     As previously described, in accordance with an aspect of the present disclosure, a telecommunications device  112  can generate one or more displays on a user interface via an output device  214 . In an illustrative embodiment, the displays include various display objects that represent user contacts, identifiers of contact groups, contact dividers, or combinations thereof. In an illustrative embodiment, display objects may be selectable by a user via any one of a variety of input methods and devices. Additionally, the determination of the display objects that are included in the displays may be predetermined, automatically determined (in real time or semi-real time), or manually configured/managed according to user-specified criteria. Further, the display and formatting of the display objects and the illustrative displays may be specified according to specific telecommunication device capabilities, service provider specifications, or user configurations. 
     With reference now to  FIG. 3 , one embodiment of a contact management routine  300  implemented by a contact management service  102  of the telecommunications device  112  to generate a contact group display will be described. Routine  300  will be described as being generally performed by the contact management service  102 . However, one skilled in the relevant art will appreciate that actions/steps outlined for routine  300  may be implemented by one or many computing devices/components that are associated with the telecommunications environment  100 . Accordingly, any functionality described in reference to routine  300  could be generally performed by any component in the telecommunications environment  100 , including contact management module  222  of the telecommunications device  112 , other modules, or combinations thereof. Thus, the following illustrative embodiments should not be construed as limiting. 
     At block  302 , the contact management service  102  identifies a subset of user contacts from a set of user contacts. As similarly set forth above, a user contact may correspond to an individual person, an identifier associated with a person such as a telephone number, a group of people, an identifier associated with a group of people, and the like. In some embodiments, the set of user contacts from which the subset is identified is not limited and, in others, it may be limited such that only those contacts that the device has access to without requiring further input by user are included in the set. In other embodiments, the set from which the subset is identified may be further limited to contacts known to the user, contacts identified in one or more electronic address books, contacts having user-specified characteristics, and the like. 
     Additionally, in one illustrative embodiment, the subset of contacts can be selected by the user and subsequently maintained, for example, in data store  110  for future identification and access by the contact management service  102 . 
     In another embodiment, a portion of the subset of contacts can be selected by the user of the telecommunications device  112 , while a remaining portion of the subset of contacts are selected automatically based on one or more other factors. In one example, the factor used to select the remaining portion of the subset of contacts can be a frequency of communication between the user and one or more user contacts accessible by the telecommunications device  112 . In this example, the contact management service  102  monitors communications between the user and each of the user&#39;s contacts accessible by the telecommunications device  112  and maintains data associated with the monitored communications. Based on the monitored communications and corresponding maintained data, the contact management service  102  may determine a frequency of communication between the user and each of the user&#39;s contacts. This information can then be used to determine the remaining portion of the subset of contacts. In one illustrative embodiment, the remaining portion of the subset of contacts can be selected based on the user contacts that have been in communication with the user the most number of times. In other embodiments, the contact management service  102  may track the types of communications between the user and the user&#39;s contacts, such as SMS messages, MMS messages, emails, voice calls, and the like, and then select the remaining portion of the subset of contacts based on the frequency of one type of communication or an aggregation of some or all types of communications. In addition, if aggregated, one type of communication can be weighted over other types. Even further, in other embodiments, the contact management service  102  may track only those communications initiated by the user to select the remaining portion of the subset of contacts based on the user&#39;s frequency of initiating communication with each of the user&#39;s contacts. Yet further, the contact management service  102  may track the frequency of communication between the user and each of the user&#39;s contacts during any period of time. 
     Additionally or alternatively, in a further embodiment, the identified subset of user contacts can be associated with a special rate plan offered by a telecommunications carrier providing communication services to the telecommunications device  112 . Specifically, the user may be provided a special rate associated with any communications made between the user and any of the contacts identified in the subset. In addition to a special rate, the rate plan may have a variety of other parameters that may affect selection of the contacts to be included in the subset. For example, in one embodiment, the subset of contacts may be limited in number to correspond to a number of contacts with whom communications will be provided at a special rate. As another example, the subset of contacts may be editable only after a specified period of time has elapsed from initial selection (whether by the user or partially by automated selection based on other factors such as frequency of communication information). 
     With continued reference to  FIG. 3 , at block  304 , a test is performed by the contact management service  102  to determine whether context information should be used to determine at least two groups of contacts from the identified subset of user contacts. Generally described, context information can correspond to information that is published, or otherwise made available, about events associated with the telecommunications device user, any one or more of the user&#39;s contacts, the telecommunications environment  100 , or any combination thereof. By way of example, context information as used in determining contact groups includes, but is not limited to, location, time of day, individual travel designations (e.g., stationary, moving, velocity, heading, etc.), manual designations (e.g., location, status, mood, etc.), cost information (e.g., rate plans, location), and the like. Additionally, context information may be expressly published by an identified entity, or on behalf of such an entity, or determined by reference to various information sources, such as calendaring information, location information, etc. 
     If, at block  304 , the contact management service  102  determines that context information should taken into consideration in the creation of contact groups, the contact management service  102  determines at least two contact groups from the identified subset of user contacts based on context information at block  306 . In one embodiment, the contact management service  102  uses a context of the user of the telecommunications device and a plurality of user communication events associated with the context to determine contact groups. For example, the contact management service  102  may determine that any user contacts from the identified subset and with whom the user communicates using the user&#39;s telecommunications device at a particular geographic location, such as the user&#39;s place of employment, should be associated to form a first contact group, such as a work contact group. In another example, the contact management service  102  may determine that any user contacts from the identified subset and with whom the user communicates during particular times and dates, such as from 8 a.m. to 9 a.m. and 5 p.m. to 6 p.m. on Mondays through Fridays, should be associated to form a second contact group, such as a commuting contact group. In addition or alternatively, in another embodiment, the contact management service  102  uses a context of the user&#39;s contacts from the identified subset to determine a contact group. For example, the contact management service  102  may determine that two or more of the user&#39;s contacts are located in a single geographic region from 1 p.m. to 5 p.m. on Saturdays and that these user contacts should thus be associated to form a third contact group, such as a basketball contact group. In yet another example, the context information can include user preference information indicating preferred contacts for the user such as based on overall frequency of communication. The contact management service  102  may determine that these contacts form a V.I.P. contact group. 
     In one illustrative embodiment, the contact management service  102  may determine at least two contact groups based on context information such that each user contact from the subset may only belong to a single contact group. Alternatively, a user contact may be allowed to belong to more than one contact group. For example, while a spouse may be a member of a family contact group based on context information, the user may regularly communicate with the spouse at work and thus the spouse may also be a member of a work contact group based on other context information. 
     In another illustrative embodiment, the contact management service  102  may also determine an identifier for each determined contact group. In one embodiment, the contact group identifier may be determined based on context information associated with the corresponding group. For example, the context information may include information published or otherwise made available about members of the contact group, such as a subject line of calendar information for each of the members indicating that from 1 p.m. to 5 p.m. on Saturdays the contacts are at a basketball game. Accordingly, this contact group may be associated with a basketball identifier. In some embodiments, a user may be able to edit identifiers which were previously automatically determined by the contact management service  102 . Alternatively, a user may provide the identifiers. In this embodiment, the contact management service  102  is configured to associate an identifier with each determined contact group, but requires user input to provide the specific corresponding identifier. The contact management service  102  may accordingly request such user input upon generation of the contact groups. In yet another embodiment, the contact management service  102  can associate a priority to the determined contact group based on preferences identified in or associated with the context information. 
     In a still further illustrative embodiment, the contact groups may be predetermined based on context information and maintained in the data store  110  ( FIG. 1 ). For example, contact groups may be determined as part of an off-line process that is scheduled by the content management service  102 . In another example, the contact management service  102  may store information associated with the formation of contact groups formed during previous iterations of routine  300 . Accordingly, the determination of contact groups based on context information by the contact management service  102  relates to recalling and processing the predetermined data. Alternatively, the contact management service  102 , or other component or service, may dynamically determine the contact groups based on the currently available context information at the time routine  300  is being implemented. 
     With continued reference to  FIG. 3 , after the contact management service  102  determines at least two contact groups from the identified subset based on context information, processing continues at block  312  as will be explained further below. Returning to block  304 , if the contact management service  102  alternatively determines that context information is not to be used to determine contact groups from the identified subset, processing continues at block  308 . Specifically, in this embodiment, the contact management service  102  determines at least two contact groups without the use of context information at block  308 . For example, the contact groups may be user selected. A variety of methodologies may be utilized to present users of a telecommunications device  112  with contact groups for selection. Illustrative user interfaces for facilitating user selection of contact groups are provided in  FIGS. 4A and 4B . In an illustrative embodiment, the selection of a contact group by a user of the telecommunications device  112  may be achieved utilizing a variety of input methods and hardware or software components in the telecommunications device  112 . Examples include, but are not limited to, touch screen interfaces, specialized keys, stylus or other input devices, software based menus, voice commands, and the like. In a further illustrative embodiment, a number of contact groups may be made available for user selection. Such available contact groups may be predetermined or otherwise statically determined and maintained in the data store  110  ( FIG. 1 ). In addition or alternatively, the user may create new personalized contact groups associated with a subset of contacts. 
     In yet another embodiment, the contact management service  102  can determine at least two contact groups from the subset of user contacts based on other user-created groups of contacts. Such user-created groups may include contacts other than those included in the subset of user contacts currently being processed. For example, a user may have previously created groups of work contacts, school contacts, and family contacts. Additionally, the subset of user contacts currently being processed may correspond to a group of favorite contacts. In this example, there may be additional contacts in each of the work, school, and family contact groups that are not included in the user&#39;s favorites contact group. Nonetheless, the contact management service  102  may use these other user-created work, school, and family contacts to determine contact groups from the favorite contacts subset. For example, a portion of the contacts in the favorite contacts subset may also belong to the user-created work contact group. Accordingly, the contact management service  102  may determine a first contact group from the favorite contacts subset to be a “favorite work” contact group based on the intersection of members between the favorite contacts subset and the user-created work contact group. 
     Next, at block  310 , the contact management service  102  optionally predetermines context information for association with each of the at least two contact groups select by a user of the telecommunications device  112 . As similarly, set forth above, the context information can correspond to information that is published, or otherwise made available, about events associated with the telecommunications device user, any one or more of the user&#39;s contacts, the telecommunications environment  100 , or any combination thereof. By way of example, context information as used in determining contact groups includes, but is not limited to, location, time of day, individual travel designations (e.g., stationary, moving, velocity, heading, etc.), manual designations (e.g., location, status, mood, etc.), cost information (e.g., rate plans, location), and the like. In an illustrative embodiment, the context information associated with the contact group may be a selected from the same context information that is available in the formation of contact groups. Alternatively, the contact management service  102  may limit, or otherwise specify, context information that can be associated with a determined contact group. 
     In one embodiment, the contact management service  102  uses context information associated with the telecommunications device user and/or the members of each user-selected contact group to determine a context associated with the respective contact group. For example, the contact management service  102  may determine that the telecommunications device user always communications with user contacts in a “work” contact group while the user is at a particular geographic location, such as the user&#39;s place of employment. The contact management service  102  may thus associate this geographic location with the “work” contact group. In another example, the contact management service  102  may determine that the telecommunications device user always communicates with user contacts in a “commuting” contact group during particular times and dates, such as from 8 a.m. to 9 a.m. and 5 p.m. to 6 p.m. on Mondays through Fridays. The contact management service  102  may thus associate this time and date information with the “commuting” contact group. As another example, the contact management service  102  may determine that user contacts in a “basketball” contact group are all located in a single geographic region from 1 p.m. to 5 p.m. on Saturdays. The contact management service  102  may thus associate this location, day of the week, and time information with the “basketball” contact group. 
     In another embodiment, the contact management service  102  may identify a context for association with each contact group based on manual determination of the context associated with the formed content group. A variety of methodologies may be utilized to present users of a telecommunications device  112  with context information for selection and association with a particular contact group. Additionally, the selection and association of a context with a particular contact group by a user of the telecommunications device  112  may be achieved utilizing a variety of input methods and hardware or software components in the telecommunications device  112 . In one illustrative embodiment, the telecommunications device user may generate a user interface for allowing a user to input, or otherwise select, a context, to be associated with a particular contact group. Additionally, the communication management service  102  may provide a telecommunications device user with the ability to edit dynamically determined context information, to modify the context information, or otherwise add/remove context information. 
     In yet another embodiment, rather than the contact management service  102  automatically determining a context associated with each of the contact groups based on context information and rather than providing for user selection of the context, a context may be predefined as being associated with a particular contact group. For example, a work contact group may be predefined as being associated with a geographic location corresponding to the telecommunications device user&#39;s place of employment. As also further explained below, one skilled in the relevant art will appreciate that block  310  may be omitted altogether or partially implemented in accordance with user preferences for example. 
     With continued reference to  FIG. 3 , after determination of at least two contact groups associated with a subset of user contacts via either block  306  or block  308  and optional block  310 , the contact management service  102  generates a contact display based on a current context of the telecommunications device user at block  312 . More particularly, the contact management service  102  selects a first contact group from the at least two contact groups for display in the contact display based on a current context of the telecommunications device user. Accordingly, the contact management service  102  first determines a current context associated with the user of the telecommunications device. Examples of context information have been previously provided. After identifying the user&#39;s current context, the contact management service  102  determines whether the user&#39;s current context corresponds to a context associated with any of the at least two contact groups. Continuing with the foregoing example, the contact management service  102  may correlate the “Work” contact group with the user&#39;s current context since the “Work” contact group is associated with context information about contacts the user communicates with while at work. Given that the user is now located at work, the contact management service  102  determines that the “Work” contact group should be displayed to the user. 
     While the contact management service  102  may compare the user&#39;s current context with context information previously associated with each of the contact groups, the contact management service  102  may also dynamically determine context information associated with each of the contact groups for comparison with the user&#39;s current context. For example, the contact management service  102  may determine that the user is currently located at a park. The contact management service  102  may then dynamically determine that user contacts in a “family” contact group are also located in the park or are on their way to the park. This context information may not be previously associated with the “family” contact group as the picnic may be a recently planned event. The contact management service  102  may thus dynamically determine that the “family” contact group corresponds to the user&#39;s current context and generate a display in which the “family” contact group is presented to user based on the user&#39;s current context. 
     In some embodiments, more than one contact group may correspond to the user&#39;s current context. In this case, the contact management service  102  may prioritize the identified contact groups based on one or more additional criteria. Such criteria may be predetermined by the service  102  or provided by the user of the telecommunications device. In one example, location based context information may be prioritized over date and time based context information. In another example, user provided context information, such as an “at work” designation, may be prioritized over any real time context information. 
     After identifying a contact group based on a user&#39;s current context, the contact management service  102  generates a display in which the identified contact group is presented. Illustrative user interfaces for displaying a contact group from the subset of user contacts based on a user&#39;s current context are provided in  FIGS. 5A-5B  and  FIG. 6B  and will be described further below. In an illustrative embodiment, the contact management service  102  may generate a contact display in which only the identified contact group is presented. Alternatively, the contact display may include other contacts or contact groups, but the identified contact group based on the user&#39;s current context may be otherwise emphasized. For example, the identified contact group may be presented on the display with an associated contact group identifier, while other contacts or contact groups are not. In another example, the identified contact group may be more prominently displayed in comparison to other contacts or contact groups. In yet another example, each of the contacts in the identified contact group may be emphasized, such as through highlighting, increased dimensions of corresponding graphical identifiers, and the like, as compared to other displayed contacts or contact groups. After the contact management service  102  generates the contact display based on the user&#39;s current context, the routine  300  ends at block  314 . 
     It will be appreciated by those skilled in the art and others that the determination at block  304  is optional in some embodiments. For example, the routine  300  may be implemented without determining members of each of the contact groups based on context information at block  306 . Alternatively, the routine  300  may be implemented only where the contact groups are created based on context information and thus, in this case, blocks  308  and  310  may be omitted. It will also be appreciated by one skilled in the art and others that the functionality at block  310  may also be optional. For example, in some embodiments, the contact management service  102  alternatively dynamically determines context information associated with each contact groups. 
     With reference now to  FIGS. 4A-4B , illustrative user interfaces generated on a telecommunications device for presenting information associated with a user contact for editing will be described. The user interfaces illustrated in  FIGS. 4A-4B  correspond to displays generated on a display screen  400  corresponding to an output device  214  ( FIG. 2 ). One skilled in the relevant art will appreciate that the screen displays are illustrative in nature and should not be construed as limiting. 
     With reference to  FIG. 4A , one embodiment of a user interface generated on the telecommunications device  112  for facilitating user selection of contact groups will be described. In this embodiment, the user interface corresponds to a display screen  400  that includes a display  402  for displaying a contact information record associated with a first contact of the telecommunications device user. The contact information record includes a plurality of display objects  406 ,  408 ,  410  for identifying characteristics associated with the first contact, such as an image, a name, and a contact number, respectively. The contact information record further includes a display object  412  which identifies that the first contact as a member of a subset of contacts. In this example, the subset of contacts corresponds to a “favorites” subset of contacts. Display object  412  can also be selectable to add or remove the first contact as a member of the “favorites” subset. For contacts that are members of the “favorites” subset of contacts, the contact information record further includes a display object  414  which identifies contact groups to which the contact also belong. In this example, the first contact is associated with “work” and “basketball” contact groups. The contact information record also includes a display object  416  which is selectable for adding and/or otherwise editing the contact groups to which the first contact belongs. 
     With reference now to  FIG. 4B , another embodiment of a user interface generated on the telecommunications device  112  for facilitating user selection of contact groups will be described. In this embodiment, the user interface corresponds to a display screen  400  that includes a display  432  provided in response to selection of the display object  416  in the display  402  of  FIG. 4A  for adding and/or otherwise editing the contact groups to which the first contact belongs. Display  432  in  FIG. 4B  provides various contact groups to which the first contact may belong. As shown in the illustrative embodiment in  FIG. 4B , the contact groups can include a family contact group  436 , a work contact group  438 , a basketball contact group  440 , and a commuting contact group  442 . In accordance with the prior example, the first contact is currently identified as belonging to the “work” and “basketball” contact groups. Each of the contact groups identified in the display  432  can be selected to include the first contact as a member or deselected to remove the first contact as a member of the respective contact group. The display  432  also includes a display object  434  for selecting the first contact to be a member of all contact groups associated with the “favorites” subset of contacts. Additionally, the display  432  includes a display object  444  for facilitating the creation of a new contact group by the user of the telecommunications device  112 . 
     With reference now to  FIGS. 5A-5B , illustrative user interfaces generated on a telecommunication device for presenting a first contact group based on a current context of a user of the telecommunications device will be described. One skilled in the relevant art will appreciate that the screen displays are illustrative in nature and should not be construed as limiting. With reference to  FIG. 5A , one embodiment of a user interface generated on the telecommunications device  112  for presenting a first contact group based on a current context of a user and for facilitating the selection of contacts associated with the first contact group will be described. In this embodiment, a display screen  500  includes a first portion  502  for displaying movement of a set of graphical identifiers about an axis external to the telecommunications device  112 . The graphical identifiers can be considered display objects  504  in which each display object corresponds to a specific contact. In this embodiment, the display objects  504  correspond to contacts that are members of a first contact group associated with a subset of user contacts. For example, the subset of user contacts may have been identified by the user as “favorites” or may be associated with a special service provider rate plan. In this example, the first contact group from this subset determined based on a user&#39;s current context is a “work” contact group. As the rotation of the display objects  504  is emulated, one display object is manipulated to be the focal point of the interface, as illustrated on display object  506 . Accordingly, the user can select the contact associated with the focal point display object  506 . The first portion  502  of the display screen  500  further includes a display object  508  corresponding to contact group identifier (e.g., a “Work” identifier). Additionally, a control  510  is further presented in the display screen  500  and can be manipulated to identify and select other contact groups from the subset of user contacts for display. Depending on the capabilities of the telecommunication device  112 , other display objects may also be selectable. 
     With reference to  FIG. 5B , another embodiment of a user interface generated on the telecommunications device  112  for presenting a first contact group based on a current context of a user and for facilitating the selection of contacts associated with the first contact group will be described. In this embodiment, a display screen  500  includes a first portion  530  for displaying movement of a set of graphical identifiers about an axis. The graphical identifiers can be considered display objects  532  in which each display object corresponds to a specific contact. In this embodiment, the display objects  532  correspond to contacts that are members of a first contact group associated with a subset of user contacts. For example, the subset of user contacts may have been identified by the user as “favorites” or may be associated with a special service provider rate plan. In this example, the first contact group from this subset determined based on a user&#39;s current context is a “work” contact group. As the rotation of the display objects  532  is emulated, a user can select any of the display objects  532 . Alternatively, the size and formatting of one or more of the display objects  632  may also be varied to facilitate focus on a particular display object  632 . The first portion  530  of the display screen  500  further includes a display object  508  corresponding to contact group identifier (e.g., a “Work” identifier). Additionally, a control  510  is further presented in the display screen  500  and can be manipulated to identify and select other contact groups from the subset of user contacts for display. Depending on the capabilities of the telecommunication device  112 , other display objects may also be selectable. 
     With reference now to  FIGS. 6A-6B , yet another embodiment of an illustrative user interface generated on a telecommunication device for presenting a first contact group based on a current context of a user of the telecommunications device will be described. In particular, in this embodiment, as will be described further below, the illustrative user interface as shown in  FIG. 6B  presents a first contact group based on a current context of a user. Additionally, the user interface also displays one or more contacts not included in the first contact group. One skilled in the relevant art will appreciate that the screen display as shown in  FIG. 6B  is illustrative in nature and should not be construed as limiting. 
     With reference to  FIG. 6A , a diagram  600  illustrating a logical association of contacts into a plurality of contact groups will first be described. The diagram  600  illustrates a subset of user contacts  604 ,  614 ,  624 . These contacts  604 ,  614 ,  624  are further distinguished by a plurality of contact groups  602 ,  612 ,  622 . In particular, contacts  604  are associated with a first contact group  602 . In this example, the first contact group is a “family” contact group and is thus associated with “Family” contact group identifier  628 . Contacts  612  are associated with a second contact group  612 . In this example, the second contact group is a “commuting” contact group and is thus associated with “Commuting” contact group identifier  630 . Finally, contacts  622  are associated with a third contact group  622 . In this example, the third contact group is a “work” contact group and is thus associated with “Work” contact group identifier  632 . The diagram  600  also includes a number of contact group dividers  658  for logically identifying and further displaying how the contacts  604 ,  630 ,  632  are divided into contact groups. Accordingly, a first of the dividers  658  separates the “Family” contacts  604  from the “Commuting” contacts  614 , while a second of the dividers  658  separates the “Commuting” contacts  614  from the “Work” contacts  624 . As similarly mentioned above, an individual contact may belong to more than one contact group. Alternatively, each contact may be limited to inclusion in a single contact group. 
     With reference to  FIG. 6B , another embodiment of a user interface generated on the telecommunications device  112  for presenting a first contact group based on a current context of a user will be described. In this embodiment, a display screen  652  includes a first portion  654  for displaying movement of a set of graphical identifiers about an axis external to the telecommunications device  112 . The graphical identifiers can be considered display objects  614 ,  624  in which each display object corresponds to a specific contact. In this embodiment, the display screen  652  presents a contact group identified based on a current context of a user in a second portion  662  of the display. Additionally, the identified contact group is displayed with an associated identifier  622 . Continuing with the prior example discussed above with respect to  FIG. 6A , the identified contact group may be a “Work” contact group. Accordingly, contacts  624  from the “Work” contact group  622  are displayed on the display screen  652  in  FIG. 6B  with a “Work” identifier  632 . 
     In one embodiment, while the “Work” contact group is identified and displayed based on the user&#39;s current context, other contacts from different contact groups may be simultaneously presented on the display screen  652 . Accordingly, the “Work” contact group may be presented to a user of the telecommunications device as the contact group of relevance (i.e., the contact group identified based on the user&#39;s current context) in accordance with a number of methodologies, such as by providing a contact group identifier for only the identified contact group, prominently displaying only contacts from the identified contact group, providing any other emphasis for only those contacts in the identified contact group, and the like. In the current example, while one of the contacts  614  from the “Commuting” contact group ( FIG. 6A ) is presented in another portion  664  of the display screen  652 , the identified contact group (i.e., the “Work” contact group) is associated with a “Work” contact group identifier  632  to provide the user with an indication that the “Work” contact group is the contact group selected based on the user&#39;s current context. Additionally, controls  660  are further presented in the display screen  652  and can be manipulated to emulate rotation of the contact groups in order to identify and select other contacts from different contact groups. The display screen  652  further includes divider display objects  658  for delineation between contacts in different contact groups. The divider display objects  658  also emulate rotation together with the contacts about the axis external to the display. 
     With reference now to  FIGS. 7A-7B , illustrative user interfaces generated on a telecommunication device for presenting contacts included in a subset of contacts with one or more divider display objects will be described. In particular, in one embodiment, as will be described further below, contacts groups formed from the subset of user contacts in any manner can be displayed in a user interface with divider display objects to delineate one contact group from another. Additionally, in another embodiment, the contact groups may be created using divider display objects. One skilled in the relevant art will appreciate that the screen displays presented in  FIGS. 7A-7B  are illustrative in nature and should not be construed as limiting. 
     With reference now to  FIG. 7A , one embodiment of a user interface generated on the telecommunications device  112  for presenting contact groups formed from a subset of user contacts will be described. This embodiment is virtually identical to the user interface described in reference to  FIG. 6B  with a few exceptions. First, the embodiments associated with the user interfaces depicted in  FIGS. 7A-7B  do not require that the contact groups be selected based on context information. Instead, the contact groups may be formed in any manner. Moreover, as will be described further in reference to  FIG. 7B , the contact groups may be formed by a user by adding divider display objects between contacts on a display. Additionally, the contact groups may be modified by a user by moving divider display objects between different contacts on the display. Second, the displays presented in the illustrative user interfaces depicted in  FIGS. 7A-7B  are not generated in response to or based on a user&#39;s current context. Instead, the user interfaces may be presented to a user at any time. In one embodiment, the user interfaces may be presented automatically on a home page, a start screen, or an idle screen; upon selection by a user of the telecommunications device; and the like. 
     With further reference to  FIG. 7A , in one embodiment, a display screen  700  includes a first portion  702  for displaying movement of a set of graphical identifiers about an axis external to the telecommunications device  112 . The graphical identifiers can be considered display objects  722  and  724  in which each display object corresponds to a specific contact. In this embodiment, the display screen  700  further includes at least one divider display object  704  for delineation between contacts in different contact groups. Specifically, in the example illustrated in  FIG. 7A , the divider display object  704  partitions display objects  722  from display objects  724 . Accordingly, display objects  722  are included in a first contact group, while display objects  724  are included a second contact group. In one embodiment, the at least one divider display object  704  can also be moveable together with the contacts to emulate rotation about the axis external to the display. Accordingly, additional contacts from the subset of contacts and/or additional divider display objects (and thus additional contact groups) may come into view on the display screen  700  in response to a number of various different types of user inputs. For example, in one illustrative embodiment, controls  712  are presented in the display screen  700  and can be manipulated to emulate rotation of the contact groups and divider display objects in order to identify and select other contacts from different contact groups. 
     With reference now to  FIG. 7B , one embodiment of a user interface generated on the telecommunications device  112  for creating and/or modifying contact groups using divider display objects will be described. The user interface depicted in  FIG. 7B  is virtually identical to the user interface described in reference to  FIG. 7A  with a few exceptions. First, the divider display object  704  is selected as indicated by a selection display object  726 . The divider display object  704  may be selected in a number of ways to cause the divider display object to be presented together with the selection display object on the display screen  700 . As set forth above, display objects, including the divider display object  704 , may be selectable by a user via any one of a variety of input methods and devices. Examples include, but are not limited to, touch screen interfaces, specialized keys, stylus or other input devices, software based menus, voice commands, and the like. In one embodiment, the divider display object  704  may be selectable by a user in such a way that a divider display object is added to the display screen  700  where there was previously no divider display object, such as in response to an add divider input. In another embodiment, a user may select a divider display object already presented on the display screen  700 , such as by touching a displayed divider display object  704 , to modify the contact groups delineated by the divider display objects. The user interface depicted in  FIG. 7B  is illustrative of a display screen  700  which may be presented to a user of the telecommunication device in response to any of the foregoing described selection inputs associated with the divider display object. 
     As further illustrated in  FIG. 7B , in one embodiment, the display screen  700  may also include controls  714  which can be manipulated by a user to cause the divider display object  704  to be positioned between different contacts on the display. In this way, contact groups may be modified based on the repositioning of the divider display object between different contacts from the subset of user contacts. In one embodiment, manipulation of the controls may cause the divider display object to move on the display screen  700  relative to the displayed contacts in the subset of contacts. In addition or alternatively, manipulation of the controls may cause the display objects associated with the contacts to move on the display relative to the divider display object  704 . In either case or combination, as controls  714  are manipulated, other contacts in the subset of user contacts and/or other divider display objects may be presented on the display, while some of the previously presented contacts and/or divider display objects may appear to rotate off the display screen  700 . Once the divider display object  704  is repositioned, new contact groups are formed. 
     In another embodiment, the display objects  722 ,  724  which are associated with the user contacts may be individually selectable and moveable to reposition the selected display object in a different contact group. In this embodiment, movement of a display object from the portion  706  on the display screen  700  (on the right side of the divider display object  704 ), for example, to the portion  708  on the display screen  700  (on the left side of the divider display object) causes the moved display object to become a member of a different contact group. 
     In yet another embodiment, contact groups, at least a part of which are displayed in the display screen  700 , may be modified based on deleting a divider display object  704 . In one example, selection of the divider display object  704  illustrated in  FIG. 7B  may facilitate selection of additional actions, such as a delete divider action, provided by a user of the telecommunications device. 
     In a still further embodiment, upon addition of a first divider display object between contacts in the subset, the contact management service  102  may automatically generate one or more additional dividers to further define the group, or groups, formed by the insertion of the first divider display object. Specifically, the contact management service  102  can automatically generate a start divider display object, an end divider display object, or both in addition to the requested divider display object. This embodiment may be particularly applicable to embodiments in which the subset of contacts emulate rotation about an axis external to the telecommunications device display. By way of example, assume the contact management service  102  displays a subset of contacts that emulate rotation about an axis. In one aspect, the user may want to be able to visually distinguish between the first and last contact in the subset (or a start and an end of the subset). Accordingly, the contact management service  102  can automatically add a display object (e.g., a start or end divider) adjacent to contacts in a first and/or last logical position, respectively, in the subset. Accordingly, in the embodiment in which the subset of contacts emulate rotation about the external axis, the start and/or end divider display object provides the user with an indication that the user has cycled through to the first and/or last contact in the subset. 
     In one embodiment, start and/or end divider display objects may be automatically generated and displayed in response to a user&#39;s request to add a first divider display object. In another embodiment, the contact management service  102  may always initially generate a start and/or end divider display object for display with the subset of contacts without requiring user input. 
     In yet another embodiment, the contact management service  102  may provide additional functionality so that a user can cause the display to scroll immediately to the next divider positioned between contacts. In particular, the contact management service  102  may be able to immediately cause a next divider display object (previously positioned between contacts) and at least one contact adjacent to the next divider display object to be presented on the telecommunications device display in response to a user input. In this way, rather than displaying each contact from the subset in sequence via emulated rotation of the contacts, the contact management service  102  can bypass display of select contacts in the sequence (and which are not currently of interest to the user) by immediately advancing the display to a next divider display object in response to a user input. Accordingly, the contact management service  102  can advance the contacts displayed in increments defined by the positioning of the divider display objects. 
     In any of the foregoing embodiments, rather than the display objects  722 ,  724  corresponding exclusively to contacts from a subset of contacts, the display objects  722 ,  724  can correspond to individual contacts, groups of contacts each represented by a single graphical identifier, applications, other executable components, or any combination thereof, determined from a larger set. For example, instead of creating contact groups within a user&#39;s favorite set of contacts (which is a subset of all of the user&#39;s contacts), a user may create a favorite set of applications or a favorite set of executable components from which groups may be created, modified, and displayed using the divider display object  704  as described above. 
     Additionally, rather than being exclusively applicable to user contacts, any of the other foregoing embodiments, such as those described in reference to  FIGS. 3-6B , may be equally applicable to individual contacts, groups of contacts each represented by a single graphical identifier, applications, other executable components, or any combination thereof, determined from a larger set. 
     All of the processes described herein may be embodied in, and fully automated via, software code modules executed by one or more general purpose computers or processors. The code modules may be stored in any type of computer-readable medium or other computer storage device. Some or all the methods may alternatively be embodied in specialized computer hardware. In addition, the components referred to herein may be implemented in hardware, software, firmware or a combination thereof. 
     Conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment. 
     Any process descriptions, elements, or blocks in the flow diagrams described herein and/or depicted in the attached figures should be understood as potentially representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. Alternate implementations are included within the scope of the embodiments described herein in which elements or functions may be deleted, executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those skilled in the art. 
     It should be emphasized that many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.