An example embodiment of the invention relates generally to user interface technology and, more particularly, relates to a method, apparatus, and computer program product for providing a user-friendly and efficient manner in which to determine commonly shared friends of individuals using communication devices.
The modern communications era has brought about a tremendous expansion of wireline and wireless networks. Computer networks, television networks, and telephony networks are experiencing an unprecedented technological expansion, fueled by consumer demand. Wireless and mobile networking technologies have addressed related consumer demands, while providing more flexibility and immediacy of information transfer.
Current and future networking technologies continue to facilitate ease of information transfer and convenience to users. Due to the now ubiquitous nature of electronic communication devices, people of all ages and education levels are utilizing electronic devices to communicate with other individuals or contacts, receive services and/or share information, media and other content. One area in which there is a demand to increase convenience to users relates to improving a user's ability to effectively interface with the user's communication device. Accordingly, numerous user interface mechanisms have been developed to attempt to enable a user to more easily accomplish tasks or otherwise improve the user's experience in using the device.
In this regard, some users may have a preference for use of a touch screen display for entry of user interface commands or simply creating content over other alternatives. In recognition of the utility and popularity of touch screen displays, many devices, including some mobile terminals, now employ touch screen displays. As such, touch screen devices are relatively well known with numerous different technologies being employed for sensing a particular point at which an object may contact the touch screen display.
A user's experience during certain applications such as, for example, web browsing or applications that enable provision of social network services may be enhanced by using a touch screen display as the user interface. For instance, users of social network services may utilize user interfaces such as touch screen devices to create profiles, upload and share photos, list personal interests, contact information and other personal information, identify and connect with any number of friends and other users as well as perform a number of other functions. Currently, there are multiple social network services available and accessible to users of communication devices such as, for example, Facebook™, Twitter™, MySpace™, LinkedIn™, etc. These social network services typically have millions of users.
Given the popularity of various social network services and that these social network services enable identification of users' friends and handle communications between friends for millions of users, it may be beneficial to provide a more user-friendly manner in which to efficiently determine shared friends of individuals based on information from one or more social network services.
In this regard, it may be desirable to provide a touch screen device with user interface commands that provides a user-friendly and efficient manner in which to determine common friends of individuals.
A method, apparatus and computer program product are therefore provided for generating a user-friendly, efficient and reliable manner in which to determine common friends of individuals. An example embodiment may enable capture, receiving, downloading or viewing of one or more images and/or videos. One or more faces of persons in the images or videos may be tagged. The faces of the persons may be tagged in part based on a selection by a user utilizing a communication device. Alternatively, the communication device may automatically tag one or more faces in an image(s) or video(s).
In response to receipt of a selection of one or more tagged faces in an image/video, the communication device may generate a message that is sent to one or more network devices providing social network services. The message may include data requesting the one or more network devices to determine any friends that at least two individuals share in common. In one example embodiment, the two individuals may correspond to two different tagged faces of the image/video that may be selected by a user. In another example embodiment, one of the two individuals may correspond to a tagged face that is selected from the image/video and the other individual may correspond to a user of the communication device.
In an instance in which the network devices providing the social network services determines that that there are common friends shared by the individuals, the network devices may provide this information to the communication device. The information may include visible indicia denoting the commonly shared friends. For example, the visible indicia may include, but is not limited to, images of the shared friends, graphical elements corresponding to names of the shared friends, etc. The communication device may enable display of the visible indicia (e.g., images of the shared friends) superimposed on at least a portion of the image/video.
On the other hand, in an instance in which the network devices determine that there are no commonly shared friends between the individuals, the network devices may provide the communication device with information (e.g., visible indicia) identifying a shortest path relationship between the individuals. The shortest path relationship may relate to information identifying one or more persons in which the individuals may be indirectly connected. The communication device may enable display of the shortest path relationship (e.g., images of persons indirectly connecting the individuals) superimposed on a portion of the image/video.
In one example embodiment, a method for providing a user-friendly and efficient manner to determine one or more shared friends of individuals is provided. The method includes receiving an indication of a selection of at least one tagged face from an image and facilitating sending of a generated message to a device requesting identification of one or more commonly shared friends of at least two individuals in response to receipt of the selection of the tagged face. The tagged face corresponds to one of the individuals. The method further includes enabling, via a processor, provision of display of visible indicia. The visible indicia is superimposed on the image indicating whether the individuals have one or more commonly shared friends.
In another example embodiment, an apparatus for providing a user-friendly and efficient manner to determine one or more shared friends of individuals is provided. The apparatus may include a processor and a memory including computer program code. The memory and the computer program code are configured to, with the processor, cause the apparatus to at least perform operations including receiving an indication of a selection of at least one tagged face from an image and facilitate sending of a generated message to a device requesting identification of one or more commonly shared friends of at least two individuals in response to receipt of the selection of the tagged face. The tagged face corresponds to one of the individuals. The memory and the computer program code may further cause the apparatus to enable provision of display of visible indicia. The visible indicia is superimposed on the image indicating whether the individuals have one or more commonly shared friends.
In another example embodiment, a computer program product for providing a user-friendly and efficient manner to determine one or more shared friends of individuals is provided. The computer program product includes at least one computer-readable storage medium having computer-executable program code instructions stored therein. The computer executable program code instructions may include program code instructions configured to receive an indication of a selection of at least one tagged face from an image and facilitate sending of a generated message to a device requesting identification of one or more commonly shared friends of at least two individuals in response to receipt of the selection of the tagged face. The tagged face corresponds to one of the individuals. The program code instructions may also to enable provision of display of visible indicia. The visible indicia is superimposed on the image indicating whether the individuals have one or more commonly shared friends.
In another example embodiment, an apparatus for providing a user-friendly and efficient manner to determine one or more shared friends of individuals is provided. The apparatus includes means for receiving an indication of a selection of at least one tagged face from an image and means for facilitating sending of a generated message to a device requesting identification of one or more commonly shared friends of at least two individuals in response to receipt of the selection of the tagged face. The tagged face corresponds to one of the individuals. The apparatus also includes means for enabling provision of display of visible indicia. The visible indicia is superimposed on the image indicating whether the individuals have one or more commonly shared friends.
An embodiment of the invention may provide a better user experience given the ease and efficiency in determining one or more shared friends of individuals via a user interface. As a result, device users may enjoy improved capabilities with respect to applications and services accessible via the device.
Having thus described certain example embodiments of the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Some embodiments of the invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, various embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Like reference numerals refer to like elements throughout. As used herein, the terms “data,” “content,” “information” and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the invention. Moreover, the term “exemplary”, as used herein, is not provided to convey any qualitative assessment, but instead merely to convey an illustration of an example. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the invention.
Additionally, as used herein, the term ‘circuitry’ refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present. This definition of ‘circuitry’ applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term ‘circuitry’ also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware. As another example, the term ‘circuitry’ as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
As defined herein a “computer-readable storage medium,” which refers to a non-transitory, physical or tangible storage medium (e.g., volatile or non-volatile memory device), may be differentiated from a “computer-readable transmission medium,” which refers to an electromagnetic signal.
As referred to herein an “image(s)” may, but need not, be a two-dimensional or three dimensional picture, photograph, screen display or the like captured by a device (e.g., a camera module 36). A “video(s)” may, but need not, be a sequence of still images depicting one or more scenes that are in motion.
The mobile terminal 10 may be any of multiple types of mobile communication and/or computing devices such as, for example, portable digital assistants (PDAs), pagers, mobile televisions, mobile telephones, gaming devices, wearable devices, head mounted devices, laptop computers, cameras, camera phones, video recorders, audio/video players, radios, global positioning system (GPS) devices, or any combination of the aforementioned, and other types of voice and text communications systems. The network 30 may include a collection of various different nodes, devices or functions that may be in communication with each other via corresponding wired and/or wireless interfaces. As such, the illustration of
Although not necessary, in some embodiments, the network 30 may be capable of supporting communication in accordance with any one or more of a number of First-Generation (1G), Second-Generation (2G), 2.5G, Third-Generation (3G), 3.5G, 3.9G, Fourth-Generation (4G) mobile communication protocols, Long Term Evolution (LTE), LTE advanced (LTE-A) and/or the like. Thus, the network 30 may be a cellular network, a mobile network and/or a data network, such as a Local Area Network (LAN), a Metropolitan Area Network (MAN), and/or a Wide Area Network (WAN), e.g., the Internet. In turn, other devices such as processing elements (e.g., personal computers, server computers or the like) may be included in or coupled to the network 30. By directly or indirectly connecting the mobile terminal 10 and the other devices (e.g., service platform 20, or other mobile terminals or devices such as the communication device 15) to the network 30, the mobile terminal 10 and/or the other devices may be enabled to communicate with each other, for example, according to numerous communication protocols, to thereby carry out various communication or other functions of the mobile terminal 10 and the other devices, respectively. As such, the mobile terminal 10 and the other devices may be enabled to communicate with the network 30 and/or each other by any of numerous different access mechanisms. For example, mobile access mechanisms such as Wideband Code Division Multiple Access (W-CDMA), CDMA2000, Global System for Mobile communications (GSM), General Packet Radio Service (GPRS) and/or the like may be supported as well as wireless access mechanisms such as Wireless LAN (WLAN), Worldwide Interoperability for Microwave Access (WiMAX), WiFi, Ultra-Wide Band (UWB), Wibree techniques and/or the like and fixed access mechanisms such as Digital Subscriber Line (DSL), cable modems, Ethernet and/or the like.
In an example embodiment, the service platform 20 may be a device or node such as a server or other processing element. The service platform 20 may have any number of functions or associations with various services. As such, for example, the service platform 20 may be a platform such as a dedicated server (or server bank) associated with a particular information source or service (e.g., a service associated with sharing user interface settings), or the service platform 20 may be a backend server associated with one or more other functions or services. As such, the service platform 20 represents a potential host for a plurality of different services or information sources. In one embodiment, the functionality of the service platform 20 is provided by hardware (e.g., a processor, memory, etc.) and/or software components configured to operate in accordance with known techniques for the provision of information to users of communication devices. However, at least some of the functionality provided by the service platform 20 may be data processing and/or service provision functionality provided in accordance with an example embodiment of the invention. In one example embodiment of the invention, the service platform 20 may provide the mobile terminal 10 and/or the communication device 15 with information indicating one or more friends that individuals commonly share. In another example embodiment, the service platform 20 and/or the communication device 15 may provide the mobile terminal 10 with information indicating one or more friends that individuals commonly share.
In an example embodiment, the mobile terminal 10 may employ an apparatus (e.g., the apparatus of
Referring now to
The apparatus 40 may, in one embodiment, be a mobile terminal (e.g., mobile terminal 10) or a fixed communication device or computing device configured to employ an example embodiment of the invention. However, in one embodiment, the apparatus 40 may be embodied as a chip or chip set. In other words, the apparatus 40 may comprise one or more physical packages (e.g., chips) including materials, components and/or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, conservation of size, and/or limitation of electrical interaction for component circuitry included thereon. The apparatus 40 may therefore, in some cases, be configured to implement an embodiment of the invention on a single chip or as a single “system on a chip.” As such, in some cases, a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein. Additionally or alternatively, the chip or chipset may constitute means for enabling user interface navigation with respect to the functionalities and/or services described herein.
The processor 52 may be embodied in a number of different ways. For example, the processor 52 may be embodied as one or more of various processing means such as a coprocessor, microprocessor, a controller, a digital signal processor (DSP), processing circuitry with or without an accompanying DSP, or various other processing devices including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. In an example embodiment, the processor 52 may be configured to execute instructions stored in the memory device 58 or otherwise accessible to the processor 52. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 52 may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the invention while configured accordingly. Thus, for example, when the processor 52 is embodied as an ASIC, FPGA or the like, the processor 52 may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor 52 is embodied as an executor of software instructions, the instructions may specifically configure the processor 52 to perform the algorithms and operations described herein when the instructions are executed. However, in some cases, the processor 52 may be a processor of a specific device (e.g., a mobile terminal or network device) adapted for employing an embodiment of the invention by further configuration of the processor 52 by instructions for performing the algorithms and operations described herein. The processor 52 may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor 52.
In an example embodiment, the processor 52 may be configured to operate a connectivity program, such as a browser, Web browser or the like. In this regard, the connectivity program may enable the apparatus 40 to transmit and receive Web content, such as for example location-based content or any other suitable content, according to a Wireless Application Protocol (WAP), for example. It should be pointed out that the processor 52 may also be in communication with the touch screen display 50 and may instruct the display to illustrate any suitable information, data, content (e.g., media content) or the like.
Meanwhile, the communication interface 56 may be any means such as a device or circuitry embodied in either hardware, a computer program product, or a combination of hardware and software that is configured to receive and/or transmit data from/to a network and/or any other device or module in communication with the apparatus 40. In this regard, the communication interface 56 may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network (e.g., network 30). In fixed environments, the communication interface 56 may alternatively or also support wired communication. As such, the communication interface 56 may include a communication modem and/or other hardware/software for supporting communication via cable, Digital Subscriber Line (DSL), Universal Serial Bus (USB), Ethernet, High-Definition Multimedia Interface (HDMI) or other mechanisms. Furthermore, the communication interface 56 may include hardware and/or software for supporting communication mechanisms such as Bluetooth, Infrared, Ultra-Wideband (UWB), WiFi and/or the like.
The apparatus 40 may include a media capturing element, such as camera module 36. The camera module 36 may include a camera, video and/or audio module, in communication with the processor 52 and the touch screen display 50. The camera module 36 may be any means for capturing an image, video and/or audio for storage, display or transmission. For example, the camera module 36 may include a digital camera capable of forming a digital image file from a captured image. As such, the camera module 36 may include all hardware, such as a lens or other optical component(s), and software necessary for creating a digital image file from a captured image. Alternatively, the camera module 36 may include only the hardware needed to view an image, while a memory device (e.g., memory device 58) of the apparatus 40 stores instructions for execution by the processor 52 in the form of software necessary to create a digital image file from a captured image. In an example embodiment, the camera module 36 may further include a processing element such as a co-processor which assists the processor 52 in processing image data and an encoder and/or decoder for compressing and/or decompressing image data. The encoder and/or decoder may encode and/or decode according to a Joint Photographic Experts Group, (JPEG) standard format or another like format. In some cases, the camera module 36 may provide live image data to the touch screen display 50. In this regard, the camera module 36 may facilitate or provide a camera view to the touch screen display 50 to show live image data, still image data, video data, or any other suitable data. Moreover, in an example embodiment, the touch screen display 50 may be located on one side of the apparatus 40 and the camera module 36 may include a lens positioned on the opposite side of the apparatus 40 with respect to the touch screen display 50 to enable the camera module 36 to capture images on one side of the apparatus 40 and present a view of such images to the user positioned on the other side of the apparatus 40. In an example embodiment, the camera module 36 may capture images 7, 9, 23, 33, 43, and 81 of
The camera module 36 may include a feature extractor 38 that is capable of identifying and/or authenticating one or more persons from a digital image, video or the like. The feature extractor 38 may be embodied as any means such as a device or circuitry embodied in hardware, software or a combination of hardware and software that is configured to perform corresponding functions of the feature extractor 38. In this regard, the feature extractor 38 may detect facial features of persons in a digital image or video and may compare the detected facial features (e.g., eyes, nose, cheeks, jaws, etc.) to facial features stored in the feature extraction database 57. The facial features in the feature extraction database 57 may relate to detected facial features of one or more persons previously captured in one or more images or videos by the camera module 36. The facial features in the feature extraction database 57 may be associated with information that identifies a respective person whose facial features correspond to the facial features of the feature extraction database 57. The information identifying the respective person may be associated with corresponding facial features by tagging one or more persons in an image or video.
For instance, a user of the apparatus 40 may tag one or more persons in the images or videos by utilizing a finger, pointing device (e.g., stylus, pen, pencil, mouse, etc.), gaze, brain controlled input or the like to select a person's face in a respective image/video. In response to receipt of information indicating that a person in an image/video is selected, the processor 52 may capture facial features of the selected person which may be saved in the feature extraction database 57 and may generate and enable display of a prompt (e.g., text box) requesting the user to input information into the prompt about the selected person. In this regard, the user may input information in the prompt specifying a name of the selected person, an age of the selected person, a relationship (e.g., friend, relative, coworker, manager, etc.) to the selected person and any other suitable information and this information may be associated, by the processor 52, with the captured facial features and stored in the feature extraction database 57. It should be pointed out that when one or more persons are tagged in a respective image(s) or video(s) all or a portion of the identifying information input (e.g., a name) by the user of the apparatus 40 may be shown via the touch screen display 50. For example, when the image(s) or video(s) is being shown by the touch screen display 50, the processor 52 may enable display of the identifying information to be shown superimposed on the image/video related to the respective person(s).
The processor 52 may utilize the information in the feature extraction database 57 to determine whether facial features previously detected in an image(s) or video(s) captured or received by the apparatus 40 correspond to a particular person in a newly received/captured image(s) or video(s). For instance, the feature extractor 38 may identify a person's face by extracting features from an image(s) or video(s) of a respective person's face such as, for example, a size, position, shape of a nose, eyes, cheeks, jaw, etc. and may compare these extracted features to previously detected facial features in the feature extraction database 57. When the feature extractor 38 determines that there is a match between the extracted features and facial features in the feature extraction database 57, the feature extractor 38 may provide information to the processor 52 indicating that the extracted features match facial features in the feature extraction database 57. In this regard, the processor 52 may utilize the information indicating that the extracted features match the facial features in the feature extraction database 57 to determine that detected facial features in an image or video currently being examined corresponds to a respective person(s) previously detected in an image or video captured or received by the apparatus 40.
When the processor 52 determines that the extracted features match facial features in the feature extraction database 57, the processor 52 may automatically tag the respective person(s) detected in the image(s) or video(s) and may link the information input (e.g., name of the person, age of the person, relationship to the person, etc.) in the prompt by the user to the respective person(s) in the image(s) or video(s) such that the information is associated with the respective person(s). By automatically tagging a respective person(s) in a corresponding image(s) or video(s), which may be newly received or captured by the apparatus 40, all or a portion of the identifying information input (e.g., a name) by the user of the apparatus 40 may be shown via the touch screen display 50. For example, when the newly received or captured image(s) or video(s) is being shown by the display 50, the processor 50 may enable display of the identifying information to be shown superimposed on the image of the respective person(s).
The touch screen display 50 may be configured to enable touch recognition by any suitable technique, such as resistive, capacitive, infrared, strain gauge, surface wave, optical imaging, dispersive signal technology, acoustic pulse recognition, or other like techniques. The touch screen interface 54 may be in communication with the touch screen display 50 to receive indications of user inputs at the touch screen display 50 and to modify a response to such indications based on corresponding user actions that may be inferred or otherwise determined responsive to the indications. In this regard, the touch screen interface 54 may be any device or means embodied in either hardware, software, or a combination of hardware and software configured to perform the respective functions associated with the touch screen interface 54 as described below. In an example embodiment, the touch screen interface 54 may be embodied in software as instructions that are stored in the memory device 58 and executed by the processor 52. Alternatively, the touch screen interface 54 may be embodied as the processor 52 configured to perform the functions of the touch screen interface 54. Additionally, in an example embodiment, a screen of the touch screen display 50 may be controlled by moving a finger, pointing device or the like on top of the screen surface of the touch screen display 50 without actually touching the screen and different gestures may be used to select faces on images/videos.
The touch screen interface 54 may be configured to receive an indication of an input in the form of a touch event at the touch screen display 50. Following recognition of the touch event, the touch screen interface 54 may be configured to thereafter determine a stroke event or other input gesture and provide a corresponding indication on the touch screen display 50 based on the stroke event. In this regard, for example, the touch screen interface 54 may include a detector 60 to receive indications of user inputs in order to recognize and/or determine a touch event based on each input received at the detector 60.
In an example embodiment, one or more sensors (e.g., sensor 72) may be in communication with the detector 60. The sensors may be any of various devices or modules configured to sense one or more conditions. In this regard, for example, a condition(s) that may be monitored by the sensor 72 may include pressure (e.g., an amount of pressure exerted by a touch event) and any other suitable parameters.
A touch event may be defined as a detection of an object, such as a stylus, finger, pen, pencil or any other pointing device, coming into contact with a portion of the touch screen display in a manner sufficient to register as a touch. In this regard, for example, a touch event could be a detection of pressure on the screen of touch screen display 50 above a particular pressure threshold over a given area. Subsequent to each touch event, the touch screen interface 54 (e.g., via the detector 60) may be further configured to recognize and/or determine a corresponding stroke event or input gesture. A stroke event (which may also be referred to as an input gesture) may be defined as a touch event followed immediately by motion of the object initiating the touch event while the object remains in contact with the touch screen display 50. In other words, the stroke event or input gesture may be defined by motion following a touch event thereby forming a continuous, moving touch event defining a moving series of instantaneous touch positions. The stroke event or input gesture may represent a series of unbroken touch events, or in some cases a combination of separate touch events. For purposes of the description above, the term immediately should not necessarily be understood to correspond to a temporal limitation. Rather, the term immediately, while it may generally correspond to relatively short time after the touch event in many instances, instead is indicative of no intervening actions between the touch event and the motion of the object defining the touch positions while such object remains in contact with the touch screen display 50. In this regard, it should be pointed out that no intervening actions cause operation or function of the touch screen. However, in some instances in which a touch event that is held for a threshold period of time triggers a corresponding function, the term immediately may also have a temporal component associated in that the motion of the object causing the touch event must occur before the expiration of the threshold period of time.
In an example embodiment, the detector 60 may be configured to communicate detection information regarding the recognition or detection of a stroke event or input gesture as well as a selection of one or more items of data (e.g., images, text, graphical elements, etc.) to a social link module 78. In one embodiment, the social link module 78 (along with the detector 60) may be a portion of the touch screen interface 54. In an example embodiment, the touch screen interface 54 may be embodied by a processor, controller of the like. Furthermore, the detector 60 may each be embodied as any means such as a device or circuitry embodied in hardware, software or a combination of hardware and software that is configured to perform corresponding functions of the detector 60, respectively.
In an example embodiment, the processor 52 may be embodied as, include or otherwise control the social link module 78. The social link module 78 may be any means such as a device or circuitry operating in accordance with software or otherwise embodied in hardware or a combination of hardware and software (e.g., processor 52 operating under software control, the processor 52 embodied as an ASIC or FPGA specifically configured to perform the operations described herein, or a combination thereof) thereby configuring the device or structure to perform the corresponding functions of the social link module 78 as described below. Thus, in an example in which software is employed, a device or circuitry (e.g., the processor 52 in one example) executing the software forms the structure associated with such means.
The social link module 78 may communicate with the detector 60. The social link module 78 may receive an indication of a selection from the detector 60 indicating that a user of the apparatus 40 selected one or more persons tagged in an image, video or the like. In response to selection of the tagged persons (also referred to herein as tagged faces) in the image, video or the like the social link module 78 may retrieve data indicating commonly shared friends of the selected tagged persons. This data may be retrieved, by the social link module 78, from data stored in the memory device 58 and/or remotely from one or more social network services (e.g., Twitter™, Facebook™, MySpace™, LinkedIn™, Ovi Service™, etc.) as described more fully below. In response to receipt of the common friends of the selected tagged persons in the image, video or the like, the social link module 78 may enable provision of display of information indicative of the common friends on the respective image, video or the like. The information indicative of the common friends may be names of the respective common friends, an image of the respective common friends or any other suitable visible indicia that serves to indicate or identify a common friend(s). In this regard, the social link module 78 may enable provision of display via the touch screen display 50 of the common friends superimposed on the respective image, video, or the like from which the tagged persons were selected.
The social link module 78 may enable provision of display of information indicative of people in a shortest relationship path associated with tagged persons selected from an image, video or the like even in an instance in which the selected tagged persons may not directly have friends in common with each other, as described more fully below.
The social link module 78 may also enable provision of display of information indicative of common friends of one or more tagged persons that may be selected from an image, video or the like and a user of the apparatus 40. In this regard, the social link module 78 may enable provision of display, via the touch screen display 50, of the information indicative of the common friends of the user of the apparatus 40 and the selected person(s) superimposed on the respective image, video, or the like from which the tagged person(s) were selected. The information indicative of the common friends may be names of the respective common friends, an image of the respective common friends or any other suitable visible indicia that serves to indicate or identify a common friend. The social link module 78 may enable display of the common friends of the user of the apparatus 40 and the selected tagged person(s) superimposed on the respective image, video or the like, via the touch screen display 50, in an area proximate to the selected tagged person(s). In this regard, display of the common friends may visibly indicate a linkage to the selected tagged person(s) and the user. Additionally or alternatively, the social link module 78 may enable provision of audio data indicative of commonly shared friends of one or more tagged persons that may be selected from an image, video, or the like. The social link module 78 may enable provision of the audio data by instructing a speaker(s) (not shown) of the apparatus 40 or the audio module of the camera module 36 to execute or play the audio data.
It should be pointed out that in alternative example embodiment, the social link module 78 may link one or more faces on an image or video to corresponding persons in a contacts book of the apparatus 50. The social link module 78 may link one or more faces on an image or video to persons identified in a contacts book when a corresponding face(s) in an image or video of the contacts book matches a face(s) in the image(s) or video(s). Additionally or alternatively, linkage may be generated directly by a network device(s) maintaining any available social network service having stored contacts data.
Referring now to
In response to the user entering the identifying information via the prompt, the processor 52 may associate and link the identifying information to the face of the respective person to generate a tag for the person. The association between the image of the person's face and the identifying information may be stored by the processor 52 in the feature extraction database 57 and the processor 52 may enable display of the identifying information (e.g., a name (e.g., “Jack”)) superimposed on at least a portion of the image of the respective person (e.g., Jack). As shown in
In an alternative example embodiment, the processor 52 may automatically generate the tags corresponding to each of the persons in image 7 in response to determining that the extracted facial features (e.g., features associated with a nose, eyes, lips, cheeks, jaws, etc.) of the faces of persons in the image 7 correspond to matching facial features in the feature extraction database 57. As such, the processor 52 may utilize the identifying information (e.g., a name) associated with matched facial features in the feature extraction database 57 to generate the tags. For instance, the processor 52 may tag a respective image of a person's face in the image 7 with a name (e.g., Jack) of a person that is associated with the facial features in the feature extraction database 78 that match the extracted facial features of the respective person (e.g., Jack).
Referring now to
In response to the social link module 78 receiving indications from the detector 60 that the user selected the tagged images 32, 12 corresponding to Steve and Ryan, the social link module 78 may communicate with one or more network devices, such as, for example servers (e.g., service platform 20, communication device 15) providing social network services. In this regard, the social link module 78 may generate and send a message to one or more network devices providing social network services requesting the network devices to send the social link module 78 information identifying one or more friends that both Steve and Ryan commonly share. Examples of social network services that the social link module 78 may communicate with via the network devices include, but are not limited to, Facebook™, Twitter™, LinkedIn™, Ovi Service™, MySpace™, etc. In one alternative example embodiment, the social link module 78 may enable the touch screen display 50 to show which of the social network services provided the linkage between certain friends or contacts. For example, based of receipt, by the social link module 78, of data from Facebook™ the social link module 78 may determine that one or more friends are common to Steve and Ryan, etc. These social network services may store information identifying connections between friends, family members, coworkers, etc. in profile data of users. The social link module 78 may communicate with the network devices providing the social network services via network 30. In the example of
In the example of
Additionally, in one example embodiment, the information identifying the shared friends may include an image corresponding to each of the shared friends in an instance in which the shared friends have an image of themselves uploaded to their account with the social network service (e.g., Facebook™). In an alternative embodiment, the information identifying the shared friends may include a name of the shared friends in an instance in which the shared friends do not have an image of themselves uploaded to an account with the social network service.
In the example of
While the example embodiment of
It should be pointed out that in response to receipt of the information identifying the shared friends from the network devices providing the social network services that the social link module 78 may generate data associated with the graphical elements 14, 16, 18, 34 and 22 to indicate one or more friends that are more important than other friends to Steve and Ryan or friends in which Steve and Ryan may have a stronger relationship.
The social link module 78 may denote more important friends or friends with a stronger relationship to selected tagged persons (e.g., Steve and Ryan) with a bigger image size, different font for name information or by highlighting a portion of an image corresponding to the friend(s) with a predetermined color (e.g., green) or shape. In the example of
In an example embodiment, the social link module 78 may utilize the number of times that the selected tagged persons (e.g., Steve and Ryan) communicated with respective shared friends provided by the network device(s) to determine whether one or more shared friends are important or to indicate a strong relationship with the shared friend(s). For example, the social link module 78 may determine that one or more shared friends are important or that a relationship with one or more friends is strong in an instance in which the social link module 78 determines that communications by each of the selected tagged persons with one or more friends equal or exceed a predetermined threshold (e.g., 50 communications (e.g., messages)). When the social link module 78 determines that communications by each of the selected tagged persons with one or more friends is below the predetermined threshold, the social link module 78 may determine that the strength of the relationship is low or weak. In an instance in which there may be too many shared friends to be shown on the touch screen display 50, the social link module 78 may, but need not, show only the most important shared friends (e.g., in that context (e.g., time, location, etc.)).
In one example embodiment, in response to receipt of a selection of a tagged image(s) (e.g., images 32, 12) corresponding to a persons (e.g., Steve and Ryan), the social link module 78 may analyze data in a contact card(s) or the like stored in the memory device 58. The contact card(s) may be associated with the selected tagged persons (e.g., Steve and Ryan) and may include information indicating one or more social network services (e.g., Facebook™, Twitter™, LinkedIn™) that the selected tagged persons has an account with. In this regard, the social link module 78 may communicate with one or more network devices (e.g., service platform 20, communication device 15) providing the social network services that the selected tagged persons has an account with and may send the network devices a message or query requesting information identifying commonly shared friends of the selected tagged persons (e.g., Steve and Ryan). In response to receipt of the message or query, the network devices providing the social network services may send the social link module 78 the information identifying the commonly shared friends. As described above, this information may be visible indicia such as graphical elements (e.g., images, thumbnails, icons, etc.) corresponding to data identifying the shared friends of selected tagged persons (e.g., Steve and Ryan).
In one alternative example embodiment, a user may select a feature of the apparatus 40 to enable the social link module 78 to communicate with one or more specified social network services chosen by the user. For instance, a user of the apparatus 40 may utilize a finger, pointing device or the like to select one or more particular social network services (e.g., MySpace™, LinkedIn™) in which the social link module 78 is to communicate with for information identifying commonly shared friends of selected persons. The selection of the social network services chosen by the user may, but need not, be made by the user via a selection of the social network services in a menu, folder, list or the like or in any other suitable manner.
Referring now to
In response to the social link module 78 receiving an indication from the detector 60 that the user selected the tagged image 24 in the predetermined manner, the social link module 78 may generate a message or query requesting one or more network devices providing social network services to identify commonly shared friends of Jack and the user of the apparatus 40. The network devices providing the social network services that the social link module 78 may send the message/query to may be based on one or more social network services (e.g., Facebook™, Twitter™) in which the user and Jack have an account with as identified by the social link module 78 in response to analyzing data in a contact card(s) or the like. Alternatively, the network devices providing the social network services that the social link module 78 may send the message/query to may be based on social network services chosen by the user in a manner analogous to that described above.
In response to receipt of information from the social network service identifying the commonly shared friends of the user of the apparatus 40 and Jack, the social link module 78 may enable display of graphical elements 25, 27, 29, and 31 corresponding to data identifying the commonly shared friends. The graphical elements 25, 27, 29 and 31 may be displayed by the social link module 78 superimposed on at least a portion of the image 23 that is associated with and linked to the tagged image 24. In one embodiment, a graphical element (e.g., graphical element 25) that is superimposed closest in proximity to a selected tagged image (e.g., tagged image 24) may denote an important friendship or strong relationship with the user and a person (e.g., Jack) corresponding to a selected tagged image(s). Graphical elements (e.g., graphical elements 27, 29, 31) further away from a selected tagged image(s) may denote a lower level of importance or weaker relationship with the user of the apparatus and a respective person (e.g., Jack) as opposed to a graphical element (e.g., graphical element 25) that is closest in proximity to the selected tagged image(s) (e.g., tagged image 24).
In an alternative example embodiment, the social link module 78 may send a message/request to social network services for common friends of the user and a corresponding person(s) based on a selection of a feature provided by the apparatus 40. In this alternative example embodiment, the selection of a tagged image(s) in the predetermined manner (e.g., a long press) may not be required to trigger the social link module 78 to send the message/request to the social network services for the commonly shared friends. Instead, the social link module may automatically send the message/request.
Referring now to
For purposes of illustration and not of limitation consider
In the example embodiment of
In response to receipt of the data identifying the four people, the social link module 78 may generate visible indicia such as graphical elements 35, 37, 39 and 41 (e.g., images, icons, thumbnails, etc.) corresponding to data identifying the four people and may superimpose these graphical elements 35, 37, 39 and 41 on the image 33 between the tagged images 34 and 76 corresponding to Steve and Ryan, respectively. The social link module 78 may also enable display of one or more links 70, 42, 44, 46, 48 between each of the four people with respect to each other as well as Steve and Ryan and the links 70, 42, 44, 46, 48 may be superimposed on at least a portion of the image 33. For instance, the social link module 78 may enable display of graphical element 35 corresponding to a person that is directly linked to Steve and graphical element 41 corresponding to a person that is directly linked to Ryan. The social link module may also enable display of the graphical element 35 corresponding to a person being directly linked to a person corresponding to graphical element 37 and graphical element 41 corresponding to a person being directly linked to a person corresponding to graphical element 39. Additionally, the social link module 78 may enable display of the graphical element 37 corresponding to a person being linked directly to the person corresponding to graphical element 39.
In an example embodiment, a user of the apparatus 40 may utilize a finger, pointing device or the like to select one or more of the graphical elements 35, 37, 39, 41. In response to the detector 60 providing an indication to the social link module 78 that one or more of the graphical elements are selected, the social link module 78 may generate a message enabling the user to generate a request. The request may be a friend request requesting the person (e.g., Kelly) corresponding to the selected graphical element (e.g., graphical element 41) to establish a connection with the user. The user may, but need not, utilize a virtual keyboard or the like of the touch screen interface 54 to explain how the user may know the person corresponding to the selected graphical element. The social link module 78 may send the request to a network device providing social network services which may maintain an account (e.g., social network account (e.g., email account)) on behalf of the person. Upon checking the message associated with the account, the person may accept or reject the request.
In an instance in which the user of the apparatus 40 is already connected to one or more of the persons corresponding to graphical elements 35, 37, 39 and 41, the user may select a graphical element(s) which may trigger the social link module 78 to generate a message. The user may utilize the virtual keyboard of the touch screen interface 54 to include data in the message requesting the person (e.g., Kelly) associated with the selected graphical element (e.g., graphical element 41) to introduce the user to a person (e.g., Ryan) that the user may not know directly, but that the person (e.g., Kelly) corresponding to the selected graphical element may know. The person may accept or reject this message, in a manner analogous to that described above.
In an alternative example embodiment, when a network device(s) providing social network services determines that selected persons (e.g., Steve and Ryan) do not directly have any commonly shared friends, the network device(s) may determine the shortest relationship path between the selected persons by evaluating data related to connected friends, family members and/or data related to an organization structure. This data may be tied to a profile of each individual registered with the social network services (e.g., Facebook™, Twitter™). For instance, a profile of an individual may specify friends that the individual is connected to, and may identify family members (e.g., a family tree) of the individual as well as the individual's position within an organization and may include data specifying the organization's structure. The data relating to the organization structure may relate to an organization chart that may define employee/management hierarchy. The profile may be stored in a memory device of the network(s) device.
By analyzing this data, the network device(s) may send the social link module 78 data indicating a shortest relationship path in which the selected people may be connected indirectly. In this alternative example embodiment, some of the persons corresponding to graphical elements 35, 37, 39 and 41 of
As shown in
In one example embodiment, the social link module 78 may determine the strength of a linkage between people. The social link module 78 may determine the strength of the linkage based a number of communications between two people equaling or exceeding a predetermined threshold (e.g., 50 communications (e.g., messages)). For instance, when the social link module 78 determines that the communications between two people equals or exceed the predetermined threshold, the social link module 78 may determine that a linkage between the two people is strong. On the other hand, when the social link module 78 determines that the communications between two people is below the predetermined threshold, the social link module 78 may determine that the strength of linkage between the two people is low. It should be pointed out that the information regarding the number of communications between persons may be provided to the social link module 78 by a network device (e.g., service platform 20) providing social network services in response to receipt of a request from the social link module 78.
In this regard, in an instance in which the social link module 78 may determine that a linkage between two people is strong, the social link module 78 may generate graphical elements (e.g., graphical elements 45 and 57) corresponding to the two people with a size that is bigger than in instances in which the social link module 78 may determine that the strength of the linkage between two people is low. Additionally or alternatively, the social link module 78 may generate a size of the links based on the strength of the linkage between people. For example, in an instance in which the social link module 78 determines that a linkage between two people is strong, the social link module 78 may generate the visible indicia associated with a link (e.g., link 63) to have a size that is bigger than a size of a link (e.g., link 67) that the social link module 78 determined that the strength of the linkage between two people is low.
Referring now to
Referring now to
At operation 915, an apparatus (e.g., apparatus 40) may include means such as the processor 52, the social link module 78, the touch screen display 50 and/or the like, for enabling provision of display of visible indicia, superimposed on the image(s) or video(s), depicting at least one commonly shared friend in response to receipt of information identifying the commonly shared friend. The information identifying the commonly shared friend(s) may be received by the apparatus (e.g., apparatus 40) from a network device(s) (e.g., service platform 20, communication device 15) providing social network services. At operation 920, an apparatus (e.g., apparatus 40) may include means such as the processor 52, the social link module 78, the touch screen display 50 and/or the like, for enabling provision of display of visible indicia, superimposed on the image(s) or video(s), depicting a shortest path relationship of persons connecting the individuals in response to receipt of information specifying that the two individuals do not have any commonly shared friends. Data indicating that the two individuals do not have any commonly shared friends and data associated with the shortest path relationship may be received by the apparatus (e.g., apparatus 40) from a network device(s) providing social network services.
It should be pointed out that
Accordingly, blocks of the flowchart support combinations of means for performing the specified functions. It will also be understood that one or more blocks of the flowchart, and combinations of blocks in the flowchart, can be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
In an example embodiment, an apparatus for performing the method of
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.