This application relates generally to social networking, and more particularly to electronically enabled in-person social networking.
Social networking has become an important part of modern life. In both pleasure and business applications, social networking enables people to meet other people with mutual interests. There are numerous social networking websites where users build profiles that help to describe their interests, as well as allowing the users to describe or elaborate the types of relationships they are looking to build. In order to facilitate interpersonal discovery, social networks can link people together through mutual connections, such as suggesting a connection based on one party being a “friend of a friend” of the other, or another relationship between the two potential connections.
Such a network of person-to-person relationships forms the foundation of what are generally referred to as social networks. However, the mapping of individual relationships is far more complex than simply connecting two individuals based on a common interest. Imagine, for example, social network participants as nodes on a graph, with the number of segments (intermediate participants) needed to link one participant to another representing the degrees of separation between those two participants. Profile information that the social network can be configured to store for each user is often used to build a web of potential contacts beyond the first degree of separation for users. The social network provider can also create a social network (a list of contacts) for a user by tracking user-to-user communication, pursing user created contact lists or address books, or allowing users to explicitly create their own networks.
Furthermore, participants in a social network can often establish an affiliation with one or more specific groups (clubs, working groups, professional associations, etc.), which can have a separate group profile to convey information about the group, such as the purpose or charter of the group. In particular, in addition to sharing affiliation in the group (e.g., sharing similar interests, businesses, organizations, etc.), members of a group can access the otherwise closed profiles of other members of that same group based on group policies. Typically, affiliation with a particular group occurs on an individual participant basis.
In the realm of friendships, people often seek out other people with similar interests, such as music, sports, or art. In some cases, people seek someone with a certain character trait or skill set for a specific purpose, even if it is a trait the seeker does not necessarily share. For example, a piano player might look for a bass player in order to form a band. In the realm of business, a mixture of common and complementary factors is often important. For example, an entrepreneur might simultaneously seek out a software developer, an investor, and an attorney in order to construct a well-rounded team for a certain project. Furthermore, the entrepreneur might stipulate that all of the persons sought share a common interest (e.g. cloud computing) in addition to the individuals' different, complementary skill sets. In these and numerous other scenarios, social networking represents a powerful tool for allowing the interested parties to find each other. Social networks can also provide mechanisms for tracking online reputations, and can help various interconnected users estimate how much to trust one another, especially when the users have not interacted previously in person. By making the introduction process more efficient, professional and personal relationships are improved. And although many introductions and relationships can be started between participants online, there is still no substitute for a certain level of in-person interaction.
Social networking via online websites facilitates introductions of interested parties. In a personal realm this can include applications such as online dating. In a professional realm, people seeking other people with similar interests or needed skills can utilize social networking to accelerate the process of finding those people with complementary or desired skills. Personal interactions can also benefit from the ability to understand and appreciate the skills and attributes of a person or people before a physical conversation has been initiated. To this end, embodiments of the present disclosure provide a hardware device that associates profile information with a user. The hardware device can be a wearable device such as a wristband. The hardware device can include a band for wrapping around a cup. The device can detect the presence of other devices nearby, perform a comparison of information based on user profiles, and indicate a match if one exists. In this way, at a social gathering such as a dance or business conference, people can quickly ascertain the likelihood of a successful and meaningful introduction with the people around them by reviewing the indication provided by the device.
In embodiments, an apparatus for communication includes: a device associated with and in close proximity with a first participant comprising: a wireless transceiver; a display coupled to the wireless transceiver where the display renders information about a neighboring participant; evaluation logic coupled to the wireless transceiver that enables match evaluation between a person and the neighboring participant based on profile related information received via the wireless transceiver; and display logic that enables rendering of the match evaluation on the display. A second device can be associated with the neighboring participant. The information about the neighboring participant can include commonality information. In some embodiments, a processor-implemented method for communication comprises: receiving profile information on a first person; comparing the profile information on the first person with profile information on a second person; evaluating a match between the first person and the second person, based on the comparing; rendering results, based on the evaluating of the match, on a plurality of devices in wireless communication with each other where a first device, from the plurality of devices, is in close contact with the first person and a second device, from the plurality of devices, is in close contact with the second person and where the first device and the second device are within proximity of one another and where the first device and the second device exchange data.
Various features, aspects, and advantages of various embodiments will become more apparent from the following further description.
The following detailed description of certain embodiments may be understood by reference to the following figures wherein:
Social gatherings often are the origin and/or catalyst of lasting friendships and successful business endeavors. Individuals and groups with potential mutual compatibility can meet in various social settings, such as fundraisers, conferences, conventions, and other social events (holiday parties, birthdays, etc.). Disclosed embodiments provide devices, systems, and methods for facilitating introductions and gatherings of compatible people. An electronic device is associated with a user. The user establishes, or has previously established, a profile which comprises multiple attributes and is stored on the electronic device. The electronic device is thus associated with a user and the user's attributes. In a social gathering, multiple users can each have a similar electronic device in close contact. The electronic devices detect when they are within close proximity of each other and can react to the proximity by evaluating a potential match between the user profiles contained on the devices. For example, certain embodiments include evaluation logic which only performs match evaluation in response to a second device being within a certain proximity to the first device. Upon detecting close proximity of each other, the devices make a connection and the users become associates (i.e. the first user becomes a neighbor who is participating with the second user and vice-versa) and an indication is provided if the two users are determined to have compatibility with one another. In some embodiments, the compatibility can be based on similar interests such as a mutual interest in sports. In other embodiments, the compatibility can be based on complementary attributes, with the potential compatibility representing mutually beneficial roles such as an investor being matched with an entrepreneur seeking investments. In still further embodiments, the device comprises a wearable device such as a wristband or lapel pin, or is integrated as part of a beverage container such as a cup or bottle. In some cases the cup or bottle can have a band wrapped around it that incorporates the device. In the case of wristbands, when two devices are in close proximity (e.g. within 24 inches of each other) such as during a handshake between the two wearers, the devices can indicate if a match exists between the two people based on predetermined criteria. Seeing the match confirmation on the device serves to facilitate additional conversation and allows “ice-breaking” to occur between the two users, removing potential obstacles in further developing social and/or business relationships.
The disclosed embodiments can improve in-person networking across a variety of situations. In a business setting, for example, not only can entrepreneurs be matched with investors, as previously mentioned, but individuals representing numerous roles within a company or organization can benefit from both in-house and external matching with other individuals possessing complementary and team-improving skillsets. In the social sphere, the current disclosure's relevance to a dating application will be immediately appreciated as dating applications frequently involve attempts to facilitate easy and natural introductions between people with common interests. Any type of commonality information can be included to facilitate matching, such as shared interests, geographical location, and other demographic similarities which can be retrieved from stored profile information and compared. A certain amount of similar information detected between two parties can trigger an indication of a match on each of the portable devices the persons wear or keep in close contact with themselves. Many other examples and applications are possible.
The user rates each question on a numerical scale (e.g. 0-100). For example, if user A likes movies very much, and is mildly interested in sports with little interest in music, the scoring for each question by user A might be:
Q1=95,Q2=50,Q3=11.
Suppose then that another user, user B, likes movies, but has little interest in sports or music. In this case, user B might score the questions as: Q1=93, Q2=10, Q3=8. Remember that user B has his or her own portable device, which stores the answers to the questions. The users can enter the information into the kiosk computer via direct numerical entry, sliders, or another suitable method. The physical proximity of two users' devices to each other as detected by a proximity detector 170, can trigger each user's device to exchange profile information such as numerical question response values via a wireless or wired communication link. The exchange, for example, can include an exchange of both user A and user B's personal identification information in addition to the question scores. A comparison between the scores is performed, and if, for a given question, the scores from user A and user B are within a predetermined threshold, e.g. a threshold of 80%, the question can be deemed to match for the two users, and the display of each user's device can be activated accordingly.
In some embodiments, a color-coding system can be implemented on the devices to facilitate easy and intuitive discovery of a match. For example, question 1 (Q1), asking about movies, can be associated with the color red, question 2 (Q2), asking about sports can be associated with the color green, and question 3 (Q3), asking about music, can be associated with the color blue. Thus, in the aforementioned example, since user A and user B (user B is considered a neighboring participant of user A when user A and user B are within close proximity of each other) have scores that represent a match for Q1 and Q3 according to predetermined criteria, then the red and blue LEDs on each user's device can illuminate, signaling to each user that they share similar feelings about movies and music. In some cases, only comparable high scores would be considered a match while in other cases a pair of comparable low scores would also be considered a match. In some embodiments, matching could incorporate an algorithm combining (e.g. summing) scores across multiple questions to determine a match. While this example used three questions and three colors, other embodiments can use more questions and colors to facilitate the in-person social networking. In embodiments, proximity detector 170 can include an infrared transceiver, magnetic detector, RF detector, optical sensor, or other suitable technology.
In alternative embodiments, instead of scoring questions with a numerical value, a yes/no answer is solicited for each question. In an example using the previously mentioned questions, two users answer as follows:
USER A:
USER B:
In this example, the preferences of each user are encoded as a binary string where a NO answer equates to a binary 0 and a YES answer equates to a binary 1. Thus, for user A, his or her profile is represented by the binary string (1,0,1), and for user B, his or her profile is represented by the binary string (0,0,1). Hence in this embodiment, when user A and user B place their respective devices (e.g. wristbands) in close proximity to each other the second question (Q2) and third question (Q3) evaluate to a match, since both user A and user B have the same answers for those questions stored in their profiles. In some embodiments, only YES answers evaluate to a match. In embodiments of the current example where only YES matching is implemented, the third question (Q3) evaluates to a match. Based on which questions evaluate to a match, corresponding colored lights (e.g. LEDs) can illuminate to indicate the match to the users. In some embodiments, the yes/no questions can be given different weights to represent different degrees of importance. In some embodiments, the user's answer to a question determines the next question posed to them. For example, if a user answers YES to the question “Do you like movies?” then the next question might be “Do you like horror movies?” Similarly, if the user answers NO to “Do you like movies?” then the next question might be “Do you like books?” In this manner, customized profiles for each user can be established. In embodiments, two devices are deemed to match if they have more than a certain number of shared responses. This can mean executing matching if two units have at least one response in common, or, as another example, it can mean executing matching if two units have at least ten responses in common.
The device 110 includes evaluation logic 140 coupled to the wireless transceiver 120 that enables match evaluation between a person and a neighboring participant based on profile-related information received via the wireless transceiver 120. The evaluation logic 140 can include a processor which compares the scored responses to the questions of the user with the scored responses of a neighboring participant (another user with a device in close proximity to the device of the first user). In embodiments, the processor is embodied in a single chip including an ARM microcontroller and a radio transceiver including both Bluetooth® and ANT+™ protocols. A coin cell battery (e.g. CR2032) can be used to power the device. Information can be exchanged between the two devices, such that the first user's device obtains information from the neighboring participant's device. The information about the neighboring participant can include commonality information. The evaluation logic 140 can use profile information received via the wireless transceiver 120. In embodiments, the profile information includes profile questions answered by the user. The profile information on a first user and the profile information on a second user can be based on social network information. Thus, in some embodiments, profile information from a social media website such as Facebook, LinkedIn™, or the like, can be received via the wireless transceiver 120.
The device 110 further includes display logic 150 that enables rendering of the match evaluation on the display. The display logic activates an appropriate display based on the matching. Different-colored LEDs can each represent one of the profile questions, and questions that are within a predetermined threshold (e.g. scores within 10 points of each other) are considered as matches and the appropriate LEDs are illuminated.
The device 110 can further comprise a haptic actuator or haptic generator 160 that provides haptic feedback to the first participant. In embodiments, the haptic generator 160 can include a vibrator. The vibrator can be implemented using a small vibrating motor. In embodiments, the haptic generator 160 is configured to activate upon detection of a second device 112 in close proximity to the first device in which the haptic generator 160 is housed. In embodiments, being in close proximity includes being within a distance with an upper limit ranging from about six inches to about 18 inches. In other embodiments, close proximity can include a distance between devices that is less than 3 feet. The haptic generator can also be used to privately communicate to the user information that is not displayed. In some embodiments, the haptic generator indicates that a match has been detected. The device 110 communicates with the second device 112 via a communications link 114. In embodiments, the communications link 114 includes an infrared transceiver. In other embodiments, the communications link 114 can include, but is not limited to, Bluetooth®, Xbee®, and/or ANT+™ transceivers.
The device 110 can further comprise an audio component that provides sound feedback. The audio component can include a speaker or buzzer such as a piezoelectric buzzer. The device 110 can further comprise a biometric sensor where information from the biometric sensor is communicated with the neighboring participant. The biometric sensor can include, but is not limited to, capturing pulse rate, skin temperature, and electrodermal activity. The captured data can be used to assess the emotional state of a person or group of people. The emotional state can be determined, for instance, by heart rate or arousal evaluation.
In embodiments, a complementary role is used as a first pass filter. For example, a certain dating scenario might include a heterosexual male is looking for a heterosexual female. In this embodiment, if the heterosexual male user's device comes in proximity with another user's device containing a stored role that does not match (e.g. homosexual female) no further evaluation is performed. That is, a user's role is first checked before any match evaluation is indicated. Thus, if the role does not match what the user is seeking, no further evaluation is performed.
In embodiments, the evaluation logic 14 of
An application (“app”) running on the smartphone 420 can facilitate sending and receiving contact information on the smartphone, as well as storing the contact information in the user's contact list on the smartphone. In this way, when users meet other participants who are deemed to represent a match, contact information can be automatically exchanged and stored in each user's contact list on their respective smartphones. In some embodiments, additional contact metadata can also be stored along with the contact information. The contact metadata can include, but is not limited to, the time and date that the contact information was stored, and the location where the neighboring participants made a connection. The metadata can be useful in helping a user to remember the identity of the person associated with the contact information. Note that while the aforementioned explanation pertains to wristbands, other devices, such as electronically enabled lapel pins and/or electronically enabled beverage holders, can also be used. In some embodiments using smartphones, the aforementioned profile questions can be presented to the user on directly on their smartphone, eliminating the need for a local kiosk computer.
In addition, the first wristband 610 can communicate directly with the second wristband 630 via a direct wireless link 614. In embodiments, the direct wireless link 614 is an infrared link. In other embodiments, the direct wireless link 614 comprises an ANT+™ link, Bluetooth® link, or a near field communications link directly linking the two wristbands in an ad-hoc or device-to-device configuration. In embodiments, the device-to-device (wristband-to-wristband) link is used for detecting the proximity of the devices and enabling the devices to make a connection. The establishing of a connection between the first 610 and second wristband 630 can include each wristband exchanging identification information over the direct wireless link 614. The connection process can include a discovery phase, where the first wristband 610 detects that another wristband is nearby. In embodiments, each wristband periodically sends out a beacon signal. In some embodiments, upon detecting a beacon signal each wristband provides a response. Information can then be exchanged between the two wristbands. The beacon signal can include device identification or user identification information. To signal the exchange of information, a haptic generator in each wristband can activate. This alerts each user to the fact that information is being exchanged between the two wristbands, and a match evaluation is in progress. The information includes an identifier, such as a unique number that is paired with a given user (participant). The unique identifier of the detected neighboring wristband can be communicated to server 650 via the user's smartphone as detailed above. In embodiments, the server 650 then determines the identity of the neighboring participant by associating the unique identifier of the detected neighboring wristband with a record (e.g. a database record) containing user profile information. The server 650 then can compare various attributes of the wearer and attributes of the detected neighboring participant to determine a match. If a match is determined, the server sends a match indication to each user's smartphone, which in turn communicates the match indication to the respective wristband. The respective wristbands each provide an indication of the match, such as illumination of a particular colored LED. While aforementioned examples illustrate two participants, any number of participants is possible. In embodiments, the server can obtain further information on the first person and further information on the second person. The server can then augment the profile information on the first person and the profile information on the second person depending on certain parameters and permissions provided to the server. The augmentation can be based on in-person interaction between the first person and the second person and can be based on duration of interaction information as well as other factors.
In some embodiments, the first mobile device 620 and the second mobile device 640 communicate wirelessly with one another. In such embodiments, contact information can be communicated directly from one smartphone or other mobile device to another. Contact information can also be exchanged via other techniques including such as devices directly communicate contact information, contact information is exchanged through remote computers (i.e. social networks), and the like. Embodiments can also include a group feature that accommodates a group of more than two participants. The system can comprise a third device, associated with a third participant, wherein the match evaluation further comprises enabling match evaluation between a person and the third participant and between the second, neighboring participant and the third participant. Thus, three or more participants can form a group, and in embodiments, various matching criteria amongst members of the group can be displayed on the wristbands of the participants. The third participant can be nearby the first participant and nearby the neighboring participant.
The device, such as the first wristband 610, can further comprise a proximity detector used to detect proximity to a second device associated with the neighboring participant. In embodiments, the proximity detector includes an infrared transceiver or a radio signal strength evaluation. Devices can periodically send out a beacon signal and listen for beacon signals from other nearby devices. In embodiments, devices (such as wristbands) can be configured to detect each other when they are less than 18 inches apart from one another. The first device and the second device can be in wireless communication with one another. The device can send an acknowledgement transmission to the second device based on detection of proximity between the device and the second device. In a group scenario with more than two devices, each device may communicate with other devices in the group.
The profile information on the first person and the profile information on a second person can be binary strings and the evaluating a match can involve direct mapping between the binary strings 732. This technique can be used when users enter yes/no responses to profile questions. The evaluating of the match can be based on multi-dimensional space matching 734. This technique can be used when users enter numerical values as responses to profile questions, where the numerical values indicate the amount of agreement with the question. The multi-dimensional space matching can include calculating a minimum distance 736 across the multi-dimensional space between the first person and the second person. That is, in such embodiments, a minimum distance between each question is calculated. In groups with more than two people, the process can be repeated with other members of the group. For example, with a group of three people, the flow can include evaluating matching between the first person and third person 750, as well as evaluating matching between the second person and the third person 752. In some embodiments, the match has a temporal component. That is, if two devices have been in close proximity to each other for more than a predetermined amount of time, then a temporal match is formed, and contact information is exchanged in the same manner as if there were a match based on one or more profile questions. For example, if two devices are in proximity to each other for over twenty minutes during the course of an hour, the devices can be deemed to match, initiating an exchange of contact information.
In other embodiments, additional profile information can be used to form the match. For example, by retrieving profile information from a travel website such as TripAdvisor®, a list of cities visited by different users can be obtained. The match can be formed based on travels to similar destinations by the two participants.
The flow 700 can include rendering results, based on the evaluating of the match, on a plurality of devices 740 in wireless communication with each other where a first device, from the plurality of devices, is in close contact with the first person and a second device, from the plurality of devices, is in close contact with the second person and where the first device and the second device are within proximity of one another and where the first device and the second device exchange data. Close contact can be used to refer to the distance between a user and his or her corresponding device. Proximity can be used to refer to the distance between two devices. The rendering of results can include illuminating one or more colored lights. In some embodiments, the wristband can include a display screen capable of rendering alphanumeric information and/or graphical images. In such embodiments, text and/or images can be rendered to indicate a match. For example, if both users like baseball, then a baseball icon can be displayed on each wristband.
The flow 700 can include a computer program product embodied in a non-transitory computer readable medium for communication comprising: code for receiving profile information on a first person; code for comparing the profile information on the first person with profile information on a second person; code for evaluating a match between the first person and the second person, based on the comparing; and code for rendering results, based on the evaluating of the match, on a plurality of devices in wireless communication with each other where a first device from the plurality of devices is in close contact with the first person and a second device from the plurality of devices is in close contact with the second person and where the first device and the second device are within proximity of one another. Various steps in the flow 700 may be changed in order, repeated, omitted, or the like without departing from the disclosed concepts. Various embodiments of the flow 700 may be included in a computer program product embodied in a non-transitory computer readable medium that includes code executable by one or more processors.
Device X sees other devices and finds device Y to be its best match. Since devices X and Y have a certain question (question 1) in common at high percentage, both devices illuminate a red LED. At the same time, device W finds device Z to be its best match as devices W and Z have a certain question (question 2) in common at high percentage. Thus, both devices illuminate a green LED. Next, device K shows up and enters the group and determines a best match with device X. However, the particular profile question for which devices K and X match is a third question (question 3), a match not yet shared by any current group members. Remember that device X is currently showing a red LED which is device X's current matching state. If device K lit a blue LED in response to matching device X on question 3, it would be the only blue device in the circle, with the lack of a corresponding blue match causing confusion amongst the users.
Embodiments solve this problem using a group ID. Every time a device matches with another device, it starts broadcasting a group identification (group ID) number which corresponds to the different questions (question 1=group 1, question 2=group 2, and so on). In this example, device K finds that X is a good match on group 3, but since X is broadcasting that it is in group 1, device K ignores device X. Device K then looks for the next best match within ‘visible range’ that it can detect. Device K iterates through the list of potential matches until it finds a matching profile that also corresponds to a previously established group. In this way, the colored lights still have a clear meaning to each user and clearly delineate subgroups within a larger group setting.
The flow continues with enabling the first group display 930. The enabling can include illuminating the light corresponding to the group ID. The flow then continues with obtaining question alignment between first and third devices 940. The obtaining can include finding a matching question between a device and a neighboring participant device that also matches the group ID of the neighboring participant device. The flow can continue along branch 942 with enabling the first group display 950. The enabling updates the display to indicate the presence of a group match. In embodiments, the enabling is accomplished by illuminating two colored lights simultaneously. For example, the simultaneous illuminating of two lights allows multiple devices in a group to illuminate different colors at the same time while also preventing any single device from illuminating only a single color by itself. Using multiple lights on a device allows for more possible matches to be indicated.
The flow can, after obtaining question alignment 940, continue along branch 944 to ignore the question alignment 952. The ignoring can happen when a device finds a neighboring device with agreement on a given profile question, but the question number does not match the group ID of the neighboring device. In such a case, the agreement is ignored to avoid disabling lights corresponding to current matches, thereby causing a confusing display in a group (more than two devices) environment. The flow then proceeds to look for the next best alignment 960. The searching can be accomplished by iterating through the list of potential matches until the device finds a matching profile that also has agreement to a question that corresponds to the group ID. That is, in embodiments, the next best alignment is determined by identifying a neighboring participant device with an agreement question whose ordinal number is the same as the number of the group ID. If no such device can be found, then no match is indicated. The flow then continues to enabling the second group display 970.
The diagram 900 can further comprise evaluating matching between the first person and a third person and evaluating matching between the second person and a third person. Furthermore, embodiments are extendable to beyond three participants, and may include four or more participants. Various embodiments of the device (e.g. wristband) have additional LEDs to provide more possible color combinations to facilitate indication of multiple matches. For example, a wristband can have three banks of LEDs that include a first bank with three blue LEDs, a second bank with three red LEDs, and a third bank with three green LEDs. Each bank can correspond to a profile question. Furthermore, each bank can have a right, middle, and left LED that can be illuminated to form a pattern. The patterns can be used to identify matching participants. Other embodiments can have more or fewer LED banks, with more or fewer LEDs per bank. Furthermore, additional colors (e.g. white, orange, yellow, etc.) can be used to facilitate more possible light patterns to be used for matching. Various steps in the flow 900 may be changed in order, repeated, omitted, or the like without departing from the disclosed concepts. Various embodiments of the flow 900 may be included in a computer program product embodied in a non-transitory computer readable medium that includes code executable by one or more processors.
If while at the near and matched state 1050 a matching message is received, the state transitions via a path 1054 to restart the near and matched timer 1020. If while at the near and matched state 1050 the near and matched timer elapses, the state proceeds via a path 1052 to a far state 1040. If while at the far state 1040 a non-matching message is detected, the state proceeds via a path 1042 to restart the near timer 1010.
Each of the above methods may be executed on one or more processors on one or more computer systems. Embodiments may include various forms of distributed computing, client/server computing, and cloud based computing. Further, it will be understood that the depicted steps or boxes contained in this disclosure's flow charts are solely illustrative and explanatory. The steps may be modified, omitted, repeated, or re-ordered without departing from the scope of this disclosure. Further, each step may contain one or more sub-steps. While the foregoing drawings and description set forth functional aspects of the disclosed systems, no particular implementation or arrangement of software and/or hardware should be inferred from these descriptions unless explicitly stated or otherwise clear from the context. All such arrangements of software and/or hardware are intended to fall within the scope of this disclosure.
The block diagrams and flowchart illustrations depict methods, apparatus, systems, and computer program products. The elements and combinations of elements in the block diagrams and flow diagrams, show functions, steps, or groups of steps of the methods, apparatus, systems, computer program products and/or computer-implemented methods. Any and all such functions—generally referred to herein as a “circuit,” “module,” or “system”—may be implemented by computer program instructions, by special-purpose hardware-based computer systems, by combinations of special purpose hardware and computer instructions, by combinations of general purpose hardware and computer instructions, and so on.
A programmable apparatus which executes any of the above mentioned computer program products or computer-implemented methods may include one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors, programmable devices, programmable gate arrays, programmable array logic, memory devices, application specific integrated circuits, or the like. Each may be suitably employed or configured to process computer program instructions, execute computer logic, store computer data, and so on.
It will be understood that a computer may include a computer program product from a computer-readable storage medium and that this medium may be internal or external, removable and replaceable, or fixed. In addition, a computer may include a Basic Input/Output System (BIOS), firmware, an operating system, a database, or the like that may include, interface with, or support the software and hardware described herein.
Embodiments of the present invention are neither limited to conventional computer applications nor the programmable apparatus that run them. To illustrate: the embodiments of the presently claimed invention could include an optical computer, quantum computer, analog computer, or the like. A computer program may be loaded onto a computer to produce a particular machine that may perform any and all of the depicted functions. This particular machine provides a means for carrying out any and all of the depicted functions.
Any combination of one or more computer readable media may be utilized including but not limited to: a non-transitory computer readable medium for storage; an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor computer readable storage medium or any suitable combination of the foregoing; a portable computer diskette; a hard disk; a random access memory (RAM); a read-only memory (ROM), an erasable programmable read-only memory (EPROM, Flash, MRAM, FeRAM, or phase change memory); an optical fiber; a portable compact disc; 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.
It will be appreciated that computer program instructions may include computer executable code. A variety of languages for expressing computer program instructions may include without limitation C, C++, Java, JavaScript™, ActionScript™, assembly language, Lisp, Perl, Tcl, Python, Ruby, hardware description languages, database programming languages, functional programming languages, imperative programming languages, and so on. In embodiments, computer program instructions may be stored, compiled, or interpreted to run on a computer, a programmable data processing apparatus, a heterogeneous combination of processors or processor architectures, and so on. Without limitation, embodiments of the present invention may take the form of web-based computer software, which includes client/server software, software-as-a-service, peer-to-peer software, or the like.
In embodiments, a computer may enable execution of computer program instructions including multiple programs or threads. The multiple programs or threads may be processed approximately simultaneously to enhance utilization of the processor and to facilitate substantially simultaneous functions. By way of implementation, any and all methods, program codes, program instructions, and the like described herein may be implemented in one or more threads which may in turn spawn other threads, which may themselves have priorities associated with them. In some embodiments, a computer may process these threads based on priority or other order.
Unless explicitly stated or otherwise clear from the context, the verbs “execute” and “process” may be used interchangeably to indicate execute, process, interpret, compile, assemble, link, load, or a combination of the foregoing. Therefore, embodiments that execute or process computer program instructions, computer-executable code, or the like may act upon the instructions or code in any and all of the ways described. Further, the method steps shown are intended to include any suitable method of causing one or more parties or entities to perform the steps. The parties performing a step, or portion of a step, need not be located within a particular geographic location or country boundary. For instance, if an entity located within the United States causes a method step, or portion thereof, to be performed outside of the United States then the method is considered to be performed in the United States by virtue of the causal entity.
While the invention has been disclosed in connection with preferred embodiments shown and described in detail, various modifications and improvements thereon will become apparent to those skilled in the art. Accordingly, the forgoing examples should not limit the spirit and scope of the present invention; rather it should be understood in the broadest sense allowable by law.
This application claims the benefit of U.S. provisional patent applications “Device and System for In-Person Social Networking” Ser. No. 61/915,112, filed Dec. 12, 2013 and “Extended Device and System for In-Person Social Networking” Ser. No. 62/064,472, filed Oct. 16, 2014. The foregoing applications are each hereby incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
61915112 | Dec 2013 | US | |
62064472 | Oct 2014 | US |