Composite user interface and framework
AssigneeMicrosoft Corporation
InventorsMelissa W Dunn, Stephen J Mooney
Life of this patent
Estimating the term…
Abstract
Computer-implemented methods of processing contact records are provided. A user may merge and unmerge contact records to control which records are synchronized with each other. Identity claims of records may be compared to identify possible duplicate records. Identity claims may include addresses, phone numbers, instant messenger addresses or other contact data that is likely to be uniquely associated with a contact. When possible duplicate contact records are found, a dialog box is displayed that identifies the possible duplicate records and includes an option for merging the possible duplicate contact records.
Claims19
A method for managing contact records at a host computing device, where each contact record represents a single individual person and comprises contact fields for information about that person including a name field, one or more phone number fields, and address or email fields, the method comprising:
- executing on the host computing device a contacts synchronization system, the contacts synchronization system configured to allow devices storing contact records to connect with the host computing device and synchronize the contact records thereon with a data store on the host computing device, the contacts synchronization system storing a first set comprised of contact records, or links thereto, received from a first device that synchronized with the contacts synchronization system, and storing a second set comprised of contact records, or links thereto, received from a second device that synchronized with the contacts synchronization system;
- forming composite contact records from the first and second sets of contact records and storing the composite contact records in the data store, wherein a composite contact record comprises a composition of contact fields in a first contact record in the first set and contact fields in a second contact record in the second set, the first and second contact records both storing contact information about a same person, and storing information linking the composite contact record with the first and second contact records;
- displaying the composite contact record including its contact fields in a display area including a user interface element that allows a user to choose either the first or second device as a current selection, where when one of the devices is selected as the current selection, contact fields of the corresponding contact record are displayed with an appearance that distinguishes them from displayed contact fields corresponding to the unselected device, receiving user edits entered via the display area and modifying and storing the composite contact record accordingly, where the composite contact record is maintained such that user edits to contact fields common to the first and second contact records are propagated from the composite contact record to the first and second computing devices upon synchronization thereof with the contacts synchronization system, and user edits to contact fields in the composite record from the first contact record but not from the second contact record are propagated from the composite contact record upon synchronization to the first computing device but not the second computing device.
A computing device configured to be capable of performing a process and having thereon a contact synchronization system for synchronizing contact records between the computing device and other computing devices, where each contact record represents a single individual person and comprises contact fields for information about that person including a name field, one or more phone number fields, and address or email fields, the process comprising:
- receiving a first contact record from a first computing device, the first contact record comprising first contact information about a specific person, the first contact record being received responsive to the first computing device synchronizing with the contact synchronization system;
- receiving a second contact record from a second computing device, the second contact record comprising second contact information about the specific person, the second contact record being received responsive to the second computing device synchronizing with the contact synchronization system;
- displaying a composition of the first contact information and the second contact information that includes one or more contact fields that are unique to the first contact record, one or more contact fields that are unique to the second contact record, and contact fields that are common to the first and second contact records;
- and
- displaying the composition to allow a user to edit the composition such that changes to the one or more contact fields that are unique to the first contact record are synchronized to the first contact record on the first computing device when the first computing device is next synchronized with the contacts synchronization system, and changes to the one or more contact fields that are common to the first and second contact records are synchronized to both the first and second computing devices when they are next synchronized with the contact synchronization system.
One or more computer readable storage storing information to enable a host computing device to be capable of performing a process of managing contact records corresponding to a plurality of computing devices, the process being performed by a contacts synchronization system executing on the host computing device, the contacts synchronization system configured to allow devices storing contact records to connect with the host computing device and synchronize the contact records thereon with a data store on the host computing device, where each contact record represents a single individual person and comprises contact fields for information about that person including a name field, one or more phone number fields, address fields, and one or more email fields, the process comprising:
- storing, by the contacts synchronization system on the host computing device, a first plurality of contact records or links thereto received from a first computing device when the first computing device synchronized with the contacts synchronization system, where a first contact record in the first plurality of contact records comprises a first set of contact fields containing contact information for a specific person;
- storing, by the contacts synchronization system on the host computing device, a second plurality of contact records or links thereto received from a second computing device when the second computing device synchronized with the contacts synchronization system, where a second contact record in the first plurality of contact records comprises a second set of contact fields containing contact information for the specific person, where the second set of contact fields has a first-device-specific contact field containing contact information for the specific person that is not included in the first plurality of contact fields, where the first set of contact information has a second-device-specific contact field containing contact information for the specific person that is not included in the second plurality of contact fields, and where the first and second set of contact fields both have a common contact field containing same contact information about the specific person;
- generating a plurality of composite contact records by linking contact records in the first plurality of contact records with corresponding contact records in the second plurality of contact records, including generating a composite contact record of the specific person that includes the first-device-specific contact field, the second-device-specific contact field, and the common contact field;
- receiving user input identifying the first computing device or the second computing device;
- and
- responsive to receiving the input, displaying the composite contact record based on which of the computing devices was identified by the user input, including displaying the first-device-specific contact field, the second-device-specific contact field, and the common contact field.
Dependencies are inferred from the claim text.