1. Field
The present invention relates to social networking, and, in particular to sharing experiences at locations among friends.
2. Description of Related Art
Users of computing devices are offered services that notify them when a friend happens to be in their vicinity. Users of social networks post messages and read messages of other friends that share experiences at selected locations. Thus, knowing that a friend has been at, or is currently at, a certain location may provide a user with a meeting opportunity, conversation topic, and/or useful information and tips.
Currently, services as described above suffer from at least the following drawbacks:
Embodiments of the present invention overcome the drawbacks described above and offer additional advantages, as described herein.
Various embodiments of the present invention provide systems and methods for leaving and retrieving social traces in locations in a convenient manner, while preserving the privacy of all parties involved.
The term “location” herein denotes both a physical/geographical position and a virtual network address/domain/URL (on the World Wide Web) of the Internet. According to various embodiments of the present invention, a location has one or more unique “location identifiers”, any one of which may be used to identify the location. In a non-limiting example, a user with a mobile telephone (a non-limiting example of a user personal computing device) may be at a geographical location with a location identifier expressed as the geographical address “Rittenhouse Square, Philadelphia, Pa., USA”, or an equivalent location identifier expressed as the geographical coordinates “39.949261° N, 75.172197° W” in the Universal Transverse Mercator (UTM) coordinate system. In another non-limiting example, a user with a desktop computer (another non-limiting example of a user personal computing device) may be at a virtual location with a location identifier expressed as the Uniform Resource Locator (URL) “http://www.jpost.com”, or an equivalent location identifier expressed as the IP address “192.114.68.54”.
In the context of comparing one physical location to another, the term “the same” herein denotes a relation that includes the possibility of physical proximity. According to various embodiments of the invention, two physical locations are considered to be “the same” if their geographical coordinates correspond to the same geographical feature, such as when utilized to determine a proximate physical or geographical feature according to known reverse geocoding techniques.
The term “social trace” herein denotes an indication, to a user at a location, that a friend or acquaintance has previously been at that location. Detecting a social trace in a location may motivate persons present and previous at that location with the party that left the trace, in order to exchange experiences and advice. An exemplary data structure of a social trace according to certain embodiments of the invention is described below.
In certain embodiments of the invention, a user's device is considered to be a proxy for the user regarding being at locations. That is, if a user's device has been classified as having been at a location, the user himself or herself is considered to have been at that location. In a related embodiment, a location also has a set of user device identifiers, each of which identifies a device of a user who has been at the location with the device (for physical locations) or via the device (for virtual locations). For purposes of illustration, therefore, a user device may be illustrated herein as being associated with the user.
According to embodiments of the present invention, the term “being at”, along with its related grammatically-inflected forms, herein denotes both: (a) physically being at or in proximity to a geographical or physical location; and (b) being connected via the Internet to a virtual location.
In human subjective terms, “visiting” a location generally denotes being at the location and having some memorable experience there. However, according to various specific embodiments of the invention, “visiting” a location, as opposed to merely being at the location, is an objective quality that may be automatically distinguished from merely being at the location by a device employing measurable “visitation criteria”. In related embodiments of the invention, visitation criteria apply to both physical locations and virtual locations, and include, but are not limited to:
The term “current location” herein denotes a location where a user device is at the present time. According to certain embodiments, if it is automatically detected by a user device, that the device being at the location meets one or more objective criteria (such as those presented above), then the current location is automatically classified by the device as a visited location, i.e., a location visited by the user of the device, because the device is considered as a proxy for the user.
The term “database” herein denotes any machine-accessible and machine-readable data or collection thereof. Although not required, a database may have an associated data structure, or “schema”, which defines the organization of the data.
The term “personal computing device” herein denotes any data processing device or apparatus usable by an individual for personal matters, including but not limited to: desktop, notebook, and laptop personal computers; workstations; mobile devices, such as portable telephonic devices, smartphones, tablet computers, and the like. In certain illustrations and descriptions as disclosed herein, mobile user personal computing devices are featured, it being understood that these are non-limiting examples for purposes of illustration only.
According to various embodiments of the present invention, it is not necessary that the user manually “check in” via some kind of separate or dedicated user input into a device or system at the current location in order for the current location to be recognized, or, as specified for certain embodiments, to be considered a visited location. In related embodiments, a manual user check-in operation is also not sufficient for a location to be considered a visited location. In these embodiments, at least one of the visitation criteria for automatic recognition (above) must be met for the current location to be considered a visited location.
Embodiments of the present invention provide methods and systems that allow a user to automatically create a social trace for a location where the user has been. It is noted that creating a social trace does not leave any physical record at the location itself, but instead stores a data record indicating that the user device was at the location. The data record is kept in a data storage accessible by the user device. According to a related embodiment, the social trace is revealed only to user-selected friends or acquaintances, to whom the record of the user's being at the location is displayed on their respective user devices. In certain embodiments, privacy is attained by recording the locations where the user has been within a storage device accessible only by the user, such as a storage device within the user's own personal computing device, or a cloud storage device accessible only by the user's personal computing devices. In related embodiments, privacy is further enhanced by selectively sharing location information only upon specific user approval. The term “cloud storage” herein denotes remote storage in devices accessible via a network. In certain embodiments of the invention, cloud storage devices provide security, such as via encryption, to protect the data stored therein by allowing access only to authorized devices.
There is thus provided, in accordance with an embodiment of the present invention, a method for leaving social traces by personal computing devices, the method including: (a) storing in a data storage, by a first personal computing device, a plurality of stored locations, wherein each stored location is stored upon being a current location of the first personal computing device; (b) receiving, in the first personal computing device, a query from a second personal computing device of a second user, the query identifying at least the second user and a queried location; (c) responsively to the receiving the query: recognizing, by the first personal computing device, the queried location as being the same as one of the plurality of stored locations; (d) responsively to the recognizing: presenting to the first user, by the first personal computing device, a suggestion to communicate with the second user regarding the queried location; and (e) responsively to receiving a user approval of the suggestion: initiating, by the first personal computing device, a communication session between the first personal computing device and the second personal computing device.
In addition, there is also provided in accordance with an embodiment of the present invention, a personal computing device for a user, the personal computing device including: (a) a processor; (b) a user interface; and (c) a non-transitory storage containing a set of executable instructions for the processor, wherein the executable instructions, when executed by the processor, cause the personal computing device to perform: (1) storing in a data storage a plurality of stored locations, wherein each stored location is stored upon being a current location of the personal computing device; (2) receiving, in the personal computing device, a query from a different personal computing device of a different user, the query identifying at least the different user and a queried location; (3) responsively to the receiving the query: recognizing, by the personal computing device, the queried location as being the same as one of the plurality of stored locations; (4) responsively to the recognizing: presenting to the user, via the user interface, a suggestion to communicate with the different user regarding the queried location; and (5) responsively to receiving a user approval of the suggestion: initiating, by the personal computing device, a communication session between the personal computing device and the different personal computing device.
Furthermore, there is provided according to an embodiment of the present invention an app including a set of executable instructions in a non-transitory storage, wherein the executable instructions of the app, when executed by a processor of a personal computing device of a user, cause the personal computing device to perform: (a) storing in a data storage a plurality of stored locations, wherein each stored location is stored upon being a current location of the personal computing device; (b) receiving, in the personal computing device, a query from a different personal computing device of a different user, the query identifying at least the different user and a queried location; (c) responsively to the receiving the query: recognizing, by the personal computing device, the queried location as being the same as one of the plurality of stored locations; (d) responsively to the recognizing: presenting to the user, via the user interface, a suggestion to communicate with the different user regarding the queried location; and (e) responsively to receiving a user approval of the suggestion: initiating, by the personal computing device, a communication session between the personal computing device and the different personal computing device.
The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which:
Reference is made to
The above information about locations and visits is useful in jogging a user's memory of a visit by describing not only where and when the user had been, but how long he or she stayed at the location and the particulars of what he or she did at the location that would distinguish a visit from merely being at the location. Thus, in a related embodiment of the invention, the details are presented to the user along with a query about that location from another user.
As discussed above, the concept of physical location includes the notion of proximity, so that two physical locations are considered to be “the same” if their geographical coordinates correspond to the same geographical feature, such as when utilized to determine a proximate physical or geographical feature according to known reverse geocoding techniques.
The term “stationary” in the context of personal computing devices herein denotes a device which is not equipped with a physical location sensor, such as a GPS receiver. According to various embodiments of the invention, a stationary personal computing device is not necessarily capable of determining its physical location, and therefore a physical (e.g., geographical) location is not necessarily defined for a stationary device. Ellipsis 219 indicates that additional users and their personal computing devices are possible for the configuration of
According to an embodiment of the invention, virtual locations may easily be specified exactly, such as via a URL or IP address, and therefore the concept of “proximity” is not needed in a virtual context. In this embodiment, two virtual locations are considered to be “the same” only if they correspond to the exact same network location.
In the environments illustrated in
In
It is emphasized that, according to various embodiments of the present invention, the determination that second user 203A is interested in knowing about his or her current location 321 is made solely by second user 203A. As far as the present method is concerned, second user 203A's current location not reported to any central server or other device. That is, the method according to embodiments of the present invention does not reveal to anyone but second user 203A any information or details of his or her current location 321, thereby protecting second user 203A's privacy. (It is possible that other applications, such as navigational applications, may report second user 203A's current location 321 to external entities, but such reporting is completely independent of the present method. If second user 203A wants to keep his or her current location 321 confidential, such as by disabling navigational applications and the like, the confidentiality will not be compromised by the present method.)
In
It is noted that not only does first user 201A receive query 331, but other users in group 333 also receive query 331, and the same actions shown in
It is additionally emphasized that, according to various embodiments of the present invention, the determination that first user 201A previously visited second user 203A's current location 321 is performed by first user 201A's personal computing device 201B, not by a central server or other device. That is, the method according to embodiments of the present invention does not reveal to anyone but first user 201A any information or details of his or her visit(s) to location 321, thereby protecting first user 201A's privacy. (It is possible that other persons may be aware of first user 201A's visit(s) to location 321, but any knowledge they may have of the visit(s) is completely independent of the present method. If first user 201A wants to keep his or her visit(s) to location 321 confidential, the confidentiality will not be compromised by the present method.)
In
According to various embodiments of the invention, communication session 383 is carried out over any suitable communication channel, including, but not limited to: voice communication, such as telephonic voice communication; text communication, such as short message service (SMS), chat, instant messaging services, electronic mail, and the like; or combinations thereof
It is noted that other users in group 333 may also have made previous visits to location 321, and if so, the same actions shown in
It is furthermore emphasized that, according to various embodiments of the present invention, the decision that second user 203A receive information that current location 321 was previously visited by first user 201A is the sole choice of first user 201A, not that of a central server or any other device. That is, if first user 201A does not personally and actively approve initiating a communication session with second user 203A about current location 321, the method according to embodiments of the present invention does not reveal to second user 203A or anyone else any information or details of first user 201A's visit(s) to location 321, thereby protecting first user 201A's privacy. (Once again, it is possible that other persons may be aware of first user 201A's visit(s) to location 321, but any knowledge they may have of the visit(s) is completely independent of the present method. If first user 201A wants to keep his or her visit(s) to location 321 confidential, the confidentiality will not be compromised by the present method.)
Another embodiment of the present invention provides an application (“app”) which includes executable instructions stored in a non-transitory storage unit of a user personal computing device, which instructions, when executed by the personal computing device, cause the personal computing device to perform a method of the present invention, as previously disclosed herein.
Under control by app manager module 503, a visitation manager module 531 classifies attended locations as visited locations according to visitation criteria 307, as previously described.
App manager module 503 also directs a contact manager module 511, which has access to a phone book 551 of personal computing device 201B; a notifier module 513 for preparing user notifications, and a query generator module 515 for preparing and handling user queries and responses thereto, both of which have access to a connection and broadcast manager module 517, which app manager module 503 also controls to establish communication links with other users, such as second user 203A via second user personal computing device 203B. The term “phone book” herein denotes any facility of a personal computing device which stores and maintains data pertaining to personal contacts of the user, including but not limited to: telephone numbers of personal contacts, e-mail addresses of personal contacts, geographical addresses of personal contacts, Internet addresses of personal contacts, social network identifiers, and other data for communicating with personal contacts.
The terms “manager” and “module” herein denote any set of executable instructions which provides a particular functionality or group of functionalities to app 501, whether or not explicitly identified as a separate unit of executable code. Manager modules are shown conceptually in
While the invention has been described with respect to a limited number of embodiments, it will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described herein. Rather the scope of the present invention includes both combinations and sub-combinations of the various features described herein, as well as variations and modifications which would occur to persons skilled in the art upon reading the specification and which are not in the prior art.