This application claims the benefit of U.S. Provisional Patent Application No. 61/981,736, entitled “SHARING A SECRET IN A SOCIAL NETWORKING APPLICATION ANONYMOUSLY”, filed on Apr. 18, 2014, which is incorporated by reference herein in its entirety.
At least one embodiment of the technique introduced here relates to a social networking application, and more particularly, to sharing a secret in the social networking application anonymously.
As social networking has become universal, people have become increasingly sensitive to what they share online. Speaking on a stage in front of a mixed audience of family, friends, and acquaintances makes it hard for the people to be their most authentic selves. As a result, people tend to share only their proudest moments in an attempt to portray their best selves. They often filter too much, and with that, may lose real human connection. People are not free to express themselves without holding back. It's not only speaking on a stage that's hard, it's also difficult choosing when to like, comment, and re-share other people's posts. Sometimes showing approval of controversial content can be embarrassing or intimidating.
Current social networking applications typically require the user to identify themselves. Every action of the user has a bearing on the image or the reputation of the user. As one's social networking applications becomes saturated, the person can feel very public. It puts the focus on managing the person's image, rather than truly bonding with people.
In this day and age, privacy and security are more important than ever. Most of the social networking applications upload the address book to connect the user with their friends. They also store the data as they have to match new friends that join the service long after you've uploaded your address book. But, even if a service doesn't store the contact information in a database, there are all sorts of other places it can go, such as into the logs that nearly all services keep for debug and analytical purposes. The data is there and it's discoverable, and therefore may lack privacy and security.
Introduced here is a technology for sharing secrets in a social networking application anonymously (“the technology”). A user can share content (“secret”) with other users of the social networking application anonymously. The other users may not know who posted the secret. The secret does not include any identifying information, such as username of a user, an image of the user, contact information of the user, etc., that can identify the user who shared the secret. A secret can include multimedia content. In some embodiments, the multimedia content includes text, an image, an audio, a video or a combination thereof. Users can “love”/“heart” and/or comment on a secret. Users can “love”/“heart” and/or comment on a secret. The social networking application assigns a unique avatar to each of the users who comment on a secret. In some embodiments, the avatars are assigned on random basis. An author of the secret is assigned a specific avatar. In some embodiments, authors of any of the secrets are assigned the same specific avatar. Each of the comments is displayed with an avatar assigned to the user who posted the corresponding comment. The avatars can also be assigned based on a theme, occasion, etc.
Users can further share the secret on other social networking applications, e.g., Facebook, Twitter. Like for the user who posts a secret, anonymity is maintained for all types of users in the social networking application, including users who love and/or comment on the secret.
A secret posted by a user is delivered to a selected set of users, e.g., friends of the user. A delivery mechanism determines who the friends of the users are and shares the secret with some or all of the friends of the user. In some embodiments, the friends of a user are a set of individuals in the contacts list of the user, e.g., an address book of the user, who are also members of the social networking application. A friend to whom the secret is delivered is determined as a function of various factors, including one or more of number of comments made by the friend, a number of hearts the friend has received or given, a reputation of the friend, a time of the day, whether the friend is blocked by the user, a geographical location of the friend, etc.
The user devices 110a-d can be a computing device such as a smartphone, tablet, laptop, desktop, wearable electronic gadgets, automobiles with integrated computing devices, etc. The user devices 110a-d can be any computing device that is capable of providing users access to the social networking application 150. The user devices communicate with the server over a network 115, such as Internet, local area network (LAN), wireless LAN, wide area network (WAN) etc.
A user, such as user 105a, posts a secret to the social networking application 150, e.g., using the mobile application executing on the user device 110a. The server 120 receives the secret from the user 105a and determines a list of friends or followers of the user 105a to whom the secret should be delivered. After the list of friends is determined, the server 120 posts the secret to the list of friends who can then view the secret, e.g., on a news feed of the social networking application 150. In some embodiments, a news feed is a portion of the graphical user interface (GUI) of the social networking application 150 where the users 105a-d can view the secrets shared by the user 105a and/or other users. The secrets are shared between the users 105a-d anonymously. That is, the secrets may not have any user identification information, such as username, an image of the user, contact details, etc., that can identify the user. The anonymity is maintained for all the users, e.g., a user who posts the secret, comments on the secret and/or loves the secret.
Each of the secrets displayed in the news feed 235 includes a comment GUI element that enables the user 105a to comment on a secret and a heart GUI element that enables the user to “love”/“heart” the secret indicating that the user likes the secret. For example, the first secret 205 includes a comment GUI element 215 that enables the user 105a to comment on the first secret 205 and a heart GUI element 220 that enables the user to “love”/“heart” the first secret 205. In some embodiments, the secret can include a tag that indicates a general identification of the user who posted the secret, such as “Friend,” “Friend of the friend,” “Your Circle.” In some embodiments, the tag can include a location of the user who posted the secret, such as a city, e.g., San Francisco, or state, e.g., California. For example, the first secret 205 includes a tag 230 that indicates a city of the user who posted the first secret 205. The general identification tags to be displayed on the secret are determined based on various general identification tag criteria, including a number of friends the user 105a has. For example, if the number of friends the user 105a has is below a particular threshold, the general identification tag displayed on the secret can be “Your Circle.”
Referring back to
In some embodiments, the function of a salt is to defend against dictionary attacks and pre-computed rainbow table attacks. A new salt can be randomly generated for contact information of each contact. When the contact information is hashed with the salt, a phone number such as [+15552786005] can become hashed data such as [a22d75c92a630725f4] and the hashed data is sent to the server 120. The original phone number of the contact may not be uploaded from the user device. While only hashed data of the contact information of the contacts of the user 105a is uploaded to the server 120, the contact information of the user 105a may be uploaded in both hashed and non-hashed format.
The communication between the user devices 110a-d and the server 120 can be secured using a secure communication protocol. In some embodiments, the user devices 110a-d transmit the contact information to the server 120 using a cryptographic protocol such as secure socket layer (SSL).
After the server 120 receives the contact information of the user 105a and the contacts of the user 105a in the address book, the server 120 stores the contact information as a user data object, e.g., as illustrated by user data object 315. The user data object 315 stores the contact information of the user 105a in both hashed and non-hashed format as shown in
When the user 105a signs up with the social networking application 150, the server 120 determines if any of the contacts of the user 105a are also in the social networking application 150. The server 120 compares the hashed data of the contact information of each of the contacts of the user 105a with hashed contact information of all other users who have signed up with the social networking application 150 to determine if there is any match. If there is a match between hashed contact information of a particular contact of the user 105a and the hashed information of a particular user in a user data object corresponding to the particular user, then the server 120 determines that the user 105a is “a friend of” or “a follower of” the particular contact in the social networking application 150. After identifying all the friends of the user 105a, the server 120 generates a friend graph object containing the hashed data of the contact information of the friends of the user 105a, e.g., as illustrated by friend graph object 320. The server 120 generates a friend graph object for each of the users in the social networking application 150.
Referring back to the delivery mechanism for the secrets, when the user 105a posts a secret, the server 120 determines a list of friends of the user 105a, e.g., using the friend graph object 320. The server 120 may then send the secret to the friends of the user 105a. In some embodiments, the server 120 may send the secret to a subset of the friends of the user 105a. The server 120 determines the subset of friends based on a function of various factors, including one or more of number of comments made by the friend, a number of hearts the friend has received or given on a particular secret, a reputation of the friend, a time of the day, whether the friend has blocked the user, whether the friend is blocked by the user, a geographical location of the friend, etc.
Further, the secret can be sent to different friends at different times. For example, a secret posted by the user 105a may not be shared with a friend of the user 105a until the friend receives a predetermined number of “hearts” or “loves” on his/her secret or has given a predetermined number of “hearts” or “loves” on secrets posted by other users. After the subset of friends is determined, the server 120 transmits the secret to the subset of the friends. The friends may then see the secret on the news feed of the social networking application 150.
At step 410, the server 120 anonymizes the secret. In some embodiments, anonymizing a secret can include isolating user identification from the secret. The server 120 may extract the user identification information from the secret and then deliver the secret without the user information. The server 120 can store the user identification information associated with the secret separate from the secret on the database. In some embodiments, a user has the option to delink himself/herself from the secret the user has posted, in which case a source of the secret may not be discoverable by any entity, including the social networking application.
At step 415, the server 120 stores the secret at the storage medium 125, e.g., in a database. At step 420, the server 120 transmits the secret to the author. The author can view the secret on the news feed of the social networking application 150. At step 425, the server 120 determines the friends of the author to whom the secret has to be delivered, e.g., as described above at least with reference to
In some embodiments, the fewer “friends” a user has on the social networking application 150, the lesser is the number of secrets displayed to the user. In some embodiments, this is done to avoid simple tricks to isolate individuals and their secrets. Further, the general identification tag displayed in association with the secret when the user does not satisfy a first criterion can be general as “Your Circle.” The user may not know whether a friend of the user or a friend of the friend of the user has posted the secret.
If the number of friends satisfies the first criterion, at step 520, the server displays the secrets posted by the friends of the user as well as by friends of the friends of the user. For example, if the number of friends the user has is more than a first threshold but lesser than a second threshold, the server 120 may transmit secrets that are posted by the friends of the user and friends of the friends of the user to the user. Further, the general identification tag displayed in association with the secret can be general as “Your Circle.” The user may not know whether a friend of the user or a friend of the friend of the user has posted the secret.
At step 525, the server 120 determines whether the number of friends satisfies a second criterion. If the number of friends satisfies the second criterion, the server 120 transmits the secrets posted by the friends of the user as well as by friends of the friends of the user and displays in the general identification tag associated with the secrets whether a particular secret is from a “Friend” or “Friend of the friend.” For example, if the number of friends the user has is greater than the second threshold, the server 120 may transmit secrets that are posted by the friends of the user and friends of the friends of the user to the user and can also display the general identification tag in association with the secret that identifies whether the secret is from a “Friend” or “Friend of the friend.” However, the social networking application 150 does not reveal the identity of the friend or the friend of the friend at any point in time.
At step 620, the server 120 may then send the secret to some or all of the friends of the friend. The secret may continue to be propagated to various degrees of connections of the friends as a particular user hearts or loves the secret. In some embodiments, if the secret a particular user is viewing is posted by a user who is beyond 2 degrees of connection to the particular user, that is, beyond a friend of a friend of a friend of the particular user, the general identification tag displays a location, e.g., a state, a city or a geographical distance of the user who posted the secret.
Though the process 600 describes the criterion for determining whether to share the secret with the friends of the friend is based on a number of hearts the secret receives, the criterion can be based on various other factors, e.g., an amount of time that has elapsed since the secret was posted to the social networking application 150, etc.
At step 710, the client portion hashes the contact information of the user and the contacts of the user. The hashing may be performed using a shared salt (that is shared with the server 120). When the contact information is hashed with the salt, a phone number such as [+15552786005] becomes hashed data such as [a22d75c92a630725f4].
At step 715, the client portion similarly hashes the contact information of the contacts of the user. The original phone number and/or email of the contact may not be uploaded from the user device.
At step 720, the client portion transmits the hashed contact information of the user and the contacts of the user to the server 120. While only hashed data of the contact information of the contacts is uploaded to the server 120, the contact information of the user who signed up may be uploaded in both hashed and non-hashed format.
At step 725, after the server 120 receives the contact information of the user and the contacts of the user, the server 120 determines if any of the contacts of the user are also registered with/members of the social networking application 150. The server 120 compares the hashed data of the contact information of each of the contacts of the user with hashed contact information of all other users in the social networking application 150 to determine if there is any match. If there is a match between the hashed contact information of a particular contact of the user and the hashed information of a particular user in the social networking application 150, the server 120 determines that the user is “a friend of” or “a follower of” the particular contact.
At step 730, after identifying all the friends of the user, the server 120 generates a friend graph object containing the hashed data of the contact information of the friends. The server 120 generates a friend graph object for each of the users in the social networking application 150.
The user can compose the secret by inputting the text of the secret 832 as shown in third GUI 830 of
When the user is ready to post the secret, the user may do so by selecting the posting GUI element such as the posting GUI element 872 in seventh GUI 870. After the user posts the secret, the secret can be viewed in the news feed of the mobile application, e.g., as illustrated in an eighth GUI 880. While the secret is presented on the news feed of the user substantially instantaneously, the social networking application 150 may transmit the secret to the friends of the user at a later time, e.g., based on the delivery mechanism described above.
The ninth GUI 900 illustrates comments 915 displayed with their associated avatars 960. Note that the avatars 960 do not reveal any identity of the users. Each user who comments on a particular secret is assigned a unique avatar from a list of avatars available at the server 120 based on an avatar selection policy. That is, each user is assigned an avatar from the list of available avatars that is not already assigned to any of other users who have commented on the particular secret. However, in some embodiments, the avatars are unique to the users for the comments on the particular secret. That is, an avatar assigned to a user for posting comments on a first secret can be different from an avatar assigned to the user for posting comments on a second secret.
In some embodiments, the avatar selection policy assigns a unique avatar to the user by randomly selecting an avatar from the list of avatars. For example, when a user comments on the particular secret for the first time, the social networking application 150 randomly selects an avatar from the list of avatars that is not already assigned to any of the users who have commented on the particular secret and assigns the randomly selected avatar to the user.
In some embodiments, the avatar selection policy is configured to assign a unique avatar to the user by selecting the avatar from the list of avatars based on contents of the comment made by particular user. For example, when a user comments on the particular secret for the first time, the social networking application 150 analyses the comment to determine a particular category the comment can be classified into. The categories can be based on a theme, an occasion, etc. For example, if the comment is about “romance,” the social networking application 150 can assign an avatar, e.g., a graphical representation of two “hearts,” that relates to the theme “romance.” In another example, if the comment is about cars, the social networking application 150 can assign an avatar, e.g., a graphical representation of a car, that relates to the theme “cars.” The social networking application 150 can various avatars for a particular category.
In some embodiments, the avatar selection policy is configured to assign a unique avatar to the users by selecting the avatars from the list of avatars based on contents of a secret on which the users are commenting. The social networking application 150 analyses the secret to determine a particular category the secret can be classified into. The categories can be based on a theme, an occasion, etc. For example, if the secret is about “food,” the social networking application 150 can assign avatars that relate to the theme “food,” e.g., a graphical representation of various types of food, to the users who comment on the secret. In another example, if the secret is about “fitness,” the social networking application 150 can assign avatars that relate to the theme “fitness,” e.g., a graphical representation of various activities or things associated with “fitness,” to the users commenting on the secret.
Once a user is assigned a unique avatar for commenting on a particular secret, subsequent comments from the user for the particular secret may have the same avatar.
In the ninth GUI 900, the comment “Congratulations, friend! . . . ” on the secret 907 is made by a first user and the comment “Right behind you . . . .” is made by a second user. Accordingly, each of these two users is assigned an unique avatar. For example, the first user is assigned a first avatar 940 and the second user is assigned a second avatar 945. The comments from the first and the second user are associated with their avatars and then displayed with the associated avatars. In the tenth GUI 1000, the comments “How did you do it? . . . ” and “You called them directly . . . ” on the secret 907 are made by the same user and therefore, are displayed with the same avatar, e.g., assigned to the user who posted those comments.
An author of a secret is assigned a predetermined avatar that clearly indicates that a particular comment on the secret is from the author of the secret. In some embodiments, the avatar assigned to an author of any of the secrets is the same. That is, the avatar of a first author of a first secret is same as the avatar of a second author of a second secret. Further, the comment from an author can be visually distinct from that of other users. For example, a format such as a font, color, size, style, of the text of the comment of the author of a secret is different from that of the comments posted by other users. In the tenth GUI 1000, the author of the secret is assigned a “crown” avatar 1025. Accordingly, the comment 1020 from the author is displayed with the “crown” avatar 1025. Further, the text of the comment 1020 is italicized while the text of the comments from the other users are not. In some embodiments, the text is of a different color, e.g., blue, while the text of the comments from other users is in black.
In some embodiments, the list of avatars made available at the server 120 can be changed based on a specific time period. For example, Christmas-themed avatars may be made available during Christmas and the users may be assigned avatars from the Christmas-themed avatars.
Referring back to
The ninth GUI 900 includes various GUI elements. For example, the first portion 905 of the ninth GUI 900 includes a comment GUI element 925 that indicates a number of comments received on the secret 907. In some embodiments, a comment GUI element can also be used to post a comment on a secret. For example, a comment GUI element such as the comment GUI element 215 of
The first portion 905 also includes a “heart” GUI element 930. The “heart” GUI element 930 indicates a number of hearts received on the secret 907, which indicates a number of users who “love” or “like” the secret 907. The “heart” GUI element 930 also facilitates a user to “love” or “like” the secret 907. In some embodiments, when the user “loves” or “likes” the secret 907 on his/her user device, the “heart” GUI element 930 can change in appearance. For example, when the “heart” GUI element 930 receives a “like” or “love,” the color of the “heart” GUI element 930 may change from a first color to a second color, e.g., red, after receiving the “like” or “love.” Various such visual appearance changes can be performed on the “heart” GUI element 930 to indicate to the user that the user has “loved” or “liked” the secret 907.
Each of the comments 915 in the second portion 910 of the ninth GUI 900 includes a comment “heart’ GUI element such as comment “heart’ GUI element 920. The comment “heart” GUI element 920 facilitates the user to “love” or “like” the comment with which the comment “heart” GUI element 920 is associated. A comment can also include a number of hearts GUI element 935 that indicates a number of users who have “liked” or “loved” the comment.
A number of user interactions can be performed on the ninth GUI 900.
Further, the dragging down of the second portion 910 can have a “rubber band” effect on the ninth GUI 900. That is, as the user drags the second portion 910 away from the first portion 905, the first portion 905 expands in size, e.g., occupies a larger real estate of the display of the user device, as shown by first portion 1115 of
While the first portion 905 expands in size as the user drags the second portion 910 away from the first portion 905, the second portion 910 decreases in size, as shown by the second portion 1110 of
Also, while the first portion 905 shrinks to the first portion 1005, the visual characteristics of the contents in the first portion 905 are progressively changed. For example, the image 955 and the secret 907 are progressively blurred, as shown by first content 1240 and second content 1245 in the eleventh GUI 1250 and the tenth GUI 1000, respectively.
In some embodiments, the comments 915 and the comments 1015 include a portion of the comments posted on the secret 907. The user may scroll the comments 1015 in the second portion 1010 to view any additional comments that are not initially displayed. In some embodiments, the comments 1015 displayed in the tenth GUI 1000 can include the comments 915 displayed in the ninth GUI 900. However, a number of the comments 1015 displayed in the tenth GUI 1000 can be more than that of the comments 915 displayed in the ninth GUI 900.
The server 120 includes an author determination module 1315 to determine if any of the comments are posted by an author of the secret. In some embodiments, the author determination module 1315 uses user information, such as email ID and/or phone number or a hashed version of the email ID and/or phone number of the user to determine if the comment is posted by an author of the secret. For example, the author determination module 1315 compares user information of the user who posted the comment with that of the author of the secret to determine if the comment is posted by the author. If the comment is posted by the author, the avatar assigning module 1320 assigns a predetermined avatar to the author and associates the comment posted by the author with the predetermined avatar. The predetermined avatar clearly indicates that a particular comment on the secret is from the author of the secret. In some embodiments, the avatar assigned to an author of any of the secrets is the same. Further, a user such as an administrator of the social networking application 150 can configure a particular avatar from the list of avatars available at the server 120, e.g., in the storage medium 125, as the avatar for an author of a secret.
The avatar assigning module 1320 assigns an unique avatar to each user who comments on a particular secret. That is, each user is assigned an avatar from the list of available avatars that is not already assigned to any of the users who have commented on the particular secret. However, in some embodiments, the avatars are unique to the users for the comments on the particular secret. That is, an avatar assigned to a user for posting comments on a first secret can be different from an avatar assigned to the user for posting comments on a second secret.
The avatars can be assigned based on an avatar selection policy. In some embodiments, the avatar selection policy is configured to assign a unique avatar to the user by selecting the avatar from the list of avatars in a random manner. For example, when a user comments on the particular secret for the first time, the social networking application 150 randomly selects an avatar from the list of avatars that is not already assigned to any of the users who have commented on the particular secret and assigns the randomly selected avatar to the user. The avatar assigning module 1320 associates each of the comments with an avatar assigned to the user who posted the corresponding comment.
The secret presentation module 1325 sends the secret to the computing devices of the users for further display. In some embodiments, the secret presentation module 1325 implements the delivery mechanism of the social networking application 150. As discussed above, at least with reference to
The computing device 110 includes a GUI generation module 1410 that generates the GUI for sharing a secret and comments on the secret between the users 105a-d. In some embodiments, the GUI generation module 1410 generates a GUI for displaying a plurality of secrets. For example, the GUI generation module 1410 generates the first GUI 200 for displaying a plurality of secrets, including secrets 205 and 210. In some embodiments, the GUI generation module 1410 generates a GUI for displaying a secret and comments on the secret. For example, the GUI generation module 1410 generates the ninth GUI 900 for displaying a secret 907 and the comments, including comments 915, associated with the secret 907. In some embodiments, the secret is displayed in a first portion of the GUI and the comments on the secret in a second portion of the GUI. For example, the GUI generation module 1410 generates the ninth GUI 900 for displaying the secret in the first portion 905 of the ninth GUI 900 and the comments 915 of the secret 907 on the second portion 910.
The GUI generation module 1410 can also generate a GUI for the user 105a to post a comment on the secret. For example, the user 105a can comment on the secret 907 by inputting the comment in the third portion 950 of the ninth GUI 900. The computing device 110 includes a secret transceiver module 1420 to receive a secret input by the user 105a at the computing device 110. The secret transceiver module 1420 can also transmit the secret input by the user 105a to the server 120 for further transmission to other users of the social networking application 150, e.g., users 105b-d. The computing device 110 includes a comment transceiver module 1425 to receive comments from a user 105a for one or more secrets posted to the social networking application 150. The comment transceiver module 1425 can also transmit the comments input by the user 105a to the server 120 for further transmission to other users of the social networking application 150, e.g., users 105b-d.
The computing device 110 also includes an user interaction module 1415 that receives user selections or user interactions from the user 105a. The user interactions can result in a change to the GUI generated by the GUI generation module 1410, which can cause the GUI generation module 1410 to regenerate the GUI. For example, as described in association with
The computing device 110 includes a display module 1405 to display the GUI generated by the GUI generation module 1410 to the user 105a.
At block 1510, the comment receiving module 1310 receives comments on the secret from a number of users, e.g., at least a subset of the users 105a-d. The users can post comments on the secret via the social networking apps executing on their corresponding computing devices.
At block 1515, the author determination module 1315 determines if any of the comments received on the secret are from the author of the secret. For example, the author determination module 1315 determines if any of the comments received for the secret 907 are posted by the user 105a, who is the author the secret 907. In some embodiments, the author determination module 1315 uses user information, such as email ID and/or phone number or a hashed version of the email ID and/or phone number of the user to determine if the comment is posted by an author of the secret. For example, the author determination module 1315 compares user information of the user who posted the comment with that of user 105a to determine if the comment is posted by the user 105a.
Responsive to a determination that one or more of the comments are posted by the author of the secret, at block 1520, the avatar assigning module 1320 assigns a predetermined avatar to the author and associates the one or more comments posted by the author with the predetermined avatar. The predetermined avatar clearly indicates that a particular comment on the secret is posted by the author of the secret. For example, the avatar assigning module 1320 assigns a crown avatar 1025 of
Responsive to a determination that none of the comments are posted by the author of the secret, at block 1525, the avatar assigning module 1320 assigns an unique avatar to each user who has posted one or more comments on the secret. That is, each user is assigned an avatar from the list of available avatars that is not already assigned to any of the users who have commented on the secret. For example, the avatar assigning module 1320 assigns unique avatars 940 and 945 to two users who posted comments on the secret 907. However, in some embodiments, the avatars are unique to the users for the comments posted on a particular secret. That is, an avatar assigned to a user for posting comments on a first secret can be different from an avatar assigned to the user for posting comments on a second secret.
The avatars can be assigned to the users based on an avatar selection policy. In some embodiments, the avatar selection policy is configured to assign a unique avatar to the user by selecting the avatar from the list of avatars in a random manner. For example, when a user, e.g., user 105b, comments on the secret 907 for the first time, the social networking application 150 randomly selects an avatar, e.g., first avatar 940, from the list of avatars that is not already assigned to any of the users who have commented on the secret 907 and assigns the randomly selected avatar first 940 to the user 105b.
At block 1530, the avatar assigning module 1320 associates each of the comments posted on the secret with an avatar assigned to the user who posted the corresponding comment.
At block 1535, the comment presentation module 1330 presents the comments to the users 105a-d for display at their corresponding computing devices. For example, the comment presentation module 1330 can transmit the secret 907 and the comments, including comments 915, to the users 105a-d. When the users 105a-d view the comments in their computing devices 110a-d, the comments are displayed with the associated avatars.
At block 1610, the comment transceiver module 1425 receives the comments posted on the secret from the server 120. For example, the computing device 110b receives the comments, including comments 915, posted on the secret 907.
At block 1615, the GUI generation module 1410, generates a first portion of a GUI for displaying the secret received at block 1605. For example, the computing device 110b generates a first portion 905 of the ninth GUI 900 to display the secret 907.
At block 1620, the GUI generation module 1410, generates a second portion of the GUI for displaying the comments posted on the secret. The second portion of the GUI also displays the avatars associated with each of the comments. For example, the computing device 110b generates a second portion 910 of the ninth GUI 900 to display the comments 915 posted on the secret 907. The comments 915 also include avatars such as avatars 940 and 945.
At block 1625, the display module 1405 displays the GUI, including the first portion and the second portion. For example, the computing device 110b displays the ninth GUI 900 with the secret 907 in the first portion 905 and the comments (at least some) in the second portion 910.
The memory 1710 and storage devices 1720 are computer-readable storage media that may store instructions that implement at least portions of the described technology. In addition, the data structures and message structures may be stored or transmitted via a data transmission medium, such as a signal on a communications link. Various communications links may be used, such as the Internet, a local area network, a wide area network, or a point-to-point dial-up connection. Thus, computer-readable media can include computer-readable storage media (e.g., “non-transitory” media) and computer-readable transmission media.
The instructions stored in memory 1710 can be implemented as software and/or firmware to program the processor(s) 1705 to carry out actions described above. In some embodiments, such software or firmware may be initially provided to the computing system 1700 by downloading it from a remote system through the computing system 1700 (e.g., via network adapter 1730).
The technology introduced herein can be implemented by, for example, programmable circuitry (e.g., one or more microprocessors) programmed with software and/or firmware, or entirely in special-purpose hardwired (non-programmable) circuitry, or in a combination of such forms. Special-purpose hardwired circuitry may be in the form of, for example, one or more ASICs, PLDs, FPGAs, etc.
Remarks
The above description and drawings are illustrative and are not to be construed as limiting. Numerous specific details are described to provide a thorough understanding of the disclosure. However, in some instances, well-known details are not described in order to avoid obscuring the description. Further, various modifications may be made without deviating from the scope of the embodiments. Accordingly, the embodiments are not limited except as by the appended claims.
Reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure. The appearances of such phrases in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments but not for other embodiments.
The terms used in this specification generally have their ordinary meanings in the art, within the context of the disclosure, and in the specific context where each term is used. Terms that are used to describe the disclosure are discussed below, or elsewhere in the specification, to provide additional guidance to the practitioner regarding the description of the disclosure. For convenience, some terms may be highlighted, for example using italics and/or quotation marks. The use of highlighting has no influence on the scope and meaning of a term; the scope and meaning of a term is the same, in the same context, whether or not it is highlighted. It will be appreciated that the same thing can be said in more than one way. One will recognize that “memory” is one form of a “storage” and that the terms may on occasion be used interchangeably.
Consequently, alternative language and synonyms may be used for any one or more of the terms discussed herein, nor is any special significance to be placed upon whether or not a term is elaborated or discussed herein. Synonyms for some terms are provided. A recital of one or more synonyms does not exclude the use of other synonyms. The use of examples anywhere in this specification including examples of any term discussed herein is illustrative only, and is not intended to further limit the scope and meaning of the disclosure or of any exemplified term. Likewise, the disclosure is not limited to various embodiments given in this specification.
Those skilled in the art will appreciate that the logic illustrated in each of the flow diagrams discussed above, may be altered in various ways. For example, the order of the logic may be rearranged, substeps may be performed in parallel, illustrated logic may be omitted; other logic may be included, etc.
Without intent to further limit the scope of the disclosure, examples of instruments, apparatus, methods and their related results according to the embodiments of the present disclosure are given below. Note that titles or subtitles may be used in the examples for convenience of a reader, which in no way should limit the scope of the disclosure. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains. In the case of conflict, the present document, including definitions will control.
Number | Name | Date | Kind |
---|---|---|---|
6175842 | Kirk et al. | Jan 2001 | B1 |
7058895 | Kautto-Koivula et al. | Jun 2006 | B2 |
7313766 | Kautto Kiovula et al. | Dec 2007 | B2 |
8271516 | Gounares et al. | Sep 2012 | B2 |
8276071 | Shuster et al. | Sep 2012 | B2 |
8386318 | Varadarajan et al. | Feb 2013 | B2 |
8388451 | Auterio et al. | Mar 2013 | B2 |
8510399 | Byttow et al. | Aug 2013 | B1 |
8578501 | Ogilvie | Nov 2013 | B1 |
8589792 | Shuster et al. | Nov 2013 | B2 |
8606703 | Dorsey et al. | Dec 2013 | B1 |
8725826 | Robinson et al. | May 2014 | B2 |
8739070 | Mullen | May 2014 | B2 |
20080147743 | Taylor et al. | Jun 2008 | A1 |
20080229215 | Baron et al. | Sep 2008 | A1 |
20090125521 | Petty | May 2009 | A1 |
20100070926 | Abanami et al. | Mar 2010 | A1 |
20110173261 | McCallie, Jr. et al. | Jul 2011 | A1 |
20110213975 | Sorniotti et al. | Sep 2011 | A1 |
20110271230 | Harris et al. | Nov 2011 | A1 |
20120124482 | Ray et al. | May 2012 | A1 |
20120290979 | Devecka | Nov 2012 | A1 |
20120303659 | Erhart et al. | Nov 2012 | A1 |
20120303727 | Spat | Nov 2012 | A1 |
20130007149 | Harris | Jan 2013 | A1 |
20130055089 | Gundotra et al. | Feb 2013 | A1 |
20130067227 | Derrick | Mar 2013 | A1 |
20130073982 | Abouyounes | Mar 2013 | A1 |
20130080928 | Zhuang et al. | Mar 2013 | A1 |
20130086484 | Antin et al. | Apr 2013 | A1 |
20130091209 | Bennett et al. | Apr 2013 | A1 |
20130110929 | Gundotra et al. | May 2013 | A1 |
20130117301 | Horling et al. | May 2013 | A1 |
20140052538 | Foote et al. | Feb 2014 | A1 |
20140082078 | Dunn et al. | Mar 2014 | A1 |
20140136617 | Singer et al. | May 2014 | A1 |
20140164504 | Dellenbach et al. | Jun 2014 | A1 |
20140173461 | Shahade | Jun 2014 | A1 |
Entry |
---|
Bertier, Marin, et al. “The gossple anonymous social network.” Proceedings of the ACM/IFIP/USENIX 11th International Conference on Middleware. Springer-Verlag, 2010. |
http://www.4squarebadges.com/foursquare-badge-list/. |
Number | Date | Country | |
---|---|---|---|
61981736 | Apr 2014 | US |