The invention relates generally to social networking, and more specifically, to creating new connections on a social network.
Social networking has become one of the major applications used over the Internet. Millions of users have joined leisure social networking web sites such as Facebook as well as professional social networking web sites such as LinkedIn. Typically, in order to establish a new connection between two users, one of the users sends an invitation to connect, or selects an add where consent is not needed to connect. Afterwards, the users may automatically share information such as status updates or photographs posted to the web site.
Unfortunately, the process of adding new connections is disjointed from the real life event of connecting with people. In other words, a connection is first made in real life to an old friend or co-worker, and then later that connection can be consummated through a social networking web site. To do so, the new contact's name must be known and correctly spelled in order to search through users of a social networking web site. An invite is sent out and accepted asynchronously when the new contact logs on and addresses the invite. Each social networking web site is accessed separately to establish the same new contact. Clearly, there is also lots of room for error that can prevent a successful connection with the new contact.
What is needed is a technique for creating new connections on a social network, while overcoming the deficiencies of the prior art.
To meet the above-described needs, methods, computer program products, and systems for creating social networking connections with a gesture.
In one embodiment, a server receives a first fingerprint of a gesture detected on a device of a first user. The gesture is indicative of the first user initializing a new social networking connection with a second user. The first fingerprint comprises at least an identification of the first user and a location of the device.
In another embodiment, the first fingerprint is matched to a second fingerprint received from the second user. The second fingerprint comprises at least an identification of the second user and a location of the second device, wherein the locations of the first and second devices are substantially matching. In response to the matching, a connection is initiated between the first and second users on a social network in response to the matching.
In yet another embodiment, user device includes an accelerometer to detect a gesture indicative of the first user initializing a new contact. The user device generates the first fingerprint and transmits it to the server for matching.
A gesture can connect local users that are meeting in person by, for example, bumping user devices against each other. Alternatively, the gesture can connect remote users that are otherwise in contact, such as two Skype users that are in session and want to connect. In the remote case, the gesture can be from a user's own user device.
Advantageously, social connections are automated in real-time with a physical connection.
In the following drawings, like reference numbers are used to refer to like elements. Although the following figures depict various examples of the invention, the invention is not limited to the examples depicted in the figures.
The present invention provides methods, computer program products, and systems for creating social networking connections with gestures. Generally, a social networking connection refers to a contact, friend, co-worker, relative, fan, celebrity,
Social Networking Connections Creation Systems (
The user devices 110A,B can be, for example, mobile devices, smart phones, tablet computers, personal computers, Internet appliances, or any other appropriate computing devices as described in
The gesture preferably involves both user devices 110A,B so that a similar fingerprint is generated by each device for matching. The fingerprint, in some embodiments, can include a location, a time, an intensity or other measurement, an identification, and the like. The gesture can connect local users that are meeting in person by, for example, bumping user devices against each other. Alternatively, the gesture can connect remote users that are otherwise in contact with each other, such as two Skype users that are in session and want to connect. In the remote case, the gesture can be from a user's own user device. For example, the two Skype users can initiate a connection mode, or the user can both enter a tap sequence to a touch sensitive screen. The gesture initiates an automated process, described in more detail herein, which connects the users on available social networks. Embodiments of the user devices 110A,B are discussed in more detail below in association with
The connections server 120 can be one or more server blades, or any appropriate computing device described herein running, for example, an Apache type of server software, including the general computing environment of
The social networking server 130 can be any of the devices described above with respect to the connections server 120. In an embodiment, the connections server 120 is integrated with the social networking server 130. The social networking server 130 generally hosts a web site or other platform that connects contacts over a digital medium for sharing photographs, job opportunities, links, status updates, and more. Exemplary social networking websites includes Facebook, LinkedIn, Instagram, MySpace, Sound Cloud, Google Circles, and the like. Users of a particular social networking web site can set up a user profile which includes a list of contacts for sharing information with. The contacts can be connected upon demand, require an invitation be accepted, charged a fee for the connection, or be subjected to any implementation-specific policies. In one embodiment, the social networking server 130 allows other systems to submit instructions through APIs. One type of API can receive connection requests. User permission may need to be verified according to some policies.
The accelerometer unit 112 can be a semiconductor chip, a MEMS (micro electromechanical systems) device, a spring system, or any other appropriate device for detecting movement associated with a computing device. In one embodiment, the accelerometer unit 112 consists of a basic vibration detector to indicate when vibrations above a certain intensity have been detected (e.g., a spectral density). In another embodiment, the accelerometer unit 112 consists of a semiconductor chip that increases voltage and/ or current output in response to a positioning along X, Y and Z axes. For example, if the accelerometer 112 (and hence, an associated device) are aligned with the X axis, an electrical signal of the X axis would be maximized while an electrical signal of the Y axis and of the Z axis would be minimized. As the accelerometer 112 moves away from the X axis alignment, the balance of electrical signals adjusts accordingly.
In some embodiments, the accelerometer unit 112 is not necessary. Instead of measuring movement, a tap sequence can be entered to the touch screen by a user as a request to connect. In response, the tap sequence is compared against tap sequences of other users for a match.
The GPS unit 114 can determine a current location of a device by processing information received from geophysical satellites. The location of a first user can be matched to the location of a second user to identify a connection event. In alternative embodiments, other processes can be used to determine location, such as IP address, cell phone tower triangulation, location sensors, and the like.
The fingerprint engine 116 can be a processor, logic integrated with the accelerometer unit 112, non-transitory software code for execution, or any other module for generating fingerprints. To do so, the fingerprint engine 116 may interpret signals from a passive accelerometer 112. The fingerprint engine 113 generates fingerprints from the interpreted data or other information provided. The fingerprints may include information from outside the accelerometer 112 as well. For example, the fingerprint engine 116 can be connected to a GPS module in order to determine location.
The connections application (or social networking application) 118 can be a mobile application, a module of an application, a stand-alone application, a cloud-based application, non-transitory software code for execution, or the like. The connections application 118 can be part of a specific social networking application, or can be an aggregation application that is compatible with multiple social networking platforms. In operation, the connections application 118 interfaces with a server (e.g., the connections server 120 of
The user profiles 122 can be a database of accounts stored locally or remotely. Each user is uniquely identified along with credentials such as a password. Customer user configurations can be stored in the user profiles 122, such as a friends list, or a list of followers/ following or connections. When new connections are made, data in the user profiles 122 is updated.
The fingerprint matching engine 124 receives fingerprints from connections that occur amongst users. Characteristics of the fingerprints are indexed and searched when new fingerprints are received. Some inferences can be made by the fingerprint matching engine 124. For example, two fingerprints can be received at the same time, but have different locations. If no other fingerprints are received from the vicinity, a threshold for distance between users can be relaxed if a potential match exists.
The social networking API module 126 stores APIs for communicating with various social networks. The APIs can be customized for a particular social network, or standardized. There can be one command or many for making new connections.
Social Networking Connections Methods (
At step 410, a gesture is received from a first user indicative of a new social networking connection desired with a second user. The gesture can be detected by an accelerometer that is always on, or that is activated by opening a connections application. In some embodiments, a special sequence of gestures, such as two bumps 1 second apart, is detected.
At step 420, a fingerprint of a gesture by a first user is matched to a fingerprint of a gesture by a second user. To create a fingerprint, a database record can be completed, fields in a template form can be filled in, a QR-code can be embedded with information, or the like. The information can include any of the characteristics describe herein, or any other information to uniquely identify a connection event for matching.
At step 430, a social networking connection is initiated between the first and second users. In some embodiments, the connection is automatically completed responsive to only a connection event between users. A social networking server is notified of the new connection. In other optional embodiments, the connection is started, but at step 440 needs to be verified by one or both users, and/or by a social network.
At optional step 510, a connections application is initiated. In other embodiments, the application is woken up after a gesture is detected. The connection application can be execute as a stand-alone application or as a background process.
At step 520, if a gesture is detected in an accelerometer, at step 530, a location and intensity of the gesture is determined at the user device. Other characteristics can be determined as well.
At step 540, a gesture fingerprint is generated from location, intensity and identification information associated with a user.
At step 550 the fingerprint is transmitted 550 to a server for matching.
Exemplary Computing Device (
The computing device 600, of the present embodiment, includes a memory 610, a processor 620, a storage drive 630, and an I/O port 640. Each of the components is coupled for electronic communication via a bus 699. Communication can be digital and/ or analog, and use any suitable protocol.
The memory 610 further comprises a web application 612 and an operating system 614. Other modules stored in memory can include a web browser application, a web-browser-based application, a mobile application, a streamed application, a locally-installed application, and the like.
The web application 612 can be any of the modules described in
The processor 620 can be a general purpose processor (CPU), a mobile processor, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a reduced instruction set controller (RISC) processor, an integrated circuit, or the like. A video processor can be optimized for repeated operations. The processor 620 can be single core, multiple core (e.g., quad core), or include more than one processing elements. The processor 620 can be disposed on silicon or any other suitable material. The processor 620 can receive and execute instructions and data stored in the memory 610 or the storage drive 630
The storage drive 630 can be any non-volatile type of storage such as a magnetic disc, EEPROM, Flash, or the like. The storage drive 630 stores code and data for applications.
The I/O port 640 further comprises a user interface 642 and a network input 644. The user interface 642 can output to a display device and receive input from, for example, a keyboard. The network input 644 can be a network plug or antennae and associated operating system software for integration with applications.
Many of the functionalities described herein can be implemented with computer software, computer hardware, computer firmware, or a combination.
Computer software products (e.g., non-transitory computer products storing source code) may be written in any of various suitable programming languages, such as C, C++, C#, Java, JavaScript, PHP, Python, Perl, Ruby, and AJAX. The computer software product may be an independent application with data input and data display modules. Alternatively, the computer software products may be classes that are instantiated as distributed objects. The computer software products may also be component software such as Java Beans (from Sun Microsystems) or Enterprise Java Beans (EJB from Sun Microsystems).
Furthermore, the computer that is running the previously mentioned computer software may be connected to a network and may interface to other computers using this network. The network may be on an intranet or the Internet, among others. The network may be a wired network (e.g., using copper), telephone network, packet network, an optical network (e.g., using optical fiber), or a wireless network, or any combination of these. For example, data and other information may be passed between the computer and components (or steps) of a system of the invention using a wireless network using a protocol such as Bluetooth, LTE, Wi-Fi (IEEE standards 802.11, 802.11a, 802.11b, 802.11e, 802.11g, 802.11i, and 802.11n, just to name a few examples). For example, signals from a computer may be transferred, at least in part, wirelessly to components or other computers.
In an embodiment, with a Web browser executing on a computer workstation system, a user accesses a system on the World Wide Web (WWW) through a network such as the Internet. The Web browser is used to download web pages or other content in various formats including HTML, XML, text, PDF, and postscript, and may be used to upload information to other parts of the system. The Web browser may use uniform resource identifiers (URLs) to identify resources on the Web and hypertext transfer protocol (HTTP) in transferring files on the Web.
This description of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form described, and many modifications and variations are possible in light of the teaching above. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications. This description will enable others skilled in the art to best utilize and practice the invention in various embodiments and with various modifications as are suited to a particular use. The scope of the invention is defined by the following claims.
This application claims priority under 35 USC 119(e) to U.S. Pat. App. No. 61/689,464, entitled METHOD AND APPARATUS FOR CREATING NEW CONNECTION ON A SOCIAL NETWORK, by Wilfred Lam et al., the contents of which are being hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61689464 | Jun 2012 | US |