WO2023278887A2 - Interaction sélective avec des utilisateurs et un contenu d'utilisateur pour une plateforme de messagerie sociale - Google Patents

Interaction sélective avec des utilisateurs et un contenu d'utilisateur pour une plateforme de messagerie sociale Download PDF

Info

Publication number
WO2023278887A2
WO2023278887A2 PCT/US2022/036080 US2022036080W WO2023278887A2 WO 2023278887 A2 WO2023278887 A2 WO 2023278887A2 US 2022036080 W US2022036080 W US 2022036080W WO 2023278887 A2 WO2023278887 A2 WO 2023278887A2
Authority
WO
WIPO (PCT)
Prior art keywords
user
user account
subaccount
accounts
account
Prior art date
Application number
PCT/US2022/036080
Other languages
English (en)
Other versions
WO2023278887A3 (fr
Inventor
Shoab AHMED
Steve BUSHELL
Dominic CAMOZZI
Jerry Chen
Yun Cheng
Andrew COURTER
Arthur DE ARAUJO
Kossivi ESSE
Zhenqian HE
Talha KAPADIA
Marissa LE COZ
George Leontiev
Jason Li
Shashi LIYANAGE
Amro Mousa
Ataul MUNIM
Gavin SCHULZ
Sidharth Shanker
Danielle SHWED
Lindsay Smith
Christine SU
Dung TA
Tyrus TENNESON
Tristan VANECH
Christopher Wright
Feng Yun
Original Assignee
Twitter, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Twitter, Inc. filed Critical Twitter, Inc.
Publication of WO2023278887A2 publication Critical patent/WO2023278887A2/fr
Publication of WO2023278887A3 publication Critical patent/WO2023278887A3/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/48Message addressing, e.g. address format or anonymous messages, aliases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes

Definitions

  • Popular social messaging platforms generally provide functionality for users to draft and post/send messages, including video and/or audio content, both synchronously and asynchronously to other users. Other common features include the ability to post messages that are visible to one or more identified other users of the platform, to other users by virtue of a connection to the authoring user on the platform, or even publicly to any user of the platform without specific designation by the authoring user. Examples of popular social messaging platforms include Facebook®, Instagram®, Pinterest®, and Twitter®. (“Facebook” and “Instagram” are trademarks of Facebook, Inc. “Pinterest” is a trademark of Pinterest, Inc. “Twitter” is a trademark of Twitter, Inc.).
  • the users of the social messaging platform are typically permitted to, and capable of, both authoring messages for others and receiving messages from others. Some users, however, are more adept at generating content/authoring messages and/or are famous, such that there is widespread interest in their messages. These users are sometimes referred to as “authoring users,” “content creators,” or “creators.” For example, content creators are often celebrities who are users of the social messaging platform. In turn, some users of the social messaging platform who are connected to the content creators predominantly consume the content generated by the content creators (e.g., by reading, rating, and/or sharing the messages authored by the content creators). These users are sometimes referred to as “content consumers,” “subscribers,” or “followers.” It should be appreciated that content creators can be followers of other users and each follower can themselves be a content creator.
  • a content creator can sometimes have numerous followers (e.g., in the millions, such as fans of movie stars). When the content creator posts a message to the social messaging platform, the message is typically shared with at least the content creator’s followers. In some instances, the content creator’s message can also be accessible by other users of the social messaging platform who are not followers of the content creator or visible to non-users of the social messaging platform (e.g., users who have an Internet connection can see the content creator’s message posted on a website).
  • social messaging platforms are generally well-suited for users and, in particular, content creators to post messages and/or share other social media content with a large audience (e.g., followers). And yet, the Inventors have also recognized social messaging platforms often provide users limited options or, in some instances, no options at all to selectively engage other users and/or different types of content posted by users.
  • social messaging platforms typically allow a content creator to readily post a message to all other users of the social messaging platform (e.g., a public message), their followers (e.g., a targeted message), or only one other identified user (e.g., a direct message).
  • social messaging platforms do not typically provide a way for the content creator to easily send a message to a specific group of users identified by the creator.
  • users generally have varied interests and often use social messaging platforms to post messages on different topics. For example, a user may post messages that cover their professional work and other messages that cover their personal lives. In another example, a user may post messages about pet care and other messages about cooking techniques. For content creators, however, posting content on different topics can lead to brand dilution and confusion amongst their audiences as to which users are being targeted with their content.
  • social messaging platforms typically do not provide a way for content creators to easily disseminate content to different audiences or for users to readily selectively choose the type of content posted by a content creator to consume.
  • the present disclosure is directed to various inventive implementations of a social messaging platform to facilitate selective social engagement between users of the platform by allowing a user to (1) to categorize their content for different target audiences using a single user account and (2) define groups of other users to receive messages.
  • the present disclosure is also directed to various inventive methods for using the social messaging platform and, in particular, selectively engaging users and/or the content posted by users.
  • the social messaging platforms disclosed herein provide features for users to categorize their content into different subaccounts (also referred to herein as “facets” or “personas”) using a single user account.
  • a content creator can create multiple subaccounts to cover different topics or types of content, such as one subaccount covering content on their professional life and another subaccount covering content on their personal life.
  • the content creator can select one or more subaccounts to associate with the message.
  • the social messaging platform can store the subaccounts associated with the message for the purposes of allowing users to selectively filter the content posted by the content creator based on their subaccounts.
  • each message can further include a visual indicator (e.g., a label) for users to readily identify which subaccount(s) is associated with the message.
  • the subaccounts disclosed herein provide a way for content creators to post messages with content covering different topics targeting different audiences from a single user account.
  • the content posted by a content creator can thus be consolidated into a single account for ease of management compared to switching between multiple user accounts.
  • subaccounts allow users to readily identify the content creator based on their user account while providing a way for users to selectively choose which content they want to view from the content creator.
  • the social messaging platforms disclosed herein can also support public and private subaccounts. Messages associated with a public subaccount can generally be viewed by any user of the social messaging platform.
  • messages associated with a private subaccount can only be viewed if the content creator provides access to the user. For example, a user can submit a request to subscribe to a private subaccount and if the content creator thereafter approves the request, the user can then receive messages associated with the private subaccount.
  • users can selectively subscribe to one or more subaccounts of a content creator.
  • the content creator posts a message to a subaccount subscribed by a user, the user can then receive that message automatically (e.g., in a stream displayed on the user’s device).
  • Each subaccount of the content creator can thus generally have a unique set of subscribers (i.e., followers), which can partially overlap with other subaccounts.
  • the users who subscribed to a particular subaccount can be stored as a connection graph in the social messaging platform (e.g., a database, onboard memory of a platform server).
  • the connection graph can include a first set of nodes representing the different subaccounts defined by a content creator.
  • the connection graph When a user subscribes to one or more subaccounts of the content creator, the connection graph includes a second node representing the user and corresponding edges connecting the second node to each of the first nodes in which the user subscribed to a subaccount.
  • the first user can subscribe to the first subaccount of the content creator.
  • the content creator posts a message associated with the first subaccount, the message can be displayed on the first user’s device while excluding messages posted to other subaccounts of the content creator.
  • a second user is only interested in the first subaccount and a second subaccount of the content creator, the second user can subscribe to the first subaccount and the second subaccount of the content creator and thereafter receive messages posted by the content creator associated with the first and/or second subaccounts.
  • the foregoing examples are non-limiting and that the subaccounts described herein also allow users to subscribe and/or display all of the content creator’s posted messages.
  • the social messaging platforms disclosed herein further allow users (e.g., content creators) to define a group of users (also referred to herein sometimes as a “friends list,” a “trusted friends list”, or an “inner circle”) from the users of the social messaging platform to selectively receive messages.
  • the friends list can be defined regardless of whether the content creator has followers.
  • the creator can select the friends list to receive the message.
  • the creator can then send the message to the users in the friends list.
  • a message posted to a friends list is also referred to as a “friends list message.”
  • the message is generally visible only to the users in the friends list.
  • Users in the friends list can respond to the creator’s friends list message, for example, by posting a reply message and the visibility of any reply messages can also be limited only to the users in the friends list.
  • the social messaging platform can prohibit the users in the friends list from sharing or reposting the creator’s message for other users outside the friends list to view.
  • the friends list can provide content creators the ability to identify and manage the audience consuming their content. This, in turn, allows content creators to define a more comfortable and low-pressure environment to share their content, thus encouraging social engagement with other users of the social messaging platform.
  • the social messaging platforms disclosed herein provides a user interface for content creators to compose a message with a user interface component that allows the user to select a desired audience to receive the message.
  • the interface component can provide a drop-down list or a prompt with a list of groups that the content creator can select.
  • the list of groups can include, but is not limited to, all users of the platform (i.e., everyone), all followers of the creator, and one or more friends lists defined by the content creator.
  • the content creator wants to post a message to their friends list, they can select the friends list from the list of groups when composing the message.
  • the user interface allows users to easily select different audiences to receive a message and/or social media content from the same account.
  • the social messaging platform can generally store and manage the users in a content creator’s friends list using a connection graph (also referred to as a “flock graph”) stored in memory/database of the platform.
  • a connection graph also referred to as a “flock graph”
  • the presence of an edge between a user and a node representing the friends list in the connection graph indicates the user is a member of the friends list.
  • the edge further specifies whether the user is the owner of the friends list (i.e., the content creator).
  • the content creator’s friends list can be readily edited and/or changed only by the content creator. For example, the content creator can add or remove other users from the friends list without approval from the other users. When a user is added to the content creator’s friends list, an edge is formed between the user and the creator’s friends list in the connection graph. Likewise, when a user is removed from the content creator’s friends list, the edge between the user and the friends list is removed in the connection graph.
  • the social messaging platform can further generate and display a list of recommended users for the content creator to select from when creating or editing the friends list.
  • the social messaging platform can also store a directory of users and provide a user interface component for the content creator to search and add to their friends list, such as search box.
  • the user interface of the social messaging platform can display friends list messages posted to a friends list together with other messages from other users.
  • This user interface can be displayed for both the owner of the friends list (e.g., the content creator) and members of the friends list.
  • the user interface can include a message stream (also sometimes referred to herein as a “timeline”) for each user, which displays messages in a particular order to the user (e.g., chronological order, reverse chronological order, relevance, and/or the like).
  • the user interface can further be interactive allowing the user to view different messages in the message stream, for example, by scrolling the message stream using a touch screen or a pointing device (e.g., a mouse).
  • the messages posted to the friends list can be displayed in the same manner as other messages in a user’s message stream, but include a label to distinguish the friends list messages from other messages.
  • the label can be a pop-up notification explaining to the user why the message is visible (e.g., the user is in the friends list of a content creator).
  • friends list messages can be displayed and consumed seamlessly with other messages while still being identifiable to the user.
  • FIG. 1A shows an example social messaging platform that supports various selective engagement features.
  • FIG. IB shows example components of a user device in the messaging platform of FIG. 1A.
  • FIG. 1C shows example components of a platform server in the messaging platform of FIG. 1A.
  • FIG. 2A shows an example user interface to compose a message on a first user device associated with a first user with a prompt to select a subaccount associated with the first user.
  • FIG. 2B shows an example user interface displayed on a second user device associated with a second user where the user interface includes multiple subaccounts of the first user of FIG. 2A available for selection.
  • FIG. 3A shows a flow chart of an example method for generating a new subaccount for a user.
  • FIG. 3B shows a flow chart of an example method for subscribing to a subaccount.
  • FIG. 3C shows a flow chart of an example method for transmitting a message associated with a subaccount to users who elected to receive messages associated with that subaccount.
  • FIG. 4A shows an example user interface to compose a message.
  • FIG. 4B shows the user interface of FIG. 4A with a prompt to create a friends list.
  • FIG. 4C shows the user interface of FIG. 4A with a prompt summarizing various features of the friends list.
  • FIG. 4D shows an example user interface with a list of users available for selection in the friends list.
  • FIG. 4E shows the user interface of FIG. 4D with one user selected for addition to the friends list.
  • FIG. 4F shows the user interface of FIG. 4A after creation of the friends list with a pop-up notification indicating the friends list is selected for receipt of the message.
  • FIG. 4G shows the user interface of FIG. 4A after selecting the friends list to receive the message.
  • FIG. 5 shows the user interface of FIG. 4A with a pop-up notification to indicate the message can be sent to a friends list before or after the creation of a friends list.
  • FIG. 6A shows the user interface of FIG. 4A with a prompt to select an audience to receive the message where the audience includes the friends list.
  • FIG. 6B shows an example user interface of a list of users in the friends list and additional users available for selection to add to the friends list.
  • FIG. 6C shows the user interface of FIG. 6B with one additional user added to the friends list.
  • FIG. 6D shows the user interface of FIG. 6A after selecting the users in the friends list to receive the message.
  • FIG. 6E shows the user interface of FIG. 4A after selecting the friends list to receive the message.
  • FIG. 7A shows another example user interface with a stream of messages displayed including a content creator’s message and a label to indicate the creator’s message is displayed because the recipient is in the friends list of the creator.
  • FIG. 7B shows an example user interface of a message thread associated with the creator’s message of FIG. 7 A.
  • FIG. 7C shows an example user interface to compose a reply message in response to the creator’s message of FIG. 7A.
  • FIG. 7D shows the user interface of FIG. 7A after the reply message is posted. The reply message and the creator’s message are shown.
  • FIG. 7E shows the user interface of FIG. 7B where the message thread includes the reply message of FIG. 7D.
  • FIG. 7F shows an example user interface of a message thread associated with the reply message of FIG. 7D.
  • FIG. 7G shows the user interface of FIG. 7B with a prompt indicating the creator’ s message cannot be reposted or shared with other users on the social messaging platform.
  • FIG. 7H shows the user interface of FIG. 7B with a prompt indicating the creator’ s message cannot be shared with other users outside the social messaging platform.
  • FIG. 8 shows an example user interface with a stream view of messages and a prompt to indicate the display of messages associated with the friends list are prioritized.
  • FIG. 9A shows another example user interface with a stream view of messages including a creator’s message and a label to indicate the creator’s message is displayed because the recipient was added to the friends list of the creator.
  • FIG. 9B shows an example user interface of a message thread associated with the creator’s message of FIG. 9 A.
  • FIG. 10A shows an example user interface to manage membership of the users in the friends list.
  • FIG. 10B shows the user interface of FIG. 10A where a list of recommended users available to add to the friends list is displayed.
  • FIG. IOC shows another example user interface to manage membership of the users in the friends list.
  • FIG. 10D shows another example user interface to manage membership of the users in the friends list.
  • FIG. 10E shows the user interface of FIG. 10D where a list of recommended users available to add to the friends list is displayed.
  • FIG. 11 shows an example menu to access the user interfaces of FIGS. 10A-10E to manage membership of the users in the friends list.
  • FIG. 12A shows a flow chart of an example method for generating a friends list.
  • FIG. 12B shows a flow chart of an example method for transmitting a message to a friends list.
  • FIG. 13 shows a block diagram of an example system to manage the transmission of messages to users of a social messaging platform based on membership in a friends list.
  • FIG. 14 shows a table of example permissions for users of the social messaging platform differentiated based on whether the user is a content creator, a member of a friends list, or a non member of a friends list.
  • FIG. 15A shows an example user interface with a stream of messages including a message to review and/or modify one or more privacy settings for a user account associated with the stream.
  • FIG. 15B shows an example user interface with a preset selection of privacy settings associated with the user’s account of FIG. 15 A.
  • the preset selection shown includes settings that do not impose restrictions on the interaction of the user’s with the user’s account.
  • FIG. 16A shows another example preset selection of privacy settings for the user interface of FIG. 15B that imposes restrictions on photo tagging and direct messages.
  • FIG. 16B shows another example preset selection of privacy settings for the user interface of FIG. 15B that imposes restrictions on photo tagging, direct messages, and visibility of messages.
  • FIG. 16C shows another example preset selection of privacy settings for the user interface of FIG. 15B with custom settings selected by the user.
  • FIG. 17A shows an example user interface with discoverability settings for a user account.
  • FIG. 17B shows the user interface of FIG. 17A where the discoverability settings are turned off for a predetermined period of time or indefinitely.
  • FIG. 17C shows an example user interface of a lock screen on a user device associated with the user account of FIG. 17A with a notification to indicate other users of the social messaging platform searched for the user account.
  • FIG. 18A shows an example user interface with a stream list displayed on a user device associated with a first user where the stream list was created by a second user to include messages posted by the first user.
  • the user interface includes a pop-up notification to indicate to the first user an option to remove the first user’s messages from the second user’s stream list.
  • FIG. 18B shows the user interface of FIG. 18A with an expanded menu that includes an option to remove the first user from the second user’s stream list.
  • FIG. 18C shows the user interface of FIG. 18B after selecting the option to remove the first user from the second user’s stream list.
  • FIG. 19A shows an example user interface on the user device of the first user of FIG. 18A with a notification indicating the first user was added to the second user’s stream.
  • FIG. 19B shows an example user interface with stream list settings to control which other users of the social messaging platform can add the first user to their respective stream lists.
  • FIG. 20A shows an example user interface with a message thread displayed on a user device associated with a first user where the thread includes messages posted by other users with references to the first user.
  • the user interface also includes a pop-up notification to indicate an option to modify the display of references to the first user in the thread.
  • FIG. 20B shows the user interface of FIG. 20A with an expanded menu that includes an option to remove references to the first user in the thread.
  • FIG. 20C shows the user interface of FIG. 20B after selecting the option to remove references to the first user in the thread.
  • FIG. 21 A shows another example user interface with a message displayed on a user device associated with a first user where the message is authored by a second user and includes a reference to the first user.
  • the user interface also includes a label associated with the message that includes an option to remove the reference to the first user.
  • FIG. 21B shows the user interface of FIG. 21 A after selecting the option to remove the reference to the first user.
  • FIG. 21C shows an example user interface to compose a message on a user device associated with the second user that includes a label indicating the first user cannot be referenced in the message.
  • FIG. 22A shows an example user interface with a message displayed on a user device associated with a first user to modify reference settings controlling how the first user is referenced in other users’ messages.
  • FIG. 22B shows the user interface of FIG. 22A with a prompt that includes options to control which users are allowed to reference the first user.
  • FIG. 22C shows an example user interface with a list of users who referenced the first user of FIG. 22 A and a list of users who were previously restricted from referencing the first user.
  • a social messaging platform configured for the creation of one or more subaccounts to categorize a user’s content to allow other users to selectively display content according to one or more associated subaccounts.
  • the social messaging platform is further configured for the creation of a friends list for users to selectively send and share messages with other identified users in the friends list.
  • inventive social messaging platforms are provided, wherein a given example or set of examples showcases one or more particular features or aspects related to the generation, storage, and management of one or more subaccounts, the dissemination of messages to one or more subaccounts, and the selective display of messages associated with one or more subaccounts and the generation, storage, and management of a friends list, the sharing of friends list messages and/or other social media content to the friends list, the selective display of said friends list messages and/or other social media content to members of the friends list.
  • FIG. 1A illustrates an example online social messaging platform 100 and example user devices 104a-104n configured to interact with the platform over one or more wired or wireless data communication networks 120.
  • Users 102a-102n of the platform use their user devices 104a- 104n, on which client software 106a-106n is installed, to use the platform.
  • a user device can be any Internet-connected computing device, e.g., a laptop or desktop computer, a smartphone, or an electronic tablet.
  • the user device can be connected to the Internet through a mobile network, through an Internet service provider (ISP), or otherwise.
  • ISP Internet service provider
  • Each user device is configured with software, which will be referred to as a client or as client software 106a-106n, that in operation can access the platform 100 so that a user can post and receive messages, view, interact with, and create streams of messages and other content items, and otherwise use the service provided by the platform.
  • the client software 106a-106n can be adapted for operation on different user devices and/or different operating systems.
  • the client software 106a-106n can run on various operating systems including, but not limited to, Google AndroidTM, Apple iOS®, Google Chrome OSTM, Apple MacOS®, Microsoft Windows®, and Linux®.
  • the client software 106a-106n can further include web applications and cloud-based smartphone applications (e.g., the client software 106a isn’t installed directly onto the user’s device, but is rather accessible through a web browser on the user’s device).
  • a message posted on the platform 100 contains data representing content provided or selected by the author of the message.
  • the message may be an instance of a container data type (also sometimes referred to as a ‘message object’) storing the content data.
  • the types of data that may be stored in a message include text, graphics, images, video, audio content, and computer code, e.g., uniform resource locators (URLs), for example.
  • URLs uniform resource locators
  • Messages can also include key phrases or tags (e.g., a hashtag represented by “#”), that can aid in categorizing messages or in linking messages to topics.
  • Messages can further include one or more fields for metadata that may or may not be editable by the message author or account holder, depending on what the platform permits.
  • Examples of fields for message metadata can include, but is not limited to, a time and date of authorship and a geographical location of the user device when the client posted the message.
  • what metadata is provided to the platform by a client is determined by privacy settings controlled by the user or the account holder.
  • Messages composed by one account holder may include references to other accounts, other messages, or both.
  • a message may be composed in reply to another message posted by another account or by the user.
  • Messages may also be re-publications of messages received from another account.
  • an account referenced in a message may appear as visible content in the message, e.g., as the name of the account, and may also appear as metadata in the message.
  • the referenced accounts can be interactive in the platform. For example, users may interact with account names that appear in their message stream to navigate to message streams of those accounts.
  • the platform also allows users to designate particular messages as private; a private message will only appear in the message streams of the composing and recipient accounts.
  • messages on the platform are microblog posts, which differ from email messages in a number of ways, for example, in that an author of the post does not necessarily need to specify, or even know, which accounts the platform will select to provide the message to.
  • the platform 100 is implemented on one or more servers 110a- 110m in one or more locations (also referred to more generally as a “platform server 110”). Each server is implemented on one or more computers, e.g., on a cluster of computers.
  • the platform 100 further includes a database 117 to store, for example, data on each user’s user account, posted messages, and various settings that affect how engagement and/or interactions with the user and their posted messages.
  • the platform, the user devices, or both are configured, as will be described, to implement or perform one or more of the innovative technologies described in this specification. Further information about user devices, clients, servers, and the platform is provided later in this specification.
  • aspects disclosed herein are generally directed to establishing and managing various features that affect how users engage with one another (e.g., a friends list) and how users can engage with different subaccounts of the same user, with that user posting different content to the different subaccounts.
  • Such aspects may be executable by any suitable components of the platform 100 such as, for example, by one or more of the platform servers 110a- 110m, and/or by any suitable components of the user devices 104a-104n.
  • FIG. IB shows an expanded view of the user device 104a.
  • the user device 104a includes one or more processors 101 and a memory 105. Unless indicated otherwise, all components of the user device 104a herein can be in communication with each other.
  • FIG. 1C shows an expanded view of the platform server 110a.
  • the platform server 110a includes one or more processors 111 and a memory 115.
  • the platform server 110a can further be communicatively coupled to the database 117. Unless indicated otherwise, all components of the platform server 110a herein can be in communication with each other.
  • One or more of the servers 110 implement one or more selective engagement modules 112, directed to managing engagement between users 102a-102n of the messaging platform 100 (and between users 102a-102n and messages 122.
  • the client software 106a- 106n also includes one or more selective engagement modules 108 to facilitate user interaction and communication with the engagement modules 112 on the server(s) including, but not limited to, providing a user interface for users to manage and use one or more engagement modules 112 and/or access data associated with one or more engagement modules 112 stored on the server(s).
  • the one or more processors 101 and 111 can each (independently) be any suitable processing device configured to run and/or execute a set of instructions or code associated with its corresponding user device 104, platform server 110, and/or the platform 100.
  • Each processor can be, for example, a general-purpose processor, a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), and/or the like.
  • the one or more processors 101 and 111 can execute the selective engagement modules 108 and 112, respectively, as described in further detail below.
  • the memory 105, the memory 115, and the database 117 can encompass, for example, a random-access memory (RAM), a memory buffer, a hard drive, a database, an erasable programmable read-only memory (EPROM), an electrically erasable read-only memory (EEPROM), a read-only memory (ROM), Flash memory, and/or so forth.
  • the memory 105, the memory 115, and the database 117 can store instructions to cause the one or more processors 101 and 111, respectively, to execute processes and/or functions associated with the selective engagement modules 108 and 112, the user device 104, the platform server 110, and/or the platform 100.
  • the memory 105, the memory 115, and the database 117 can store any suitable content for use with, or generated by, the platform including, but not limited to, one or more connection graphs, a rule repository, and/or the like.
  • the memory 105 can store several selective engagement modules 108 including, but not limited to, a friends list module 108a, a subaccounts module 108b, a privacy settings module 108c, a discoverability module 108d, a stream list module 108e, and a reference module 108f.
  • FIG. 1C similarly shows the memory 115 can store several selective engagement modules 112 including, but not limited to, a friends list module 112a, a subaccounts module 112b, a privacy settings module 112c, a discoverability module 112d, a stream list module 112e, and a reference module 112f.
  • the friends list modules 108a and 112a are directed to establishing and managing one or more friends lists between users 102a-102n of the messaging platform 100. This includes providing a user interface for users to manage and use a friends list and adding or removing users to a friends list stored on the server(s). As described herein, the platform 100 permits a user (sometimes referred to herein as a “content creator” for simplicity) to create a friends list comprising one or more other users (sometimes referred to as “members of the friends list”), which allows the content creator to selectively send a message to the members of the friends list.
  • a user sometimes referred to herein as a “content creator” for simplicity
  • members of the friends list sometimes referred to as “members of the friends list”
  • the platform 100 also permits members of the friends list to respond to any content posted by the content creator, for example, by posting a reply message (e.g., a text-based message, other social media content).
  • the platform 100 further limits the visibility of any content posted to the friends list to members of the friends list.
  • the friends list provides content creators a way to control who receives the creator’s content amongst the users of the platform 100. This, in turn, can encourage more social engagement between users, in part, by allowing users to define groups of users with whom they are more comfortable sharing content.
  • the subaccounts modules 108b and 112b are directed to establishing one or more subaccounts to categorize messages and/or content posted by a first user (e.g., the user 102a) and managing the visibility and interaction with the messages posted by the first user by other users (e.g., the user 102n) based on their association with one or more subaccounts created by the first user.
  • This includes providing a user interface for users to select a subaccount to associate with a message, a user interface to select a subaccount of another user for purposes of selectively displaying messages associated with that subaccount, and managing the subscription of users to one or more subaccounts of the first user.
  • a content creator interested in posting messages with content covering different topics can create multiple subaccounts from a single user account for each topic of interest (e.g., a subaccount on their professional life, another subaccount on their personal life).
  • the content creator can select their user account and/or one or more subaccounts (including a default subaccount) to associate with the message. Users can thereafter selectively include (or exclude) the message from view on their user device (e.g., in a stream on their user device) based on whether they subscribed to the subaccount(s) associated with the message.
  • content creators can post messages for different target audiences and users can selectively choose which content they want to view by a particular content creator.
  • the privacy settings modules 108c and 112c are directed to managing privacy settings that control how other users interact with one another and the messages posted on the social messaging platform 100.
  • the privacy settings with respect to a first user can include, but is not limited to, a setting that controls whether users can view messages posted by the first user or the first user’s interactions with messages posted by other users (e.g., a repost, a reply message, an indication the first user liked or favorited the message), a setting that controls whether users can tag the first user in an image or a video, and a setting that controls whether users can directly message the first user.
  • the discoverability modules 108d and 112d are directed to managing discoverability settings that control how users can be found by other users on the social messaging platform 100.
  • the discoverability settings with respect to a first user can include, but is not limited to, a setting that controls whether other users can search for the first user (e.g., based on the first user’s username) and a setting that controls whether the first user can be recommended to other users (e.g., to follow, during creation of a friends list).
  • the discoverability modules 108d and 112d can further provide users the option to turn off a discoverability setting for a limited period of time (e.g., 1 month) or indefinitely.
  • the discoverability modules 108d and 112d can also inform a user whether their user account or username was searched for by other users.
  • the stream list modules 108e and 112e are directed to controlling whether a user’s messages can be added to a stream list generated by another user.
  • a stream list can be generally characterized as a curated selection of messages generated by a user by selecting one or more user accounts associated with other users to include in the stream list. Users can select different stream lists to display in their respective streams or timelines. In some implementations, users can follow a stream list.
  • the platform can store a connection graph in memory (e.g., the memory 115, the database 117) associated with a stream list that includes a first node representing the stream list and a set of second nodes representing a subset of the users of the platform 100 where each second node is connected to the first node by an edge to indicate each user of the subset of users is following the stream list.
  • a connection graph in memory (e.g., the memory 115, the database 117) associated with a stream list that includes a first node representing the stream list and a set of second nodes representing a subset of the users of the platform 100 where each second node is connected to the first node by an edge to indicate each user of the subset of users is following the stream list.
  • a stream list provides a way for users to selectively display messages posted by a group of users of their choosing. For example, a first user interested in viewing messages posted by a second user and a third user can create a stream list for the purposes of displaying messages posted by the second and third users in a stream displayed on a user device associated with the first user.
  • the stream list can be shared with other users of the social messaging platform. Users can also request to join a particular stream list so that the user’s posted messages can appear to other users viewing that stream list.
  • the stream list modules 108e and 112e provide users an option to remove their messages from another user’s stream list and control which user’s on the social messaging platform 100 can add their posted messages to a stream list.
  • the reference modules 108f and 112f are directed to managing references to a user’s account in a message thread (also referred to herein as a “thread”).
  • a message thread an be generally characterized as a collection of messages that includes a “root message” (i.e., a message that is not posted in response to another message) and, optionally, a “reply message” (e.g., a message posted in response to the root message or another reply message).
  • a message thread can generally include multiple branches where each branch includes a “base message” (e.g., a root message, a reply message) and one or more reply messages posted in direct response to the base message.
  • a “reference” (also sometimes referred to herein as a “mention”) is content in a message that refers to a user’s account.
  • the reference can be textual content, such as a username associated with a user’s account.
  • a reference to the first user in a message can be represented as “@firstuser” in the message where the tag “@” can be used to provide a notification to the first user that they were referenced in a message and/or a link to the first user’s account page.
  • the reference modules 108f and 112f provide users a way to remove references to their user account in a message thread and/or to disable links directed to their account page.
  • the reference modules 108f and 112f also provide users a way to selectively choose which users can reference their user account or username.
  • the respective features of the selective engagement modules 108 and 112 can be used together and/or incorporated into other engagement modules.
  • a user can utilize the features of the stream list modules 108e and 112e to remove their user accounts from a friends list created by another user using the friends list modules 108a and 112a.
  • a user can utilize the features of the privacy settings modules 108c and 112c to block specific users from subscribing to the user’s subaccounts using the subaccounts modules 108b and 112b.
  • a user can utilize the features of the reference modules 108f and 112f to remove references to their user account in a message thread posted to a friends list using the friends list modules 108a and 112a.
  • the platform 100 can encompass a large number of users (e.g., thousands, hundreds of thousands, millions, hundreds of millions) each of whom can create one or more friends lists comprising one or more users of the platform 100, create one or more subaccounts, and/or have different settings to control engagement with other users.
  • a user can be both a content creator that owns one or more friends lists and a member of one or more friends lists created by other content creators.
  • a user can be both a content creator that has multiple subaccounts and a subscriber of one or more subaccounts associated with another user.
  • the subaccounts modules 108b and 112b provide a way for content creators to target their content according to different subaccounts defined by the content creator. That way, if a content creator posts a variety of messages on different topics, users who are only interested in a subset of the topics can selectively filter and display content according to subaccounts that correspond to their interests. In this manner, the subaccounts modules 108b and 112b provide a way for content creators to post content directed to different target audiences while reducing the risks of brand dilution and/or creating confusion amongst their audiences as to which users are being targeted with their content.
  • subaccounts modules 108b and 112b provide greater control to users over the type of content displayed on their user device.
  • a content creator can post messages on their professional life and their personal life. Messages with content covering their professional life can be associated with a “professional life” subaccount and messages with content covering their personal life can be associated with a “personal life” subaccount. If a user is only interested in the content creator’s messages on their professional life, the user can selectively filter the content creator’s messages to only display messages associated with the “professional life” subaccount.
  • the user can subscribe (i.e., follow) the “professional life” subaccount so that when the content creator posts new messages to the social messaging platform 100, only the messages associated with the “professional life” subaccount are transmitted to the user’s user device for display.
  • subaccounts does not prevent users from receiving all the messages posted by the content creator that are generally visible to any user of the social messaging platform 100. This includes public messages posted by the content creator, but not private messages.
  • users can select both the “professional life” subaccount and the “personal life” subaccount.
  • users can select the content creator’s user account directly or, alternatively, a default subaccount described below.
  • each user of the social messaging platform 100 can generate one or more subaccounts for one single user account.
  • the subaccounts described herein are similar to previous social messaging platforms that support multiple user accounts with a single login in that users can log into a single user account to access multiple subaccounts.
  • the generation of subaccounts do not require the creation of another user account nor any information on another user account.
  • the subaccounts modules 108b and 112b provide greater integration and management of the user’s posted content compared to previous social messaging platforms, which typically treat different user accounts as wholly separate from one another with different usernames, account profiles, and/or settings.
  • the content creator can first log into their user account via their user device by providing authentication information. This can be accomplished in several ways including, but not limited to, the content creator inputting a username and a password via their user device, the content creator providing biometric information (e.g., a fingerprint using a fingerprint scanner, an image of their retina using a camera, an image of their face using a camera, an audio sample of their voice using a microphone), the content creator’s user device having a digital certificate authorizing the user device to log into the content creator’s user account, and multi factor authorization where the content creator provides information via two or more independent ways to identify the content creator (e.g., a captcha test, a code generated on a user device, or any of the foregoing approaches).
  • biometric information e.g., a fingerprint using a fingerprint scanner, an image of their retina using a camera, an image of their face using a camera, an audio sample of their voice using a microphone
  • the content creator’s user device having a digital certificate authorizing the user device to
  • the social messaging platform 100 can provide several ways for the content creator to initiate the process of creating a subaccount.
  • the user account page can include a link or a tab to manage and create subaccounts.
  • a message can be displayed in the content creator’s stream with a user interface element to initiate the process of creating a subaccount.
  • a pop-up notification or a prompt can be displayed when the content creator is composing a message to introduce subaccounts and provide a user interface element to initiate the process of creating a subaccount (see, for example, the prompt 206a with the button 210 in FIG. 4B).
  • the process of creating a subaccount can include a multi-step process in which one or more user interfaces are displayed on the user device of the content creator to receive input from the content creator on various parameters for the subaccount.
  • the parameters of the subaccount can include, but are not limited to, the name for the subaccount, a profile picture for the subaccount, and an indication of whether the subaccount is public or private.
  • a public subaccount generally includes an account that generates messages that can be viewed by any user of the social messaging platform 100 provided the content creator does not impose any restrictions on the user’s access to the public messages, such as by blocking the user.
  • a private subaccount includes messages only viewable by users who submitted a request to access the private subaccount that was approved by the content creator.
  • information on the subaccount can be stored in memory on the social messaging platform 100 (e.g., the memory 115, the database 117).
  • the subaccount is stored as part of the content creator’s user account, which includes other information, such as a username, authentication information (e.g., a username and password), the content creator’s posted messages, and other various account settings.
  • the subaccount can be stored as part of a connection graph, as described further below.
  • a content creator does not create any subaccounts, their user account can operate in the same manner as in previous social messaging platforms. If the user account is set as a public account, then users of the social messaging platform 100 can generally view all the messages posted by the content creator. If the user account is set as a private account, then only users who submitted a request to access the private subaccount that was approved by the content creator can view the content creator’s messages.
  • each user account can include a default subaccount.
  • the default subaccount can function in the same manner as a user account with no user-defined subaccounts as described above. For example, if the default subaccount is the only subaccount in the user account, all messages posted by a content creator are automatically associated with the default subaccount. Thus, each message is not distinguished from other messages posted by the content creator.
  • the default subaccount can further include a name that matches the content creator’s username.
  • the default subaccount can also be set as a public subaccount or a private subaccount similar to setting a user account as a public account or a private account, respectively.
  • the subaccounts modules 108b and 112b can provide two default subaccounts for each user account with one subaccount for public messages and the other subaccount for private messages.
  • the default subaccount can provide a convenient option for users to receive all the public messages posted by the content creator. For example, a first user interested in receiving a subset of content posted by the content creator can select the corresponding subaccount(s) associated with that content while a second user interested in receiving all the public messages posted by the content creator can select the content creator’s default subaccount. If the default subaccount is set as a private subaccount, users interested in receiving all the private messages posted by the content creator can select the default subaccount causing their user device to submit a request to the content creator. Upon approval by the content creator, the users can then receive private messages posted by the content creator.
  • FIG. 2 A shows an example user interface for the content creator to compose a message.
  • the user interface shown in FIG. 2 A includes a space 210 for the content of the message and a submit button 203 to post the message.
  • the user interface can include a subaccount selector menu 505, which allows the content creator to select one or more subaccounts.
  • the subaccount selector menu 505 in FIG. 2A indicates a first subaccount 502a is selected.
  • FIG. 2A shows the first persons 502a along with a second subaccount 502b, a third subaccount 502c, and a fourth subaccount 502d.
  • each subaccount can be displayed with the name of the subaccount, a picture associated with the subaccount, and/or a label indicating the number of followers for that subaccount.
  • a label 507 can be included to indicate the subaccount is private, such as the subaccounts 502c and 502d.
  • the first subaccount 502a can also represent a default subaccount associated with the content creator’ s user account.
  • the first subaccount 502a is a public subaccount.
  • the message is transmitted to any user subscribed to the first subaccount 502a or the second subaccount 502b, but not to the private subaccounts 502c and 502d.
  • the content creator can then post the message to the social messaging platform 100.
  • the message can be transmitted from the content creator’s user device to a platform server for storage in memory (e.g., the memory 115, the database 117).
  • the message can further include metadata to indicate the subaccount(s) associated with that message.
  • the message may be an instance of a container data type storing content data with one or more fields for the metadata.
  • the message object can include a field listing the subaccount(s) assigned to the message.
  • a separate record can be stored in memory to indicate the subaccounts associated with one or more messages posted by the content creator.
  • the record can be stored as a multi-dimensional tuple where each row corresponds to a message posted by the content creator and the tuple includes a column for the content of each message and another column for the subaccounts associated with each message.
  • FIG. 2B shows an example user interface with the content creator’s account page displayed on a user device associated with another user of the social messaging platform 100.
  • the content creator’s account page can be displayed, for example, by the user searching for the content creator’s user account or selecting a reference to the content creator’s user account in a message posted by the content creator or yet another user.
  • the account page includes a section 510 summarizing the content creator’s account and a section 512 showing a stream of messages posted by the content creator.
  • the section 510 can include the content creator’s username and their user account so that users can readily identify the content creator.
  • the section 510 can further include a follow button 514, which when selected, displays a prompt 511 that lists the subaccounts associated with the content creator’s account.
  • FIG. 2B shows the subaccounts 502a-502d in the prompt 511.
  • the prompt 511 can include labels to indicate the subaccounts 502c and 502d are private and that a request is required to subscribe to those subaccounts.
  • the prompt 511 can further provide visual indicators (e.g., a check mark) to indicate which subaccounts are currently subscribed to by the user.
  • the prompt 511 shows the user is subscribed to the subaccounts 502a and 502c, but not the subaccounts 502b and 502d.
  • the user selects the subaccount 502d, a request is relayed from the user’s user device to the content creator’s user device via the social messaging platform 100. If the content creator approves the request, a visual indicator would be added next to the subaccount 502d in the prompt 511.
  • connection graph associated with that content creator, for example, in memory (e.g., the memory 115, the database 117) of the social messaging platform 100.
  • the connection graph can include a first plurality of nodes corresponding to the different subaccounts associated with the content creator’ s user account and a second plurality of nodes corresponding to users who subscribed to at least one of the content creator’s subaccounts.
  • the connection graph can further include an edge between a node representing a user and a node representing a subaccount to indicate the user is subscribed to that subaccount.
  • the node representing the user is connected to each selected subaccount via a corresponding edge.
  • the node representing the user can be automatically connected to all of the content creator’s public subaccounts or private subaccounts via respective edges depending on whether the default subaccount is a public subaccount or a private subaccount.
  • the section 512 shows several example messages including a message 518a associated with the subaccount 502c, a message 518b associated with the subaccount 502a, and a message 518c associated with the subaccount 502b.
  • Each of the messages 518a-518c can further include a label or a visual indicator to indicate which subaccount is associated with each message.
  • the content creator’s account page can generally display all of the content creator’s public messages and the content creator’s private messages provided the user is subscribed to the private subaccount(s) associated with those private messages.
  • the section 512 can be configured to display only messages associated with subaccounts subscribed to by the user. In FIG.
  • the message 518b can be displayed to the user because the user is subscribed to the subaccount 502a, which is a default subaccount that includes messages posted to the subaccount 502b.
  • the section 512 can further include a search bar 513 for the user to selectively search for content in specific messages (e.g., based on a text string) and/or filter messages based on a particular subaccount of the content creator.
  • the messages displayed in a stream on the user’s user device is determined based on the user’s subscription to the subaccount(s) associated with the content creator’ s user account. For example, if the user subscribes to only the subaccounts 502b and 502c, then only messages associated with the subaccounts 502b and 502c are displayed in the user’s stream.
  • the display of messages in the stream can differ from the messages shown in the section 512 of the content creator’s account page in that the section 512 can display messages associated with subaccounts that are not subscribed to by the user.
  • FIG. 3 A shows an example method 600 for creating and/or adding a subaccount to a content creator’s user account.
  • the content creator (referred to as a first user) logs into their user account by providing authentication information (e.g., a username and a password) to the social messaging platform 100.
  • authentication information e.g., a username and a password
  • the content creator can then generate a subaccount for their account. This can be accomplished, for example, by the content creator navigating to their account settings, initiating the process to create a new subaccount, and thereafter inputting information for that subaccount, such as a name, a picture, and an indication of whether the subaccount is public or private.
  • the input for the new subaccount can then be transmitted to and received by the social messaging platform 100 in step 604.
  • the social messaging platform 100 checks whether the subaccount is the first subaccount created by the content creator. If the subaccount is not the first subaccount created by the content creator (i.e., there is a preexisting list of subaccounts associated with the content creator), the subaccount is added to a list of subaccounts associated with the content creator’s user account and thereafter stored in memory (e.g., the memory 115, the database 117) in step 608. If the subaccount is the first subaccount created by the content creator, a new list of subaccounts is generated for the content creator in step 610. The subaccount is thereafter added to the list of subaccounts and stored in memory (e.g., the memory 115, the database 117) in step 612.
  • the list of subaccounts associated with the content creator’s account can store additional information, such as the number of users subscribed to each subaccount. Additionally, the list of subaccounts can be transmitted to the content creator’s user device whenever the content creator is composing a message such that an updated list of subaccounts is shown when the prompt 503 is displayed. Alternatively, the list of subaccounts can also be stored local on the content creator’s user device, such as in the memory 105, and periodically updated by the social messaging platform 100.
  • FIG. 3B shows an example method 700 for subscribing to a subaccount associated with a content creator.
  • the account page associated with the content creator (referred to as a first user) is displayed on a user device associated with a second user. This can be accomplished, for example, by the second user searching for the content creator’s account or selecting a reference to the content creator’s account in message.
  • the account page can show the content creator’s username and/or account and a list of subaccounts available for selection as described above in FIG. 2B. If the second user selects a subaccount, an indication of the second user’s selection is transmitted to and received by the social messaging platform 100 in step 704.
  • the social messaging platform 704 checks whether the selected subaccount is a private subaccount in step 706. If the selected subaccount is not a private subaccount, the indication is stored in memory (e.g., the memory 115, the database 117) in step 708. If the selected subaccount is a private subaccount, the social messaging platform 100 transmits a request to the user device of the content creator in step 710 to indicate the second user wants to subscribe to the subaccount. When the content creator approves the request, an indication of the content creator’s approval is transmitted to and received by the social messaging platform 100 in step 712.
  • the indications of the second user’s selection of the subaccount and the content creator’s approval of the selection is stored in memory (e.g., the memory 115, the database 117) in step 714.
  • the indication(s) can be retrieved from memory (e.g., the memory 115, the database 117) to determine that the second user should receive the message.
  • the indication can be stored as a connection graph associated with content creator as described above. For example, the connection graph can be updated to include a node representing the second user (if no such node exists) and an edge can be added connecting the node to the node representing the selected subaccount.
  • FIG. 3C shows an example method 800 for transmitting a message associated with a subaccount to users subscribed to that subaccount.
  • a user interface is displayed on the user device associated with the content creator (referred to as a first user) to compose a message.
  • the user interface can include a user interface element (e.g., the subaccount selector menu 505) to facilitate selection of at least one subaccount from a list of subaccounts.
  • the message is transmitted to and received by the social messaging platform 100 at step 804 with data indicating the subaccount(s) associated with the message.
  • the data can be metadata associated with the message or a separate record.
  • the social messaging platform 100 then identifies a list of user accounts subscribed to each subaccount associated with the message in step 806. This can be accomplished, for example, by retrieving a connection graph associated with the content creator’ s user account and determining which user’s have a node connected to the nodes representing the subaccount(s) associated with the message via an edge. Once the list of user accounts is determined, the message is transmitted to user devices associated with the user accounts in step 808. The user devices can be identified using the list of user accounts.
  • the list of user accounts can be used to determine an IP address associated with the user account, determine whether the user is logged into the user device, and/or determine whether the user is actively using the user device (e.g., based on data traffic to and from the user device and the social messaging platform).
  • the message can thereafter be displayed in respective streams on the user devices in step 810.
  • the friends list modules 108a and 112a allow content creators to create one or more friends lists by identifying and selecting users of the platform 100 to be members of the creator’s friends list such as, for example, when creating a new message, on the creator’s account setting page, and/or the like.
  • the friends list modules 108a and 112a further provide content creators the option to select a particular friends list to receive a message content posted by the content creator. This is accomplished, in part, by the friends list module 108a providing content creators one or more user interfaces to create and edit a friends list and select a particular friends list when composing a message.
  • the friends list module 112a can further access memory (e.g., the memory 115, the database 117) to store one or more connections graphs and/or metadata associated with the friends list and a visibility filter to control whether a user can view and respond to the message based on their membership in the friends list, as discussed in further detail below.
  • memory e.g., the memory 115, the database 117
  • FIGS. 4A-4G show several user interfaces to create a friends list and post a message to the friends list thereafter.
  • FIG. 4A shows a user interface that content creators can use to compose a message.
  • the user interface includes a space 201 to contain the creator’s content.
  • the space 201 can include a draft of a message (e.g., “What’s happening?”) typed in by the content creator using an input device on their user device, such as a keyboard.
  • the content creator can also attach other social media content, such as an image, an audio clip, or a video clip in the space 201.
  • the user interface also includes an audience selector menu 205, which allows the content creator to select different groups of users to receive their message. As shown in FIG. 4A, the audience selector menu 205 indicates a first group 202a representing all the users of the platform 100 is selected. More generally, the client software 106a can include several other preset groups of users for the content creator to select from including, but not limited to, all the users of the platform 100, the content creator’s followers (i.e., users who subscribe to the content creator’s account to receive content from the content creator in a unidirectional relationship), and a single user identified by the content creator (e.g., via the user’s username).
  • the user interface can further include a label to indicate which users of the platform 100 can view the message and/or reply to the message.
  • a label 204a indicates that, by selecting the first group 202a, all the users of the platform 100 can view and reply to the content creator’s message.
  • FIG. 4B shows one non-limiting example to facilitate the creation of a friends list.
  • FIG. 4B shows a prompt 206a introducing the friends list feature to the content creator overlaid onto the user interface of FIG. 4A.
  • the prompt 206a can automatically appear when the content creator accesses the user interface of FIG. 4A to compose a message.
  • the prompt 206a can appear when a content creator is composing a message for the first time (e.g., after creating a new account).
  • the prompt 206a can appear when the content creator composes a message the first time after the platform 100 implements the friends list module 112a and/or the client software 106a implements the friends list module 108a.
  • the prompt 206a can include a label 208 with a description of the friends list feature.
  • the prompt 206a can further include a button 210, which when selected, allows the content creator to progress to the next steps in creating a friends list.
  • the prompt 206a can also include a button 212, which when selected, closes the prompt 206a and returns to the user interface of FIG. 4A (e.g., if the content creator does not want to create a friends list).
  • the friends list modules 108a can provide additional information to the content creator before allowing the content creator to proceed with creating a friends list.
  • FIG. 4C shows a prompt 206b that appears when the content creator selects the button 210 in the user interface of FIG. 4B.
  • the prompt 206b can include a label 214 with a description of one or more features and/or aspects of the friends list.
  • Various information can be presented including, but not limited to, limits on the number of users in the friends list (e.g., 150 users or less), the visibility of content posted to members of the friends list and users who are not members of the friends list, and management of the friends list.
  • the prompt 206b can further include a button 216 for the content creator to close the prompt 206b and proceed with the creation of the friends list.
  • FIGS. 4D and 4E show example user interfaces to facilitate the creation of a friends list.
  • the user interface can present a list of users 220 for the content creator to add to the creator’s friends list.
  • the user interface includes respective add buttons 222a associated with each user for the content creator to select to add the user to the friends list.
  • the content creator can select a user 221-1 by pressing the add button 222a in FIG. 4D.
  • FIG. 4E shows the add button 222a changes to a remove button 222b to remove the user from the friends list.
  • each user is presented with various personal information to help the content creator identify the user including, but not limited to, a username, a profile picture, and an account handle or link that directs the content creator, for example, to the user’s account homepage.
  • the number of users presented in the list of users 220 at any one time can be limited by the size of the display screen on the user’s device.
  • the list of users 220 can be a scrollable user interface component, such as a scrollable window, where the additional users can be presented to the content creator by dragging a scrollbar in the user interface.
  • the list of users 220 can display one or more users on separate pages and the content creator can swipe between the pages to display more users for selection (e.g., by moving their finger in a left-to-right or right-to-left motion if the user interface is displayed using a touchscreen).
  • the list of users 220 presented to the content creator can also be chosen in several ways.
  • the list of users 220 can include users that are following the content creator (i.e., users who subscribe to the content creator’s account to receive content from the content creator in a unidirectional relationship).
  • the list of users 220 can include users that the content creator is following (i.e., a content creator subscribed to another user’s account to receive content from the user in a unidirectional relationship).
  • the list of users 220 can include users who are mutual followers with the content creator (i.e., the content creator follows the user and the user follows the content creator).
  • the list of users 220 can be selected from users based on their engagement with the content creator.
  • engagement can be evaluated based on several factors including, but not limited to, the number of times or the frequency (i.e., the number of times per unit time) a user indicated they liked or favorited the creator’s content, the number of times or the frequency the user posted a reply in response to the creator’s content, the number of times or the frequency the user has shared or reposted the creator’s content, the number of times or the frequency the user has sent a message directly to the content creator, the number of times or the frequency the user searched for the content creator, the amount of time spent by the user viewing the creator’s content, the number of times or the frequency the content creator indicated they liked or favorited the user’s content, the number of times or the frequency the content creator posted a reply in response to the user’s content, the number of times or the frequency the content creator has shared or reposted the user’s content, the number of times or the frequency the content creator
  • [Q14I I Engagement can also include second order interactions, e.g., interactions that don’t directly involve the content creator.
  • second order interactions e.g., interactions that don’t directly involve the content creator.
  • a follower of a content creator who engages more with other users of the platform excluding the content creator can have a higher chance of being added to the list of users 220 compared to another follower of the content creator who engages less with other users.
  • a follower’ s engagement with other follower’ s of the content creator compared to users who do not follow the content creator can be weighted more favorably in determining whether that follower is added to the list of users 220.
  • a level of engagement can be calculated for each user by summing the number of times a user interacted with the content creator.
  • the different types of interactions described above can be weighted differently so that certain interactions have more influence in determining the level of engagement. For example, a user indicating they like a message posted by a content creator can have a lower weight compared to the same user posting a reply message in response to the content creator’s message.
  • the level of engagement can thereafter be compared amongst different users.
  • users who have a level of engagement that exceeds a predetermined percentile can be included in the list of users 220.
  • the predetermined percentile can be various percentiles including, but not limited to, the 50 th percentile, the 60 th percentile, the 70 th percentile, the 80 th percentile, the 90 th percentile, and the like.
  • the engagement can be further evaluated within a predetermined time period.
  • users included in the list of users 220 can be based on recent interactions and/or engagement with the content creator. This can be accomplished, for example, by evaluating the engagement of users with the content creator between a first time corresponding to when the list of users 220 is being generated by the platform 100 and a second time preceding the first time by the predetermined time period (e.g., one day, one week, one month, one year).
  • the predetermined time period can be based on the date of the last message posted by the content creator.
  • the engagement can be evaluated within a predetermined time period after the date of the last message (e.g., one day after, one week after) up to one month.
  • the engagement can be evaluated without a predetermined time period where most or, in some instances, all interactions with a content creator are considered. Instead, a weight can be applied to more recent interactions.
  • the weight can vary, for example, between 1 for the most recent interactions and 0 for the oldest interactions.
  • the weight can further decrease monotonically as a function of time. For example, the weight can decrease linearly or decay exponentially with time from 1 to 0. As an illustrative example, if a first user and a second user both share a content creator’s message, the user that shares the content creator’s message more recently is more likely to be included in the list of users 220 provided the first and second users’ other interactions with the content creator are the same.
  • the list of users 220 can generally be selected based on a combination of parameters that include any of the foregoing engagement factors and/or relationships between the content creator and the users.
  • the parameters can be further weighted by a general machine learning model (e.g., a model applied to several or, in some instances, all users creating a friends list) or a per-user machine learning model (e.g., a model trained on data specific to the content creator).
  • the user interface of FIGS. 4D and 4E can also include a search box 218 for the content creator to search and find specific users of the platform 100 to add to the friends list.
  • one or more users can be automatically included in a content creator’s friends list when the friends list is being created (e.g., using the user interfaces of FIGS. 4D and 4E). This can improve the ease of creating a friends list, in part, by reducing the burden of manually adding each user to a friends list.
  • the users can be included in the content creator’s friends list automatically based on their relationship and/or level of engagement with the content creator as described above. For example, when a content creator creates a new friends list, the friends list can automatically include the top N mutual followers that have the highest level of engagement where N can be 1 user, 5 users, 10 users, 20 users, 50 users, or 100 users. More generally, N can range between 1 user to 100 users, or more, including all values and sub-ranges in between.
  • the selective engagement modules described herein can also be used with or incorporated into the friends list modules 108a and 112a.
  • users who do not want to be added to a friends list can utilize the discoverability modules 108d and 112d to turn off settings that allow the content creator to search for the user (e.g., by their username) or recommend the user to the list of users 220 when a content creator is generating or editing a friends list.
  • users can specify which users are and are not allowed to add the user to a friends list.
  • the user interfaces of FIGS. 4D and 4E further include a cancellation button 224, which when selected, cancels the creation of the friends list and returns the content creator, for example, to the user interface of FIG. 4 A.
  • the user interfaces of FIGS. 4D and 4E include a completion button 226, which when selected, completes the creation of the friends list. As shown in FIGS. 4D and 4E, the completion button 226 cannot be selected until at least one user is added to the friends list.
  • the completion button 226 Upon selecting the completion button 226, the users selected by the content creator to be in the friends list are stored in one or more connection graphs in memory (e.g., the memory 115, the database 117).
  • a connection graph includes a set of nodes where each node represents a user of the platform.
  • the connection graph further includes a set of edges where each edge connects two nodes together, thus representing a relationship between the two nodes.
  • each user can have one or more connection graphs defining the connections or relationships with other users of the platform.
  • the connection graph(s) associated with the friends list are either generated or updated if a connection graph associated with a user is already present. Additional metadata associated with the friends list (e.g., an identifier for the friends list) can also be stored in memory (e.g., the memory 115, the database 117).
  • each friends list created by a content creator can include a separate connection graph. Further details of the connection graph(s) and metadata associated with the friends list are described below.
  • the friends list module 108a can return the content creator to the user interface of FIG. 4A to complete their message.
  • FIG. 4F shows the user interface of FIG. 4 A where the audience selector menu 205 now indicates a second group 202b representing the users in the content creator’s friends list is selected to receive the content creator’s message.
  • the second group 202b can be automatically selected after creation of the friends list.
  • a label 204b is also now presented to indicate that, by selecting the second group 202b, only users in the friends list can view and respond to messages and/or other social media content posted by the content creator.
  • the user interface can also include a pop-up notification to notify the content creator that the group selected in the audience selector menu 205 has changed.
  • FIG. 4F shows a pop-up notification 228 to inform the content creator that the friends list is selected.
  • the pop-up notification 228 may only appear once after the friends list is created.
  • the pop-up notification 228 can be automatically closed after a set period of time (e.g., 10 seconds) or after the content creator selects the pop-up notification 228.
  • FIG. 4G shows the user interface of FIG. 4F after the pop-up notification 228 is closed.
  • the content creator can draft a message to the space 201 as described above and select the submit button 203 to post the message to the friends list.
  • the friends list module 108a utilizes the same user interface to draft and send messages to the friends list as the preset groups (e.g., all users, the content creator’s followers).
  • the prompt 206a is one non-limiting example to introduce the friends list feature to a content creator.
  • FIG. 5 shows the user interface of FIG. 4A with a pop-up notification 207 to indicate messages can be shared with a group users chosen by the content creator.
  • the pop-up notification 207 can also appear after a friends list is created to remind the content creator the friends list is available for selection when composing a message.
  • the content creator can repeat one or more of the steps using the user interfaces of FIGS. 4A-4G to create another friends list that includes another subset of users. Moreover, the content creator can one user to multiple friends lists created by the content creator as desired. It should also be appreciated the various user interfaces described above with respect to FIGS. 4A-4G to generate a friends list and thereafter post a message to the friends list are non-limiting examples. Various user interfaces can be utilized to accomplish the same functions as the user interfaces of FIGS. 4A-4G. In other words, the user interfaces of FIGS. 4A- 4G represent one example implementation of a method to generate a friends list (e.g., see the method 900 of FIG. 12A) and another method to send messages to the friends list (e.g., see the method 1000 of FIG. 12B).
  • the content creator can thereafter select the friends list to receive a message in the same manner as any one of the preset groups described above. For example, when the content creator composes a message using the user interface of FIG. 4A, the content creator can use the audience selector menu 205 to choose the friends list to receive the message.
  • the audience selector menu 205 can be an interactive user interface component, which when selected, presents the content creator various groups of users for selection including the friends list.
  • the audience selector menu 205 can be various user interface components including, but not limited to, a drop-down list and a prompt overlaid on the user interface.
  • FIG. 6A shows a prompt 230 overlaid onto the user interface of FIG. 4A.
  • the prompt 230 can appear after the audience selector menu 205 is selected.
  • the prompt 230 can list different groups of users for selection including the first group 202a representing all users of the platform 100 and the second group 202b representing the users in the content creator’s friends list.
  • the prompt 230 can further display additional information and/or options for each group of users.
  • FIG. 6A shows the second group 202b can include an indicator 232 of the number of users presently in the friends list and an edit button 234 that allows the content creator to modify the friends list, e.g., by adding or removing one or more users from the friends list.
  • the content creator can interact with the prompt 230 in several ways.
  • the content creator can close the prompt 230 and return to the user interface of FIG. 4A.
  • the group previously selected in the audience selector menu 205 remains selected.
  • the content creator can drag the prompt 230 downwards towards the bottom of the user interface to close the prompt 230.
  • the first group 202a which was selected before the prompt 230 was displayed, remains selected.
  • the content creator can select one of the groups presented in the prompt 230.
  • the content creator can use a pointing device (e.g., a mouse) to select one group via a cursor.
  • the content creator can press their finger onto a particular group displayed in the user interface if the user device has a touchscreen.
  • the prompt 230 is closed and the content creator is returned to the user interface of FIG. 4A with the audience selector menu 205 indicating the second group 202b is selected as shown in FIG. 6E.
  • the content creator can thereafter compose a message and send the content to the members of the friends list in the same manner as described above with respect to FIG. 4G.
  • the content creator can edit the friends list by selecting the edit button 234 in the prompt 230.
  • the user interface can display the list of users presently in the content creator’s friends list and allow the content creator to add or remove users from the friends list as desired.
  • FIG. 6B shows a user interface with a list of users 236 in the friends list including the user 221-1 added previously in FIGS. 4D and 4E when the friends list was first created.
  • each user in the friends list can be presented with an associated remove button 222b to remove the user from the friends list.
  • the user interface of FIG. 6B can also display the list of users 220 described above where each user is initially presented with an associated add button 222a to add the user to the friends list.
  • the list of users 220 and 236 can be presented in a multi segmented view so that the content creator can readily see which user is a member of the friends list and which user can be added to the friends list. For example, a user 221-2 can be added by selecting the corresponding add button 222a. As shown in FIG. 6C, the add button 222a can then transition to the remove button 222b to remove the user from the friends list.
  • the list of users 220 can be chosen and displayed on the user interface in the same manner as described above.
  • FIG. 6B further shows the user interface can include the search box 218 to search and find users of the platform 100 to add to the friends list, the cancellation button 224, and the completion button 226.
  • the friends list module 108a returns to the user interface of FIG. 6 A without applying any changes that were made to the friends list. In other words, the connection graphs associated with the friends list are not changed.
  • the friends list module 112a updates the connection graphs associated with the friends list to incorporate any changes made to the membership of the friends list.
  • the friends list module 108a returns to the prompt 230 and updates the indicator 232 if the number of users in the friends list is changed.
  • indicator 232 of FIG. 6D shows three users are in the friends list instead of two users as shown in FIG. 6A.
  • the content creator can then select one of the groups of users to receive the content creator’s message.
  • the friends list module 108a transitions once again to the user interface of FIG. 6E where the audience selector menu 205 indicates the second group 202b is selected.
  • FIG. 11 shows a menu 225 that can be displayed while the user device shows a stream of messages or notifications.
  • the menu 225 includes several user interface elements to access various features of the social messaging platform.
  • the menu 225 includes a user interface element 227, which when selected, displays the user interface(s) to view and edit a friends list (e.g., see, for example, the user interfaces of FIGS. 6B, 6C, and 10A- 10E).
  • the friends list modules 108a and 112a can generally display various messages in a stream (also referred to herein as a “timeline” when the messages are ordered in a chronological or reverse chronological order).
  • a stream can be considered an ordered collection of messages and/or social media content on the platform that meet one or more stream criteria.
  • a stream can be defined by the stream criteria to include messages posted by one or more accounts.
  • the contents of a stream for a requesting account holder may include one or more of (i) messages composed by that account holder, (ii) messages composed by the other accounts that the requested account holder follows, (iii) messages authored by other accounts that reference the requested account holder, or (iv) messages sponsored by third parties for inclusion in the account holder’s message stream.
  • the messages of a stream may be ordered chronologically by time and date of authorship, or reverse chronologically. Streams may also be ordered in other ways, e.g., according to a computationally predicted relevance to the requesting account holder, or according to some combination of time and relevance score.
  • a stream may potentially include a large number of messages.
  • the platform For both processing efficiency and the requesting account holder’s viewing convenience, the platform generally identifies a subset of messages meeting the stream criteria to send to a requesting client once the stream is generated. The remainder of the messages in the stream are maintained in a stream repository and some or all of the remainder are sent in response to subsequent client requests.
  • FIG. 7A shows a user interface with an example stream 241a that includes a friends list message 244 posted to a content creator’s friends list.
  • the stream 241a of FIG. 7A is representative of a user who is a member of the content creator’s friends list.
  • the friends list message 244 can be displayed in a similar manner on the content creator’s stream.
  • friends list messages may not be automatically displayed on a user’s stream when the user is added to a content creator’s friends list. Instead, the platform 100 can be configured to display friends list messages on the user’s stream when the user follows the content creator who created the friends list. Said in another way, the user’s connection graph, which represents established relationships with other users of the platform 100, should include a unidirectional edge connected to the content creator’ s user account to indicate the user is following the content creator. In some implementations, the content creator’s user account can also be configured to require approval from the content creator for the user to follow the content creator.
  • the user can still view the friends list messages in several ways. For example, the user can view the friends list messages on the content creator’s account page. In another example, the user can receive a notification when a friends list message includes a reference to the user’s user account. In yet another example, the friends list message can be recommended to the user along with an optional notification for the user to add messages posted to that friends list to be added to their stream. For this example, the notification can further include a prompt for the user to follow the content creator.
  • the friends list message 244 can be displayed in a prescribed order with other messages in the stream 241a of FIG. 7A.
  • the friends list message 244 includes an identifier 246 with various personal information to identify the content creator including, but not limited to, a username, a profile picture, and an account handle or link that directs the content creator, for example, to the content creator’s account homepage.
  • the identifier 246 can further include a time the friends list message 244 was posted and/or an elapsed time since the friends list message 244 was posted (e.g., the friends list message 244 was posted 1 hour ago).
  • the friends list message 244 further includes the content 245 of the friends list message 244, which can include text as shown in FIG. 7A and also other social media content (e.g., an image, an audio clip, a video clip).
  • the friends list message 244 can include a label 248a to indicate the friends list message 244 was posted to the content creator’s friends list.
  • the label 248a can identify the friends list message 244 as a friends list message.
  • the label 248a can further identify the content creator (e.g., via an account handle or link).
  • the label 248a can also be colored (e.g., green) so that users can readily distinguish messages posted to a friends list visually.
  • the platform 100 also generally provides one or more options to interact and/or engage with a message posted to a user’s stream.
  • Users can generally post a reply message, repost the message to share with other users of the platform, like the message, or share the message to another identified user of the platform 100 (e.g., by sending a direct message) or to non-users of the platform 100 (e.g., by a text message, email, instant messenger, or another social messaging platform).
  • some of these options can be disabled for a friends list message to ensure any content posted to a friends list remains visible and accessible to members of the friends list. For example, FIG.
  • FIG. 7 A shows the user interface includes a reply button 250, a repost button 252, a like button 254, and a share button 256 similar to other messages in the users stream.
  • the repost button 252 and the share button 256 are disabled to prevent users from sharing the friends list message 244 to other users of the platform 100 and/or non-users of the platform 100.
  • selecting either of the repost button 252 and the share button 256 can display a prompt to the user to indicate the respective features are disabled for messages and/or other social media content posted to a friends list.
  • FIG. 7G shows a prompt 270 that appears when selecting the repost button 252 in the user interface of FIG. 7B.
  • the prompt 270 includes a label 272 to describe messages in a friends list cannot be reposted or quoted to other users of the platform 100 who are not members of the friends list.
  • the prompt 270 also includes a confirmation button 274 to close the prompt 270.
  • FIG. 7H shows a prompt 280 that appears when selecting the share button 256 in the user interface of FIG. 7B with a label 282 to indicate which sharing features are disabled and a confirmation button 284 to close the prompt 280.
  • one or more users can post one or more reply messages in response to a message posted by a content creator. Furthermore, users can also post reply messages in response to other reply messages.
  • the creator’s content and the various reply messages can generally be arranged and displayed together as part of one thread within a user’s stream or a separate viewer.
  • the user can select the content 245 of the friends list message 244 shown in FIG. 7A via a pointing device or their fingers (e.g., if the user device includes a touchscreen), which opens a separate viewer displaying a thread 243a for the friends list message 244 without other messages in the stream as shown in FIG. 7B.
  • a user interface can be presented for the user to compose a reply message as shown in FIG. 7C.
  • the user interface of FIG. 7C can incorporate several of the same user interface components of the user interface of FIG. 4 A.
  • the user interface of FIG. 7C includes a space 257 to contain the content of the reply message and the submit button 203 to post the reply message.
  • the user interface of FIG. 7C includes a label 258 to identify the user the reply message is directed towards as well as which users can view the reply message.
  • the label 258 indicates the reply message is posted in response to the friends list message 244 of the content creator and that the message is only visible to members of the content creator’s friends list.
  • the user interface of FIG. 7B can also include a text box 255 where the user can directly input a reply message instead of separately opening the composer shown in FIG. 7C.
  • the reply message can be displayed on the user’s stream 241a.
  • FIG. 7D shows the reply message 260 displayed together with the friends list message 244.
  • the reply message 260 can also include an identifier 261 (e.g., a username, a profile picture, and/or an account handle or link of the author of the reply message).
  • the identifier 261 can also include a time the reply message 260 was posted and/or an elapsed time since the reply message 260 was posted.
  • the reply message 260 further includes the content 262 of the reply message 260 as well as a label 263 to indicate only members of the content creator’s friends list can view the reply message 260.
  • the reply message 260 can include a separate reply button 262, repost button 264, like button 266, and share button 268.
  • the repost button 264 and the share button 266 can be disabled because the reply message 260 is posted to the content creator’s friends list.
  • selecting either of the repost button 264 or the share button 266 can trigger the prompts 270 or 280, respectively, to appear as described above.
  • the friends list message 244 and the reply message 260 are also now displayed together in the thread 243a as shown in FIG. 7E.
  • users can also post reply messages in response to other reply messages within a thread, which creates multiple branches of messages within the thread.
  • the content 262 of the reply message 260 can be selected in either of the user interfaces of FIGS. 7D and 7E to open yet another separate viewer associated with the reply message 260 as shown in FIG. 7F.
  • the user interface of FIG. 7F is representative of another user in the content creator’s friends list. However, it should be appreciated the same user interface of FIG. 7F can be used by the user who posted the reply message 260 or the content creator.
  • the features of the reference modules 108f and 112f can also be used with or incorporated into the friends list modules 108a and 112a.
  • a member of the friends list or the content creator can remove references to their user account or disable references that link to their account page for a particular message in a message thread, a branch of messages in the message thread, or the message thread in its entirety in the same or similar manner as described below in Section 5.4.
  • the removal of references does not affect membership in the friends list or receipt of friends list messages.
  • a member of the friends list can remove references to their user account in one message thread, but still receive friends list messages posted by the content creator and/or reply messages posted by other users.
  • the messages and/or other social media content presented in a user’s stream can be ordered in different ways (e.g., chronological order, relevance).
  • messages and/or other social media content posted to a friends list can also be prioritized for display on a user’s stream. For example, messages posted to a friends list can be displayed first followed by other messages posted to other groups of users. In this manner, the messages posted to a friends list and the messages posted to other groups of users can be treated as two separate streams displayed together.
  • users who are either an owner or a member of a friends list can receive a notification when a message and/or other social media content is posted to the friends list.
  • a notification can be transmitted to the same user device with the friends list module 108a (e.g., a pop-up notification) or to a different user device associated with the user (e.g., a pop-up notification, an email, a text message).
  • notifications can be an optional setting that users can activate or deactivate.
  • messages posted to a friends list can be presented on a dedicated stream separate from the other messages posted to other groups of users.
  • the dedicated stream can be for a particular friends list (i.e., only messages posted a specific friends list is displayed).
  • the dedicated stream can present messages posted to one or more friends lists or, in some instances, all the friends lists a user is either an owner or a member of.
  • the friends list module 108a can provide users several options to order the messages in their stream.
  • FIG. 8 shows another example stream 241b where messages posted to a friends list include an interactive label 248c.
  • a prompt 292 appears to indicate messages posted to a friend list are shown first in the stream 241b.
  • the prompt 292 can also include a first option 294 to display recommended messages in the stream 241b first.
  • recommended messages posted to a friends list can be displayed above recommended messages posted to other groups of users.
  • the respective set of messages posted to the friends list and other groups of users can each be ordered by relevance.
  • the prompt 292 can also include a second option 296 to display messages in the stream 241b in chronological order. Again, the messages posted to a friends list and the messages posted to other groups can be displayed separately in chronological order.
  • the prompt 292 can also include a cancel button 298 to close the prompt 292.
  • the labels associated with friends list messages can also change over time change depending on various conditions.
  • FIGS. 9A and 9B show the user interfaces of FIGS. 7A and 7B with a label 248b to indicate the friends list message 244 is shown in the user’s stream 241a because the content creator added the user to their friends list.
  • the label 248b can be shown only for the first friends list message in the stream 241a, a preset number of friends list messages, or friends list messages posted within a period of time after the user is added to the friends list (e.g., 1 hour, 1 day). Thereafter, the label 248a can be shown for subsequent messages posted to the friends list.
  • the friends list can be edited when selecting the friends list to receive a message via the audience selector menu 205. More generally, the friends list can be edited at any time as desired via multiple entry points.
  • the platform 100 can allow content creators to view and edit various groups of users through a user interface for the content creator’s account settings or the content creator’s homepage (e.g., a stream or timeline, as discussed further below).
  • the friends list module 112a can impose various constraints on the membership and usage of the friends list.
  • the friends list can only be modified by the user who created the friends list (e.g., the content creator).
  • each friends list can be limited to a certain number of users (e.g., up to 150 users).
  • the friends list module 112a does not impose any constraints on the number of users in the friends list.
  • the content creator can add or remove a user from their friends list without requiring any form of acknowledgement by the user.
  • a notification can be sent to the user when they are added or removed from the friends list. However, it should be appreciated that, in some implementations, no notification is sent when the user is added or removed from a friends list.
  • Users are also provided options to control whether their user account can be added to a content creator’s friends list as described above.
  • members of the friends list can also remove their user accounts from the content creator’s friends list at any time without acknowledgement or approval by the content creator. This can be accomplished, for example, using a similar approach as the removal of a user’s content from a stream list using the stream list modules 108e and 112e.
  • the features of the stream list modules 108e and 112e can be incorporated directly into the friends list modules 108a and 112a to facilitate removal of a user’s account from another user’s friends list.
  • the purpose of the friends list is to provide content creators a space to share content (e.g., messages, other social media content) with a select group of users chosen by the content creator.
  • content e.g., messages, other social media content
  • user engagement with content posted to a friends list can be limited to ensure the content is only visible to the members of the friends list and the content creator.
  • a message posted to a friends list cannot be reposted or shared with other users of the platform 100 or non-users of the platform 100.
  • the content creator removes a user from the friends list, any content posted to the friends list in the past, present, or future will no longer be visible to the removed user.
  • the removed user can still view their own messages posted to the friends list (i.e., only their own reply messages) after being removed, but no other messages are visible including any messages the removed user’s directly responded to and any reply messages from other users posted in response to the removed user’s reply messages.
  • any messages thereafter posted by the content creator are added to the user’s stream and, thus, visible to the user.
  • the messages previously posted by the content creator can also be added to the user’s stream or made accessible to the user. For example, the user can query or search for older messages posted to the friends list.
  • users of the platform 100 can mute or block other users.
  • the second user is no longer allowed to view the first user’s account, view any content posted by the first user, follow the first user, or send any messages or content to the first user.
  • any content posted by the second user is no longer visible in the first user’s stream.
  • a first user mutes a second user, any content posted by the second user is still removed from the first user’s stream.
  • the second user can still view the first user’s account, view any content posted by the first user, and/or follow the first user.
  • the content creator or members of the friends list can still block or mute other users within the friends list.
  • a content creator blocks a user in their friends list, that user is removed from their friends list.
  • the platform 100 may still store messages posted by the removed user.
  • a first member of the friends list blocks a second member of the friends list, both members are no longer allowed to interact with each other, but can still view content posted to the friends list by the content creator.
  • the content creator or a first member of the friends list mutes a second member of the friends list, any reply messages posted by the second member are no longer visible to the content creator or the first member.
  • members of the friends list can also mute friends list messages posted by the content creator.
  • FIGS. 6B and 6C are nondimiting examples of user interfaces to edit a friends list and that other user interfaces can be used to display the list of users 220 available to be added to the friends list and the list of users 236 who are presently a member of the friends list.
  • FIGS. 10A and 10B show a user interface where the list of users 220 and 236 are displayed on separate pages of the user interface.
  • FIG. 10A shows the list of users 236 who are members of the friends list
  • FIG. 10B shows the list of users 220 that can be added to the friends list and the search box 218.
  • the content creator can switch between the pages displaying the list of users 220 and 236 via corresponding tabs 240 and 242.
  • the content creator can select the tab 240 to display the list of users 236 and the tab 242 to display the list of users 220.
  • the user interfaces of FIGS. 10A and 10B once again include a cancellation button 224 that cancels any modifications to the friends list and a confirmation button 226 that saves any changes to the friends list by updating the connection graphs associated with the friends list stored in memory (e.g., the memory 115, the database 117).
  • the layout of the user interface elements in FIGS. 10A and 10B are non-limiting. For example, FIG.
  • IOC shows yet another example user interface where the list of users 220 and 236 are displayed on separate pages of the user interface where the cancellation button 224 and the confirmation button 226 are placed in a different location on the user interface compared to the user interface of FIGS. 10A and 10B.
  • the friends list module 108a can be installed and used on various types of user devices.
  • the user interfaces of the friends list module 108a can be adapted for display based on the type of user device.
  • the user interfaces of FIGS. 10A and 10B may be used on a portable device, such as a smartphone.
  • FIGS. 10D and 10E show the user interfaces of FIGS. lOA and 10B adapted for use in a desktop computer.
  • the user interfaces of FIGS. 10D and 10E can display the list of users 236 and 220, respectively, on different pages that can be selected via the tabs 240 and 242 as before.
  • FIGS. 10A and 10B can substantially occupy or, in some instances, fully occupy the display screen of the user’s device, the user interfaces of FIGS. 10D and 10E may only occupy a portion of the display screen of the user’s device. Furthermore, the user interfaces of FIGS. 10D and 10E can be resized based on the preferences of the content creator.
  • the user interface further includes a close button 238, which merges the functions of the cancellation button 224 and the confirmation button 226 together. If any changes are made to the friends list, selecting the close button 238 can save the changes by updating the connection graphs associated with the friends list. If no changes are made to the friends list, selecting the close button 238 simply closes the user interface without any modifications being made to the connection graphs associated with the friends list.
  • FIG. 12A shows an example method 900 for generating a friends list.
  • a prompt is displayed on a user device associated with a first user (e.g., a content creator) to facilitate the generation of a friends list.
  • the prompt can be used, in part, to introduce the friends list feature to the first user (see, for example, the prompts 206a, 206b).
  • a pop-up notification and/or a message displayed in a first user’s stream on the user device can be used to introduce the friends list feature to the user as well.
  • a list of users is displayed on the user device to facilitate the selection of one or more users to the friends list in step 904.
  • users displayed in the list of users can be chosen in several ways including, but not limited to, an existing relationship (e.g., a connection graph showing at least a unidirectional relationship between the first user and another user) and level of engagement.
  • the friends list is then transmitted to and received by a platform server in step 906 and thereafter stored in memory (e.g., onboard memory 115 of the platform server, or a database 117) in step 908.
  • the friends list stored in memory can be retrieved to determine which users should receive the message.
  • FIG. 12B shows an example method 1000 for posting a message to a friends list.
  • a user interface is displayed on the user device associated with the first user (also referred to as a “first user device”) for the first user to compose a message.
  • the user interface can further include a user interface element to facilitate selection of an audience for the message (e.g., the audience selector menu 205) including the friend list.
  • the first user selects the friends list and posts a message, the message is thereafter transmitted to and received by a platform server in step 1004.
  • the platform server retrieves the first user’s friends list from memory and uses the friends list to identify one or more second users who are members of the friends list in step 1006.
  • the friends list containing an array of usernames representing user accounts that are members of the friends list.
  • the platform server can use the usernames stored in the array to identify one (or more) user devices associated with each username and, hence, each member of the friends list.
  • the process of identifying a user device associated with a member can include, for example, determining an Internet Protocol (IP) address the member previously used, determining whether the member is logged into the user device, and/or determining whether the member is actively using the user device (e.g., based on data traffic to and from the user device and the social messaging platform).
  • IP Internet Protocol
  • the message is transmitted from the platform server to at least one user device associated with each member of the friend’s list. Thereafter, the message is displayed in respective streams on each member’s user device(s) in step 1010. 4.
  • FIG. 13 shows an example architecture 400 of the friends list modules 108a and 112a implemented in the social messaging platform 100.
  • the client software 106a- 106n can each include a friends list module 108a, which can run on various user devices with different operating systems.
  • the user device 104a-104n with client software 106a-106n are collectively represented as device/client module 410.
  • Each user device 104a-104n can communicatively couple to the platform 100 via a network 120 in order to post messages 122 or receive messages 124 as shown in FIG. 1A.
  • the platform 100 can accommodate different device/client modules 410 by providing a unified application programming interface (API) for each device/client module 410 to use to access the various systems of the platform 100 (e.g., the memory 115, the database 117), for example, to post a message 122 or to retrieve one or more messages 124 for display on a user’s stream.
  • API application programming interface
  • FIG. 13 shows the architecture 400 can include an API query module 412, which provides a communication interface with the device/client modules 410.
  • the API query module 412 utilizes a GraphQL API to facilitate communication with the device/client modules 410.
  • GraphQL API is an open-source programming language tailored for data querying and data manipulation. It should be appreciated GraphQL is one non-limiting example of an API that can be used to facilitate data transfer between the user devices 104a-104n and the platform 100.
  • Other example APIs include, but are not limited to, the representational state transfer (REST) API.
  • FIG. 13 further shows the architecture 400 includes a message manager module 414 to create, store, and/or read friends list messages and/or other social media content, a flock graph module 416 to store one or more flock graphs (i.e., connection graphs) containing membership data associated with the friends list, a metadata database 420 to store metadata associated with the friends list, and a database interface module 418 to facilitate interactions with the flock graph module 416 and the metadata database 420, such as querying and updating metadata associated with the friends list stored in the flock graph module 416 and the metadata database 420, respectively.
  • the metadata stored in the metadata database 420 can include, but is not limited to, the friends list name/identifier and the total number of users in the friends list.
  • the respective messages composed by a user can include a friends list data field to indicate whether (1) the message is intended for a friends list and (2) an identifier for the friends list (e.g., the content creator’s name for the friends list).
  • the data field can be set when the content creator or a member of the friends list posts a message from their user device and subsequently passed to the message manager module 414, the flock graph module 416, and the metadata database 420 via the API query module 412.
  • the message can include additional metadata including, but not limited to, the type of message (e.g., an original message, reply message, repost message), the author of the message (e.g., an identifier for the content creator), and other visibility constraints associated with the message (e.g., is the message for targeted followers in a tiered list).
  • the type of message e.g., an original message, reply message, repost message
  • the author of the message e.g., an identifier for the content creator
  • other visibility constraints associated with the message e.g., is the message for targeted followers in a tiered list.
  • the message manager module 414 includes a visibility filter to evaluate whether a message satisfies the criteria to be posted to a content creator’s friends list. For example, the message manager module 414 can evaluate whether the message is an original message (also referred to as a “root message”) or a reply message, which can be posted to a friends list, or a repost or quote message, which is not allowed for a friends list. In another example, the message manager module 414 can evaluate whether the friends list data field contains an entry to indicate the message is intended for a friends list (e.g., a friends list identifier is present in the data field). In yet another example, the message is a user who is blocked by the content creator. If the user is blocked, their message won’t be posted to the friends list.
  • a visibility filter to evaluate whether a message satisfies the criteria to be posted to a content creator’s friends list. For example, the message manager module 414 can evaluate whether the message is an original message (also referred to as a “root message”) or
  • the message manager module 414 can then use the visibility filter to determine whether the user is the owner of the friends list (i.e., the content creator) or a member of the friends list and, thus, has permissions to post the message to the friends list. This determination can be accomplished, for example, by the message manager module 414 querying the flock graph module 416 via the database interface module 418. Specifically, the friends list data field and the identifier for the user can be passed to the database interface module 418, which in turn, can be passed to the flock graph module 416 to determine whether the user is a member or owner of the friends list.
  • the message manager module 414 can store the message for retrieval by other members of the friends list. If the query returns the user is not a member or owner of the friends list, the message manager module 414 can remove the message.
  • FIG. 14 shows a table summarizing one non-limiting example set of rules applied by the visibility filter of the message manager module 414.
  • the content creator and members of the friends list can view and reply to messages posted to the friends list.
  • users who are not members of the friends list are not allowed to view or reply to messages in the friends list.
  • no users are allowed to repost a message or quote the message to prevent users who are not members of the friends list from seeing the messages.
  • the visibility filter can apply a different set of rules.
  • the visibility filter can further limit the members of the friends list by only allowing reply messages to be posted in response to a content creator’s message.
  • the members of the friends list are not allowed to post reply messages in response to other reply messages.
  • the visibility filter can allow members of the friends list to post an original message to the friends list.
  • the user device can periodically query the platform 100 for new messages.
  • the client software 106a can store an identifier for a friends list to indicate the user is member of a friends list.
  • the user device can pass on the friends list identifier to the platform 100 via the API query module 412.
  • the message manager module 414 can determine the query is related to the retrieval of a message (e.g., by the absence of a message) and subsequently validate the user has permission to view the messages in the friends list.
  • the message manager module 414 can pass on a user identifier and the friends list identifier to the flock graph module 416 to determine the user is a member of the friends list. If the query returns the user is a member of the friends list, the messages posted to the friends list since the previous query from the user’s device can be retrieved. If the query returns the user is not a member of the friends list, the query is dropped and no messages from the friends list are transmitted to the user’s device. Additionally, the message manager module 414 can assess whether the user has muted other members of the friends list and filter the messages sent to the user accordingly.
  • the message manager module 414 can also allow users to edit messages posted to a friends list.
  • a content creator can edit a message previously posted to their friends list to add additional content or to correct an error in the original message (e.g., a typo).
  • Users who are members of a friends list can also edit their messages (e.g., reply messages) posted to the friends list.
  • users may only edit their own posted messages and not other users’ messages.
  • some users can have moderator privileges that allow the users to edit or delete messages posted by other users. These users can include, for example, the owner of the friends list (e.g., the content creator) and/or users chosen by the owner.
  • FIG. 13 shows the API query module 412 can directly communicate with the database interface module 418. This can occur when the content creator changes the friends list, e.g., by adding or removing one or more users. Once the content creator confirms the changes (e.g., by selecting the confirmation button 226), data associated with the changes to the friends list membership is transmitted from the user’s user device to the platform 100. Specifically, the API query module 412 receives the data and passes it along to the database interface module 418, which then updates the connection graphs associated with the friends list in the flock graph 416 and the metadata associated with the friends list in the metadata database 420 (e.g., changes to the total number of users in the friends list).
  • the API query module 412 receives the data and passes it along to the database interface module 418, which then updates the connection graphs associated with the friends list in the flock graph 416 and the metadata associated with the friends list in the metadata database 420 (e.g., changes to the total number of users in the friends list).
  • the flock graph module 416 can contain one or more connection graphs associated with the friends list.
  • the connection graphs generally includes a set of nodes representing users and edges between the nodes to indicate whether a relationship is present between the users (e.g., the user is a follower of another user).
  • the connection graphs for a friends list can further include nodes representing the friends list.
  • a node can correspond to the identifier of the friends list.
  • the connection graph can represent membership in a friends list via a bi-directional edge between a user and the friends list identifier.
  • the metadata database 420 can be one or more clusters tailored for different use cases including, but not limited to, large multi -tenant, smaller for non-common, read only, and read/write for heavy write/heavy read traffic patterns. Generally, the metadata database 420 can handle tens of millions of read-only queries per second and millions of read/write queries per second.
  • the social messaging platform 100 disclosed herein can further include other selective engagement modules, such as the privacy settings modules 108c and 112c, the discoverability modules 108d and 112d, the stream list modules 108e and 112e, and the reference modules 108f and 112f.
  • the following is a description of each of these modules. It should be appreciated the various features disclosed with respect to each selective engagement module can be readily combined with other selective engagement modules including the friends list modules 108a and 112a and the subaccounts modules 108b and 112b. Additionally, the various settings associated with each selective engagement module is described with respect to a content creator unless indicated otherwise. However, it should be appreciated the same settings are generally available to each user of the social messaging platform 100.
  • the privacy settings modules 108c and 112c manage various privacy settings for each user of the social messaging platform 100, which affect how users interact with each other and the content posted to the social messaging platform 100.
  • the privacy settings managed by the privacy settings modules 108c and 112c can be accessed in several ways.
  • FIG. 15A shows an example user interface on a content creator’s user device where a stream 241c is displayed with various messages including a message 520 to notify the content creator to check their privacy settings.
  • the message 520 can include a button 521 to direct the content creator to a user interface showing their privacy settings.
  • the privacy settings can also be accessed in other ways including, but not limited to, an account settings page associated with the content creator’ s user account or a notification displayed on the content creator’s user device.
  • FIG. 15B shows an example user interface with several privacy settings.
  • the privacy settings can include a setting 524a that controls which users can view the content creator’s posted messages and the content creator’s interactions with other messages posted by other users. The interactions can include, but is not limited to, a reply message posted by the content creator, an indication the content creator shared a message with other users (e.g., a repost message), and an indication the content creator liked or favorited a message.
  • the privacy settings further include a setting 524b that controls whether users can tag the content creator in a photo or a video.
  • tagging refers to including a reference to the content creator’s user account in a message that includes one or more photos or videos. References are further discussed in Section 5.4.
  • the privacy settings also include a setting 524c to control which users can send a direct message to the content creator.
  • the content creator can permit different groups of users to perform the functions controlled by each setting.
  • the groups can include, but is not limited to, all users of the social messaging platform 100, users that are following the content creator, and users identified by the content creator.
  • FIG. 15B shows that for each of the privacy settings 524a-524c, a group 526a representing any user of the social messaging platform 100 is selected.
  • the content creator has allowed any user of the social messaging platform 100 to view the content creator’ s posted messages and/or interactions with other messages via setting 524a, tag the content creator in a message that includes a photo or video via setting 524b, and directly message the content creator via setting 524c.
  • the privacy settings modules 108c and 112c can further provide preset privacy settings for greater ease of selection.
  • the privacy settings 524a-524c shown in FIG. 15B form a preset 522a where the group 526a is selected for each setting.
  • the preset 522a provides the content creator greater engagement with other users.
  • the preset 522a further includes a button 527a to indicate the preset 522a is selected by the content creator.
  • FIG. 16A shows another example preset 522b where the group 526a is selected for the privacy setting 524a as before, but a group 526b representing the content creator’s followers are selected for the privacy settings 524b and 524c.
  • the preset 522b thus provides more selectivity in terms of which users can tag the content creator in a message that includes a photo or video and/or directly message the content creator.
  • the preset 522b further includes a button 527b to indicate the preset 522b is available for selection by the content creator.
  • FIG. 16B shows another example preset 522c where the group 526b is selected for each of the privacy settings 524a-524c.
  • FIG. 16C shows a custom selection of settings where the content creator can select a desired group for each of the privacy settings 524a-524c via a switch element 528.
  • the various presets and privacy settings shown in FIG. 15B and FIGS. 16A-16C can be selected, for example, by scrolling or swiping the user interface of FIG. 15B leftwards or rightwards.
  • the privacy settings associated with each user can be stored in memory on the social messaging platform 100 (e.g., the memory 115, the database 117).
  • the privacy settings can be later retrieved, for example, to determine whether a first user has permission to perform one of the functions controlled by the privacy settings 524a-524c with respect to a second user’ s user account. For example, if a user attempts to view a content creator’ s messages, the privacy settings associated with the content creator control whether the social messaging platform 100 transmits the content creator’s messages to the user’s user device for display thereon.
  • the discoverability modules 108d and 112d manage discoverability settings that control how users are searched by other users and/or recommended to other users of the social messaging platform 100.
  • the discoverability settings can generally be accessed in several ways.
  • FIG. 17A shows a notification 530a can be displayed on a user device informing a content creator that other users search for the content creator’s username and that the content creator’s discoverability settings can be changed.
  • the notification 530a can further include a user interface element (not shown), such as a button, to display a prompt 531 where the content creator can then modify the discoverability settings associated with their user account.
  • the prompt 531 can further include a button 535 to save any changes to the discoverability settings and close the prompt 531.
  • the discoverability settings can also be accessed in other ways including, but not limited to, an account settings page associated with the content creator’s user account or a message displayed in a stream on the content creator’s user device.
  • the discoverability settings include a setting 532a to control whether users can search for the content creator’s username (e.g., for the purposes of navigating to the content creator’s account page and following one or more subaccounts).
  • the setting 532a can further include a toggle switch 533 to activate or deactivate the setting 532a.
  • FIG. 17A shows the setting 532a is activated, thus allowing users to search for the content creator’s username. Users can search for other users, for example, via a search box in the user interface displayed on the user’s user device. If a username is inputted into the search box, a list of users having similar if not identical usernames are displayed for selection. Upon selecting a username, an account page associated with the username is displayed (see, for example, FIG. 2B).
  • FIG. 17B shows the setting 532a is deactivated, thus preventing users from searching the content creator’s username.
  • users can choose to keep the setting 532a deactivated for a preset time period 534a.
  • FIG. 17B shows the time period 534a for the setting 532a is 1 month.
  • the content creator can select different time periods 534a to keep the setting 532a deactivated, such as 1 hour, 1 day, 1 week, 1 month, 6 months, or 1 year.
  • a notification can be displayed to notify the content creator that the time period has elapsed and to query whether the content creator wants to reactivate the setting 532a.
  • the setting 532a can be reactivated automatically without input from the content creator when the time period elapses.
  • the setting 532a can be deactivated indefinitely until the content creator reactivates the setting 532a (see, for example, the indicator 534b in FIG. 17B).
  • FIGS. 17A and 17B also show the discoverability settings include a setting 532b to control whether the content creator’s user account can be recommended to other users.
  • the setting 532b can also include a toggle switch 533 to activate or deactivate the setting 532b.
  • FIG. 17A shows the setting 532b is activated, thus allowing the content creator’s user account to be recommended to other users of the social messaging platform 100.
  • the content creator’s user account and/or one or more of the content creator’s subaccounts can be recommended to a user for the purposes of following the content creator.
  • the recommendation can be presented in the form of a notification or a message in a stream on the user’s user device.
  • the content creator’s user account can be recommended to other users when creating a friends list (see, for example, the list of users 220 in FIG. 4D).
  • FIG. 17B shows the setting 532b is deactivated, thus preventing the content creator’s user account from being recommended to other users.
  • the setting 532b can be deactivated indefinitely as indicated by the indicator 534b.
  • the setting 532b can also be deactivated for a preset time period as described above with respect to the setting 532a.
  • the notification 530a can be presented to the content creator whenever a user searches for the content creator’s username.
  • the notification 530a can also be displayed in a lock screen on the content creator’s user device, as shown in FIG. 17C.
  • the notification 530a can also indicate whether the user’s who searched for the content creator’s username has used abusive language either towards the content creator or another user of the social messaging platform 100.
  • the discoverability settings associated with each user can be stored in memory on the social messaging platform 100 (e.g., the memory 115, the database 117).
  • the discoverability settings can later be retrieved, for example, to determine whether a content creator’s user account should appear when another user searches for the user account or if the content creator’s user account should be recommended to other users. For example, if a user searches for the content creator’s user account, a check can be performed by the social messaging platform 100 using the discoverability setting 532a to determine whether to allow information on the content creator’s user account to be transmitted to and displayed on the user’s user device. In another example, if a user creates a friends list, the social messaging platform 100 can retrieve the discoverability settings for each user before including the user in the list of users 220 for inclusion in the friends list.
  • the stream list modules 108e and 112e provide a way for users to remove their user accounts and any messages posted by the user from another user’s stream list. Additionally, the stream list modules 108e and 112e manage stream list settings that control which users are allowed to add another user’s account to a stream list.
  • a stream list is a curated selection of messages generated by a user by selecting one or more user accounts associated with other users to include in the stream list.
  • a stream list provides a way for users to customize the messages displayed in the stream on their user device. Additionally, stream lists can be shared with other users of the social messaging platform 100 and users can even request their user account to be added to a stream list.
  • the social messaging platform 100 generally allows each user to add any other user to a stream list. However, situations can arise where a user does not want their user account and their content to be added to another user’s stream list. For example, if a user harasses a content creator by posting reply messages with abusive or toxic content, the content creator may not want the user to view their content. As described above, the content creator can block the user, thus preventing the user from viewing the content creator’ s content.
  • the stream list modules 108e and 112e provide another option by allowing the content creator to remove their content from any stream list created by the user.
  • FIG. 18A shows a stream list created by a user 102a displayed on a user device associated with a user 102b (e.g., the content creator).
  • the stream list includes a stream 540 with multiple messages including a message 518d posted by the user 102b.
  • the stream list further includes a menu button 541.
  • a pop-up notification 542 can be displayed to notify the user 102b that their user account can be removed from the stream list.
  • FIG. 18B shows that when the menu button 541 is selected, an expanded menu 543 is displayed listing menu items 544a, 544b, 544c, and 544d that each represent an action that can be triggered by the user 102b with respect to the stream list.
  • the menu item 544a allows the user 102b to remove their user account from the stream list.
  • a pop-up notification 545 is displayed to confirm the user 102b has been removed from the stream list of user 102a as shown in FIG. 18C. Additionally, the message 518d posted by the user 102b is removed from the stream list.
  • the pop-up notification 545 can include an undo button 546 to add the user account associated with user 102b back to the stream list as before, for example, if the user 102b accidentally selects the menu item 544a.
  • the user 102b selects the menu item 544a to remove their user account from the stream list, no notification is sent to the user 102a to inform them that the user 102b removed their account from the stream list.
  • the user 102a is also prevented from adding the user 102b back to the stream list thereafter. This can be accomplished, for example, by storing a record in memory on the social messaging platform 100 (e.g., the memory 115, the database 117) associated with the stream list to indicate which, if any users, cannot be added to the stream list.
  • the record can store a list of users who removed their user accounts from the stream list.
  • the platform 100 can thereafter retrieve the record associated with the stream list from memory and determine whether the user is in the list of users stored in the record or not. If the user is in the list of users, the platform 100 prevents the user from being added to the stream list. In some implementations, the platform 100 can also notify the user 102a that the user selected cannot be added to their stream list. In some implementations, selecting the menu item 544a can also remove the user 102b from any other stream list generated by the user 102a and thereafter block the user 102a from adding the user 102b to any stream list.
  • the menu item 544b allows the user 102b to block the user 102a. If the menu item 544b is selected, the user 102a is blocked from viewing the account of user 102b, view any content posted by the user 102b, follow the user 102b, or send any messages or content to the user 102b. This includes removing the user account associated with user 102b from the stream list and any messages posted by the user 102b. Thus, the menu item 544b provides the user 102b a more comprehensive option to limit engagement with the user 102a than the menu item 544a. [ 222] The menu item 544c further provides the user 102b the option to report the stream list.
  • the user 102b can report the stream list for review by an agent of the social messaging platform 100 (e.g., a human operator of the social messaging platform 100 responsible for reviewing content for abusive and/or toxic content). If the agent determines the stream list does include offensive or toxic content, the stream list can be removed and/or the offending portions of the stream list can be censored.
  • an agent of the social messaging platform 100 e.g., a human operator of the social messaging platform 100 responsible for reviewing content for abusive and/or toxic content.
  • the menu item 544d provides the user option 102b to organize the messages in the stream 540 according to the “top” messages.
  • the top messages can be evaluated in several ways including, but not limited to, messages that received the most reply messages, messages that were shared by other users the most, message that received the most indications of users liking or favoriting the message, most recent messages (i.e., the messages are arranged in chronological order), and oldest messages (i.e., the messages are arranged in reverse chronological order).
  • the stream list modules 108e and 112e can also provide notifications to users, such as a content creator, that their user account was added to a stream list by another user and stream list settings to control which users can add the content creator’s user account to a stream list.
  • FIG. 19A shows an example user interface with a notification 530b with a message 550 informing the user 102b that the user 102a added the user account associated with user 102b to their stream list.
  • the notification 530b can further include a link 551, which when selected, directs the user 102b to their stream list settings as shown in FIG. 19B. As shown in FIG.
  • the stream list settings can include a setting 553 to control which group of users are allowed to add the user account associated with user 102b to a stream list.
  • the group of users can include, but is not limited to, any user of the social messaging platform 100 (e.g., group 552a), only followers of the user 102b (e.g., group 552b), no users (e.g., 552c), and users identified by the user 102b.
  • the stream list settings also include a manager 555 that allows the user 102b to manage user accounts that are not allowed to add the user 102b to a stream list. For example, if the user 102b selects the menu item 544a to remove their user account from the stream list of user 102a, the user account associated with the user 102a can be added to a list of user accounts associated with the user 102b that are prohibited from adding the user 102b to a stream list.
  • the manager 555 allows the user 102b to view the list of user accounts as well as provide a way to remove a user account from the list of user accounts, thus permitting the user to add the user 102b to a stream list thereafter.
  • the stream list settings associated with each user can be stored in memory on the social messaging platform 100 (e.g., the memory 115, the database 117).
  • the stream list settings can later be retrieved, for example, to determine whether a user is allowed to add a content creator’s user account to a stream list. For example, if the user inputs the content creator’s username to add to their stream list, the content creator’s username is transmitted to the social messaging platform 100. Thereafter, the platform 100 can retrieve the stream list settings associated with the content creator’s user account to determine whether the user has sufficient permissions to add the content creator’s user account to the stream list.
  • the platform 100 can check a connection graph associated with the content creator to determine whether the user is a follower of the content creator. If the platform 100 determines the user has sufficient permissions, the content creator’s user account can be added to the user’s stream list.
  • the approaches described above to remove a content creator’ s user account from a stream list and to control which users can add the content creator’ s user account to a stream list can also be applied to the friends list modules 108a and 112a.
  • members of a friends list can also be presented options to remove their user account from a content creator’s friends list.
  • users can be provided settings that control which group of users are allowed to add their user account to a friends list.
  • the reference modules 108f and 112f provide a way for content creators to remove references to their user account in a message posted by another user and reference settings to control which users can reference the content creator’s user account.
  • a reference is content in a message that refers to a user’s account, such as textual content (e.g., a username associated with a user’s account).
  • References can generally appear in several ways. For example, a reference to a content creator can appear in a message posted by a user when the user is replying to a message posted by the content creator. In another example, if the user is aware of the content creator’s username, the user can manually enter the content creator’ s username in their message.
  • the reference can also include a link (e.g., a click-through link) that directs users to the content creator’s account page.
  • notifications can also be sent to the content creator when a message is posted with a reference to the content creator’s user account.
  • a user may not want to be involved in a message thread or receive notifications associated with the message thread.
  • a content creator may not want to be associated with a message thread that contains abusive or toxic content.
  • a content creator may not want to be associated with a controversial user because that could negatively affect the content creator’s reputation on the social messaging platform 100.
  • the content creator may want to restrict the user from being able to reference their user account.
  • FIG. 20A shows a message thread 243b that includes a base message 518e posted by a user 102a and several reply messages 518f posted by other users in direct response to the base message 518e.
  • the message thread 243b is displayed on a user device associated with the user 102b.
  • the base message 518e includes a reference 561a to a user account associated with a user 102b.
  • Each of the reply messages 518f includes a reference 562a to the user accounts of user 102a and user 102b.
  • the reference to the user account of user 102a is due, in part, to the reply messages 518f being posted in response to the base message 518e, which was posted by the user 102a.
  • the references 561a and 562a can further be interactive where if a user selects a user account in the references 561a and 562a, an account page corresponding to the user account can be displayed on their user device.
  • FIG. 20A further shows the base message 518e includes a menu button 564.
  • a pop-up notification 563 can be displayed to notify the user 102b that references to their user account in the message thread 243b can be changed via the menu button 564.
  • an expanded menu 565 is displayed on the user device associated with the user 102b as shown in FIG. 20B.
  • the menu 565 includes menu items 566a, 566b, 566c, 566d, 566e, and 566f as shown in FIG. 20B that each represent an action that can be triggered by the user 102b with respect to the message thread 243b.
  • the menu item 566a allows the user 102b to remove references to their user account in the message thread 243b.
  • FIG. 20C shows that when the user 102b selects the menu item 566a, the reference 561a in the base message 518e is replaced by a reference 561b that shows the username of the user 102b, but disables the link to the account page of the user 102b.
  • Each reference 562a in the reply message 518f is also replaced by a reference 562b that removes references to the user account of user 102b.
  • the selection of the menu item 566a further removes references to the user account of user 102b that may be stored in metadata for the base message 518e and the reply messages 518f
  • the content of the messages in the message thread 243b and any additional information associated with the message thread 243b can be modified to remove any reference to the user account of user 102b. This can be accomplished, for example, by the platform 100 defining a text string containing the username associated with the user 102b and thereafter searching through the various data associated with message thread 243b (e.g., the content of the messages, metadata for each message) to identify and remove any instances of the text string that may be present.
  • the remaining menu items 566b, 566c, 566d, 566e, and 566f represent actions described above.
  • the menu item 566b allows the user 102b to follow the user 102a, e.g., by updating a connection graph to show respective nodes corresponding to the users 102a and 102b are connected by an edge.
  • the menu item 566c allows the user 102b to mute the user 102a, i.e., any messages posted by the user 102a are not viewable to the user 102b.
  • the menu item 566d allows the user 102b to mute the message thread 243b so that any messages posted to the message thread 243b are no longer viewable by the user 102b.
  • the menu item 566e allows the user 102b to block the user 102a.
  • the menu item 566f allows the user 102b to report the message 518e or, more generally, the message thread 243b to an agent of the social messaging platform 100 for review.
  • FIG. 21A shows a notification 570 displayed on the user device associated with the user 102b described above.
  • the notification 570 shows a message 518g posted by a user 102c that includes a reference 561a to the user account of user 102b along with a label 573 to notify the user 102b that they were referenced in the message 518g.
  • the label 573 includes a button 572 for the user 102b to remove the reference in the message 518g in the same manner as the menu item 566a.
  • the reference 561a is replaced by the reference 561b described above as shown in FIG. 21B. Additionally, the label 573 is updated to notify the user 102b as removed the reference to their user account in the message 518g.
  • the label 573 can further include an undo button 574 to replace the reference 561b with the reference 561a as before, e.g., in the event the user 102b accidentally selected the button 572.
  • selecting the button 572 can also prevent the user 102c from including a reference to the user account of user 102b in any subsequent messages posted by the user 102c.
  • the user 102b can block the user 102c from referencing user 102b’ s user account.
  • FIG. 21C shows a user interface to compose a message displayed on a user device associated with the user 102c. As shown, when the user 102c attempts to enter the username associated with user 102b, a label 576 is displayed to notify the user 102c that the user 102b cannot be referenced.
  • the list of users can be stored in memory on the social messaging platform 100 (e.g., the memory 115, the database 117) and used to determine whether a user has permissions to reference the user 102b when composing a message.
  • the reference modules 108f and 112f further provide reference settings for content creators to control which users of the social messaging platform 100 can include references to their user account.
  • the reference settings can be accessed in several ways.
  • FIG. 21C shows the label 573 can further include a button 575 to direct the user 102b to the reference settings after choosing to remove the reference in the message 518g.
  • FIG. 22A shows another example where a notification 530d is displayed on the user device associated with the user 102b to notify the user 102b that they change the reference settings associated with their account.
  • the notification 530d can include a button 580 that directs the user 102b to the reference settings in the same manner as the button 575.
  • a prompt 581 is displayed showing the reference settings for the user 102b as shown in FIG. 22B.
  • the reference settings provide the user 102b options to choose different groups of users that can reference their user account.
  • the groups of users can include, but is not limited to, any user of the social messaging platform 100 (e.g., group 582a), users followed by the user 102b (e.g., group 582b), and users identified by the user 102b in a custom list (e.g., group 582c).
  • the prompt 581 can further include a toggle switch 583, which when deactivated, prevents all users from referencing the user account of user 102b.
  • the toggle switch 583 can remain deactivated for set period of time selected by the user 102b (e.g., 1 day, 3 days, 1 week, 1 month, 6 months, 1 year).
  • the toggle switch 583 is activated, the users allowed to reference the user account of user 102b is determined by the selected group (e.g., one of groups 582a-582c).
  • the prompt 581 further includes a selection button 584 to save any changes made to the reference settings.
  • the group 582c can be defined as a whitelist where members of the group 582c are permitted to reference the user 102b in a message.
  • the group 582c can instead be defined as a blacklist where members of the group 582c are not permitted to reference the user 102b in a message.
  • the user device can display a first list of users 597 for selection by the user 102b to add to a second list of users that are not permitted to reference the user 102b as shown in FIG. 22C.
  • the user interface includes a section 590 with a search box 593 for the user 102b to manually enter a username and/or user account associated with a user for display in the first list of users 597.
  • the user interface further includes one or more filters 594 for the user 102b to display users according to certain characteristics.
  • the user 102b can display users 591 that have recently included a reference in message to the user account of user 102b and/or users 592 that were previously muted by the user 102b.
  • FIG. 22C further shows a restrict button 595 is provided for each user displayed in the list of users 597.
  • the restrict button 595 is selected for a particular user, that user is added to the second list of users that are not permitted to reference the user 102b.
  • the user 102b can thereafter select the restrict button 595 again to remove the user from the second list of users.
  • the user interface of FIG. 22C can provide a way for the user 102b to manage users that are not allowed to reference the user 102b.
  • the reference settings including the list of users that are or are not allowed to reference the user 102b can be stored in memory on the social messaging platform 100 (e.g., the memory 115, the database 117).
  • the reference settings can be later retrieved, for example, to determine whether a user has permissions to include a reference to another user when composing a message. For example, if a user attempts to add a reference to a content creator in a message by typing the tag “@” followed by the content creator’s username, the reference can be transmitted to the social messaging platform 100 before the user posts the message.
  • the platform 100 thereafter can retrieve the reference settings associated with the content creator’s user account to determine whether the user has permissions to reference the content creator. If the reference settings indicate the user does not have permission, the platform 100 can transmit an indication to the user’s user device to prevent the user from including the reference. In some implementations, the notification 576 can also be transmitted to the user’s user device.
  • the platform 100 can further allow content creators to establish a targeted or tiered relationship with select followers so that the content creator can share exclusive content with different tiers of followers in exchange for a fee (e.g., a membership fee). Membership in a particular tier is determined by the follower rather than the content creator. Specifically, a follower can pay the content creator to be a member of a tier in order to receive exclusive content from the content creator for that particular tier. In this manner, the followers control whether they selectively engage with the content creator or not. Further details on the systems and methods for providing targeted content to select group(s) of users can be found in U.S. Provisional Application No. 63/239,781, filed on September 1, 2021 and entitled, “MESSAGING PLATFORM WITH TIERED RELATIONSHIPS BETWEEN USERS,” which is incorporated herein by reference in its entirety.
  • a content creator can specify, via their user device, a “Gold Tier” of users/a first set of target users that receive the most exclusive messages posted by the content creator, a “Silver Tier” of users/a second set of target users that receive less exclusive messages on their corresponding user devices posted by the content creator via their user device (that are also visible to the Gold Tier users) but that are nevertheless not made available to other users that follow the content creator, but are not target users.
  • the content creator can offer a vertical tier of targeted follow options, with the highest tier being able to view all messages posted by the user, the next tier being able to view all messages except those directed at the highest tier, and so on. Users can join a particular tier by paying a fee. In some cases, the highest tier can require the highest fee and each lower tier thereafter can require progressively lower fees.
  • messages posted to a friends list, a subaccount, and the tier can be displayed together in the user’s stream, but treated as separate messages with different labels to indicate one message as a friends list message, another message is associated with a subaccount, and another message as a targeted message.
  • Membership in a friends list, subaccount, or a tier can also influence recommendations to the user or the content creator. For example, a user who is a targeted follower of a content creator may be more likely to appear on the list of users 220 recommended to the content creator when creating a friends list. In another example, a use who is a member of the content creator’s friends list may be more likely to receive recommendations to join a particular tier offered by the content creator.
  • friends list modules 108a and 112a can also be similar to the targeted follower feature described above. As such, certain aspects of the targeted follower feature can be implemented in the friends list modules 108a and 112a and certain aspects of the friends list modules 108a and 112a can be implemented in the targeted follower feature.
  • the client may be a web browser and an HTML (hypertext markup language) document rendered by the web browser.
  • the client may be or include JavaScript code or Java code.
  • the client may be dedicated software, e.g., an installed app or installed application, that is designed to work specifically with the platform.
  • the client may include, for example, a Short Messaging Service (SMS) interface, an instant messaging interface, an email- based interface, and HTML-based interface, or an API function-based interface for interacting with the platform.
  • SMS Short Messaging Service
  • a user device can include a camera, microphone, or both, and the client can include or be coupled to software to record pictures, audio, and video.
  • the user device can include both a front- facing, i.e., a user-facing, camera, and a rear-facing camera.
  • the platform may have many millions of accounts, and anywhere from hundreds of thousands to millions of connections may be established or in use between clients and the platform at any given moment.
  • the accounts may be accounts of individuals, businesses, or other entities, including, e.g., pseudonym accounts, novelty accounts, and so on.
  • the platform and client software are configured to enable users to draft messages and to use the platform, over data communication networks, to post messages to the platform and to receive messages posted by other users.
  • the platform and client software are configured to enable users to post other kinds of content, e.g., image, video, or audio content, or a combination of kinds of content, either separately or combined with text messages.
  • the platform is configured to enable users to define immediate or scheduled sessions with individual or groups of users for audio or audio and video interactions.
  • the platform enables users to specify participation in such sessions using the relationships defined, i.a., in the connection graphs maintained by the platform.
  • the platform is configured to deliver content, generally messages, to users in their home feed stream.
  • the messages will generally include messages from accounts the user is following, meaning that the recipient account has registered to receive messages posted by the followed account.
  • the platform generally also includes in the stream messages that the platform determines are likely to be of interest to the recipient, e.g., messages on topics of particular current interest, as represented by the number of messages on the topics posted by platform users, or messages posted on topics of apparent interest to the recipient, as represented by messages the recipient has posted or engaged with, or messages on topics the recipient has expressly identified to the platform as being of interest to the recipient, as well as selected advertisements, public service announcements, promoted content, or the like.
  • the platform enables users to send messages directly to one or more other users of the platform, allowing the sender and recipients to have a private exchange of messages.
  • the platform is configured with interfaces through which a client can post messages directed to other users, both synchronously and asynchronously.
  • users are able to exchange messages in real-time, i.e., with a minimal delay, creating what are essentially live conversations, or to respond to messages posted earlier, on the order of hours or days or even longer.
  • the platform also indexes content items and access data that characterizes users’ access to content.
  • the platform provides interfaces that enable users to use their clients to search for users, content items, and other entities on the platform. 6.3 Relationships
  • a connection graph includes nodes representing accounts of the platform and edges connecting the nodes according to the respective relationships between the entities represented by the nodes.
  • a relationship may be any kind of association between accounts, e.g., a following, friending, subscribing, tracking, liking, tagging, or other relationship.
  • the edges of the connection graph may be directed or undirected based on the type of relationship.
  • the platform can also represent relationships between accounts and entities other than accounts. For example, when an account belongs to a company, a team, a government, or other organized group, a relationship with that account can also be, for example, a relationship of being a member of the group, having a particular role in the group, or being an expert about the group.
  • the platform can also represent abstract entities, e.g., topics, activities, or philosophies, as entities that can have relationships with accounts and, in some implementations, other entities. Such relationships can also be represented in a common connection graph or in one or more separate connection graphs, as described above.
  • the platform records user engagements with messages and maintains, in a message repository, data that describes and represents at least a collection of recent messages as well as the engagements with the messages.
  • Engagement data relative to messages includes data representing user activity with respect to messages. Examples of engagement by a user with a message include reposting the message, marking the message to indicate it is a favorite of, liked by, or endorsed by the user, responding to the message, responding to a message with a response having a sentiment determined by the platform to be positive or negative, quoting the message with further comments, and mentioning or referencing the message.
  • Engagement data relative to accounts includes data representing connections between accounts. Examples of engagements by a user with respect to an account include aggregated measures of engagement with messages authored by the account. Other examples include how many followers and followees the account has, i.e., how many other accounts are following the account and how many other accounts the account is following. Other examples include measures of similarity between the groups of followers, the groups of followees, or both, of two accounts, including non-account followees.
  • Data about engagements can be represented on the platform as graphs with connections between accounts and messages, and stored in a graph repository.
  • the servers of the platform perform a number of different services that are implemented by software installed and running on the servers.
  • the services will be described as being performed by software modules.
  • particular servers may be dedicated to performing one or a few particular services and only have installed those components of the software modules needed for the particular services.
  • Some modules will generally be installed on most or all of the non special-purpose servers of the platform.
  • multiple instances of a module may operate in parallel so as to complete a request for service within a short period of time, so that the platform can respond to users with low latency.
  • the software of each module may be implemented in any convenient form, and parts of a module may be distributed across multiple computers in one or more locations so that the operations of the module are performed by multiple computers running software performing the operations in cooperation with each other. In some implementations, some of the operations of a module are performed by special-purpose hardware.
  • the platform includes numerous different but functionally equivalent front end servers, which are dedicated to managing network connections with remote clients.
  • the front end servers provide a variety of interfaces for interacting with different types of clients. For example, when a web browser accesses the platform, a web interface module in the front end module provides the client access. Similarly, when a client calls an API made available by the platform for such a purpose, an API interface provides the client access.
  • the front end servers are configured to communicate with other servers of the platform, which carry out the bulk of the computational processing performed by the platform as a whole.
  • a routing module stores newly composed messages in a message repository.
  • the routing module also stores an identifier for each message.
  • the identifier is used to identify a message that is to be included in a stream. This allows the message to be stored only once and accessed for a variety of different streams without needing to store more than one copy of the message.
  • a graph module manages connections between accounts, between accounts and entities, and between entities. Connections determine which streams include messages from which accounts.
  • the platform uses unidirectional connections between accounts and streams to allow account holders to subscribe to the message streams of other accounts.
  • a unidirectional connection does not imply any sort of reciprocal relationship.
  • An account holder who establishes a unidirectional connection to receive another account’s message stream may be referred to as a “follower,” and the act of creating the unidirectional connection is referred to as “following” another account.
  • the graph module receives client requests to create and delete unidirectional connections between accounts and updates the connection graph or graphs accordingly. Similarly, for entities that are represented by the platform as entities with which accounts can have relationships, the graph module can also receive client requests to create and delete connections representing account-to-entity relationships.
  • a recommendation module of the platform can recommend content, accounts, topics, or entities to a user
  • the recommendation module specifically tailors recommendations to the user.
  • a user or a client can generate a request for a recommendation, or another module of the platform can generate a request for a recommendation on its own, e.g., in order to include a recommendation in a stream being generated for a user.
  • a recommendation can be a call to action, i.e., a suggestion that the user take a particular action, or the recommendation can be the recommended content itself, e.g., a message to include in the stream.
  • the recommendation module can also provide a recommendation in response to a user action that does not explicitly request a recommendation, e.g., interacting with content on the platform in a way that indicates interest.
  • the recommendation module makes recommendations using, for example, information users provided about themselves and other data found in the users’ profiles, and data about the users’ engagements and relationships stored in graph data and otherwise in the platform’s repositories.
  • the platform maintains data, especially about live events, with a high degree of currency and for quick access, so that the platform can provide recommendations of current interest, especially during live events.
  • the platform presents with a recommendation user-related reasons for the recommendation, e.g., because a message relates to a topic followed by the user or to a trending topic or to a topic trending in the user’s location, or because a message had strong engagement among the user’s followees, or because the message was endorsed by other users sharing common interests or sharing common followed topics with the user.
  • the platform ranks recommendations according to the reasons for the recommendations, giving preference to recommendations based on endorsements from followees, experts, or celebrities.
  • a delivery module constructs message streams and provides them to requesting clients, for example, through a front end server. Responding to a request for a stream, the delivery module either generates the stream in real time, or accesses from a stream repository some or all of a stream that has already been generated. The delivery module stores generated streams in the stream repository. An account holder may request any of their own streams, or the streams of any other account that they are permitted to access based on privacy and security settings. If a stream includes a large number of messages, the delivery module generally identifies a subset of the messages to send to a requesting client, in which case the remaining messages are maintained in a stream repository from which more messages are sent upon client request.
  • the platform includes modules that enable users to filter the content they receive from the platform. For example, users may select settings that cause the platform to filter out sensitive content.
  • the platform also enables a user to control how the user is visible on the platform. For example, the platform enables a user to prevent particular users from following the user, from viewing the user’s messages on the platform, from sending messages directed to the user, or from tagging the user in a photo.
  • the platform also enables a user to mute particular users to prevent messages from particular users from being included in any incoming streams, or to block incoming push or SMS notifications from particular users.
  • the platform enables a user to mute another user while continuing to be a follower of the other user.
  • the platform itself can filter out content that is identified by the platform as toxic or abusive, or that originates from accounts identified by the platform as toxic or abusive, with or without a user request to do so.
  • An account module enables account holders to manage their platform accounts.
  • the account module allows an account holder to manage privacy and security settings, and their connections to other account holders. In particular, a user can choose to be anonymous on the platform. Data about each account is stored in an account repository.
  • Client software allows account holders receiving a stream to engage, e.g., interact with, comment on, or repost, the messages in the stream.
  • An engagement module receives these engagements and stores them in an engagement repository.
  • Types of engagement include selecting a message for more information regarding the message, selecting a URI (universal resource identifier) or hashtag in a message, reposting the message, or making a message a favorite.
  • Other example engagement types include opening a card included in a message, which presents additional content, e.g., an image, that represents a target of a link in the message, or that links to an application installed on the user device.
  • Account holders may engage further with the additional content, e.g., by playing a video or audio file or by voting in a poll.
  • the engagement module may also record passive interactions with messages.
  • An impression occurs when a client presents the content of a message on a user device. Impression engagements include the mere fact that an impression occurred, as well as other information, e.g., whether a message in a stream appeared on a display of the user device, and how long the message appeared on the display.
  • Any engagement stored in the engagement repository may reference the messages, accounts, or streams involved in the engagement.
  • Engagements may also be categorized beyond their type.
  • Example categories include engagements expressing a positive sentiment about a message (“positive engagements”), engagements expressing a negative sentiment about a message (“negative engagements”), engagements that allow an account to receive monetary compensation (“monetizable engagements”), engagements that are expected to result in additional future engagements (“performance engagements”), or engagements that are likely to result in one account holder following another account (“connection engagements”).
  • the negative engagements category includes, for example, engagements dismissing a message or reporting a message as offensive, while the positive engagements category typically includes engagements not in the negative engagements category.
  • Example performance engagements include selecting a URL in a message or expanding a card.
  • Example monetizable engagements include, for example, engagements that result in an eventual purchase or a software application installation on a user device.
  • categories and types are not coextensive, and a given type of engagement may fall into more than one category and vice versa.
  • inventive embodiments are presented by way of example only and that, within the scope of the appended claims and equivalents thereto, inventive embodiments may be practiced otherwise than as specifically described and claimed.
  • inventive embodiments of the present disclosure are directed to each individual feature, system, article, material, kit, and/or method described herein.
  • inventive concepts may be embodied as one or more methods, of which an example has been provided.
  • the acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
  • a reference to “A and/or B”, when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc.
  • the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements.
  • This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified.
  • “at least one of A and B” can refer, in one embodiment, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.
  • This specification uses the term “configured to” in connection with systems, apparatus, and computer program components.
  • That a system of one or more computers is configured to perform particular operations or actions means that the system has installed on it software, firmware, hardware, or a combination of them that in operation cause the system to perform those operations or actions.
  • That one or more computer programs is configured to perform particular operations or actions means that the one or more programs include instructions that, when executed by data processing apparatus, cause the apparatus to perform those operations or actions.
  • That special- purpose logic circuitry is configured to perform particular operations or actions means that the circuitry has electronic logic that performs those operations or actions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Facsimiles In General (AREA)
  • Telephone Function (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Une plateforme de messagerie sociale fournit plusieurs caractéristiques d'interaction sélective pour faciliter l'interaction sélective entre les utilisateurs de la plateforme. Des créateurs de contenu peuvent catégoriser leur contenu en un ou plusieurs sous-comptes de sorte que le contenu portant sur différents sujets peut être diffusé à différents publics cibles depuis un seul compte d'utilisateur. De plus, les utilisateurs intéressés par un sous-ensemble du contenu publié par un créateur de contenu peuvent choisir de manière sélective quel contenu recevoir sur la base des sous-comptes du créateur de contenu. Des créateurs de contenu peuvent également utiliser une liste d'amis pour interagir de manière sélective avec un groupe d'utilisateurs sélectionné par le créateur de contenu. Chaque utilisateur dispose de divers réglages pour contrôler la manière dont d'autres utilisateurs interagissent avec l'utilisateur et le contenu qu'il publie sur la plateforme de messagerie sociale, comprenant la visibilité du contenu de l'utilisateur, la découvrabilité du compte de l'utilisateur, ainsi que des références à l'utilisateur et à son contenu dans d'autres messages d'utilisateurs.
PCT/US2022/036080 2021-07-02 2022-07-05 Interaction sélective avec des utilisateurs et un contenu d'utilisateur pour une plateforme de messagerie sociale WO2023278887A2 (fr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163218152P 2021-07-02 2021-07-02
US63/218,152 2021-07-02
US202263327708P 2022-04-05 2022-04-05
US63/327,708 2022-04-05

Publications (2)

Publication Number Publication Date
WO2023278887A2 true WO2023278887A2 (fr) 2023-01-05
WO2023278887A3 WO2023278887A3 (fr) 2023-03-02

Family

ID=84690670

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2022/036080 WO2023278887A2 (fr) 2021-07-02 2022-07-05 Interaction sélective avec des utilisateurs et un contenu d'utilisateur pour une plateforme de messagerie sociale

Country Status (1)

Country Link
WO (1) WO2023278887A2 (fr)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8701014B1 (en) * 2002-11-18 2014-04-15 Facebook, Inc. Account linking
US9338197B2 (en) * 2010-11-01 2016-05-10 Google Inc. Social circles in social networks
US20130066962A1 (en) * 2011-09-09 2013-03-14 Philip Scherzinger Method and apparatus for social network
EP3061018A4 (fr) * 2013-10-25 2017-05-10 Sysomos L.P. Systèmes et procédés de détermination dynamique d'influenceurs dans un réseau social de données en utilisant une analyse pondérée
US10255244B2 (en) * 2014-08-01 2019-04-09 Facebook, Inc. Search results based on user biases on online social networks
US20160277485A1 (en) * 2015-03-18 2016-09-22 Nuzzel, Inc. Socially driven feed of aggregated content in substantially real time

Also Published As

Publication number Publication date
WO2023278887A3 (fr) 2023-03-02

Similar Documents

Publication Publication Date Title
US11895206B2 (en) Contextual connection invitations
US10025476B2 (en) Presenting content items relevant to a group of users
US10122791B2 (en) Social circles in social networks
US9521100B2 (en) Aggregate electronic mail message handling
US9847956B2 (en) Systems and methods for managing electronic requests for photographs and multimedia content, and enabling electronic social sharing thereof
US20150256499A1 (en) Ranking, collection, organization, and management of non-subscription electronic messages
US20160142358A1 (en) Recipient location aware notifications in response to related posts
US9590943B2 (en) Offline prompts of online social network mentions
US10529035B2 (en) Method and system for recommending activities to a community of contacts
US9411856B1 (en) Overlay generation for sharing a website
US11722856B2 (en) Identifying decisions and rendering decision records in a group-based communication interface
WO2023278887A2 (fr) Interaction sélective avec des utilisateurs et un contenu d'utilisateur pour une plateforme de messagerie sociale
US20230334594A1 (en) Context-based settings recommendations
US20230403244A1 (en) Methods, mediums, and systems for responding to a user service prompt
EP4318292A1 (fr) Prévention de capture d'écran
US12003467B2 (en) Sharing web entities based on trust relationships
WO2023278885A1 (fr) Modération du contenu d'un utilisateur pour une plateforme de messagerie sociale
US20180343215A1 (en) Sharing web entities based on trust relationships

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22834346

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE