Embodiments of the inventive subject matter generally relate to the field of computing devices, and more particularly to contact lists stored within mobile computing devices.
Many computing devices allow users to store a contact list, where the contact list contains names, telephone numbers, addresses, email addresses, etc. of a user's contacts. Many contact lists are organized by the name of the contact. Typically, a user can open an address book or contact list and scroll through the contact entries. Upon coming to a desired entry, a user may typically access the entry by selecting the entry. When the entry is selected, the contact's information is displayed as data fields, such as telephone number, address, email address, etc. Typically, a user may then make a call, send a short message service (SMS or text) message, email, etc. to the contact by selecting the appropriate data field from within the contact's information.
Often times, users wish to share information from their contact list with another person. This is frequently done via short message service (SMS or text) message, multimedia messaging service (MMS), email, etc. Most mobile devices allow a user to share an entire contact entry (including all phone numbers, email addresses, alternate names for the contact, etc.). If a user wishes to share only some data fields associated with a contact, the process is more complex. To share limited contact information, a user may open their address book or contact list on their mobile device, find the desired contact, select the desired contact from the list which will display the contact's information, select the desired data fields to share by copying the desired information, return to the message, paste the contact information in the message, repeat the process to add additional information, and finally send the contact information.
Some embodiments of the inventive subject matter may include a method for sharing one or more data fields from within a contact in a contact list on an electronic computing device. The method can include receiving first user input requesting retrieval of the contact in the contact list. The method can include retrieving the contact in response to the user input. The method can include determining that the contact contains data fields, wherein the data fields include contact information for the contact. The method can include presenting one or more graphical user interface (GUI) controls for selecting at least one of the data fields within the contact. The method can include receiving, via the one or more GUI controls, second user input indicating selection of one or more of the data fields. The method can include sharing the one or more data fields associated with the contact.
The present embodiments may be better understood, and numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
a depicts an electronic computing device 302 presenting a contact list 306.
b depicts an electronic computing device 308 presenting multiple data fields 314 for a contact 310 from the contact list 312.
a depicts an electronic computing device 502 presenting multiple data fields 504 for a contact 506 from the contact list 508 and an option to share 510 contact information.
b depicts an electronic computing device 512 presenting a contact list 520 from which a user 524 may share contact information.
The description that follows includes exemplary systems, methods, techniques, instruction sequences and computer program products that embody techniques of the present inventive subject matter. However, it is understood that the described embodiments may be practiced without these specific details. For instance, although examples refer to selecting a specific phone number or email address, or sharing contact information with other users via a mobile phone, the same techniques can be employed with any computing device suitable to storing contact information. In other instances, well-known instruction instances, protocols, structures and techniques have not been shown in detail in order not to obfuscate the description.
Many users may have multiple data fields for each contact. For example, a user may have a home phone number, a mobile phone number, a work phone number, a personal email address, a work email address, etc. for a contact. To access these data fields and select the desired phone number at which to reach a contact, a user may have to scroll through a contact list (e.g., an address book), then select the desired contact to view the multiple data fields, and initiate communication by selecting one of the data fields. Embodiments of the inventive subject matter streamline this process by allowing a user to select a desired data field from the contact listing in the contact list. For example, in one embodiment that utilizes a touchscreen device, an address book may contain a plurality of soft buttons in the same row as each contact's name. The buttons allow the user to select between a plurality of phone numbers, email addresses, etc. for each contact without first selecting the contact entry in the address book. Hence, some embodiments enable the user to more quickly and efficiently initiate communications.
In other embodiments, the inventive subject matter may allow a user to utilize soft buttons to share portions of a contact's information. For example, a user may want to share a contact's information (e.g., a phone number) with a mutual friend. Embodiments allow the user to activate soft buttons to choose a portion of the contact information to share (e.g., phone number). In turn, embodiments can automatically send the selected contact information via a text message (e.g., Short Message Service Message). The following discussion of
The following discussion will describe operations performed by some embodiments.
At block 204, the electronic computing device determines the contact relevant to the user's input. For example, if the user inputs the letters “‘D’ and ‘A,’” the electronic computing device may search the address book for contact names containing the combination “DA” (i.e. Dan, Dana, Danielle, etc.). The flow continues at block 206.
At block 206, the electronic computing device determines whether there are more than one data fields associated with the relevant contact. For example, the contact may contain data fields for multiple phone numbers, email addresses, physical addresses, etc. if the contact contains more than one data field, the flow continues at block 208. Otherwise the flow continues at block 210.
At block 208, the electronic computing device presents options allowing the user to select data fields to share. In some embodiments, the electronic computing device may present the options in the form of soft buttons, check boxes, or some other suitable selection element. The flow continues at block 212.
At block 212, the electronic computing device receives input from the user as to which of the contact data fields to share. The flow continues at block 214.
At block 214, the electronic computing device shares the selected data fields of the contact. In some embodiments, the computing device shares the contact's data fields by short message service (SMS or text) message, multimedia messaging service (MMS) message, email, etc. In some embodiments, the contact's data fields may be shared over a cellular telephone network, a local area network, a wide area network, a near field communication network, Bluetooth, etc.
After performing the operation at block 206, the “no” path leads to block 210. Therefore, after determining there is not more than one data field associated with the contact, the electronic computing device presents the relevant contact for the user to share. From block 210, the flow continues at block 214 (see above).
This discussion will proceed with a description additional embodiments that enable users to share contact information.
a depicts an electronic computing device 302 presenting a contact list 306. The user can select an individual contact 304 to view and to access the contact's data field(s). Sonic embodiments of the inventive subject matter augment user contact lists 306 by enabling users to select which contact information they want to share.
b depicts an electronic computing device 308 presenting multiple data fields 314 for a contact 310 from a contact list 312. In one embodiment, the electronic computing device 308 displays a user's contact list, displaying individual contacts 310 and a plurality of soft buttons 314 which may allow a user to access the data fields within the contact 310 without first selecting the individual contact 310. As shown in
This discussion continues by describing operations for enabling a user to select between multiple data fields in a contact list.
At block 404, the electronic computing device determines a graphical user interface (GUI) control (e.g., a soft button) for each contact data field. In some embodiments, the electronic computing device may populate soft buttons for each data field stored within a contact. In other embodiments, the electronic computing device may only populate soft buttons for predefined data fields. For example, the electronic computing device may be preconfigured to populate soft buttons only for a home phone number, mobile phone number, and work phone number. Further, in other embodiments, the user may be able to select the data fields from within a contact for which the electronic computing device will populate soft buttons. For example, a user could instruct the electronic computing device to populate soft buttons for a cell phone number and a personal email address for every contact in the contact list. Alternatively, a user could select specific data fields for which the electronic computing device would populate soft buttons for each contact. For example, the user might instruct the electronic computing device to populate soft buttons for a work phone number and a work email address for Contact X, and a home phone number, mobile phone number, and personal email address for Contact Y. The now continues at block 406.
At block 406, the electronic computing device presents the contact list or address book containing the soft buttons populated in block 404. In some instances, there may be a plurality of contacts having the same name. In such instances, the name identifier appearing on the display device may be accompanied by further information distinguishing between the contacts. The flow continues at block 408.
A block 408, the electronic computing device receives selection of a contact data field from a user. As noted above (see discussion of
At block 410, the electronic computing device transmits communication using information from the selected data field. For example, pressing a soft button associated with a contact's home phone number data field may initiate a phone call to the contact's home phone number.
This discussion continues with a description of a computing device that may be used in some embodiments of the inventive subject matter.
a depicts an electronic computing device 502 presenting multiple data fields 504 for a contact 506 from the contact list 508 and an option to share 510 contact information. As discussed in
b depicts an electronic computing device 512 presenting a contact list 520 from which a user 524 may share contact information. In
In
As will be appreciated by one skilled in the art, aspects of the present inventive subject matter may be embodied as a system, method or computer program product. Accordingly, aspects of the present inventive subject matter may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system,” Furthermore, aspects of the present inventive subject matter may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including hut not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present inventive subject matter may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present inventive subject matter are described with reference to flowchart illustrations (e.g., see
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
While the embodiments are described with reference to various implementations and exploitations, it will be understood that these embodiments are illustrative and that the scope of the inventive subject matter is not limited to them. In general, techniques for sharing contact information as described herein may be implemented with facilities consistent with any hardware system or hardware systems. Many variations, modifications, additions, and improvements are possible.
Plural instances may be provided for components, operations or structures described herein as a single instance. Finally, boundaries between various components, operations and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and ma fall within the scope of the inventive subject matter, in general, structures and functionality presented as separate components in the exemplary configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements may fall within the scope of the inventive subject matter.