LU500990B1 - Messaging platform with tiered relationships between users - Google Patents

Messaging platform with tiered relationships between users Download PDF

Info

Publication number
LU500990B1
LU500990B1 LU500990A LU500990A LU500990B1 LU 500990 B1 LU500990 B1 LU 500990B1 LU 500990 A LU500990 A LU 500990A LU 500990 A LU500990 A LU 500990A LU 500990 B1 LU500990 B1 LU 500990B1
Authority
LU
Luxembourg
Prior art keywords
target
users
message
user
stream
Prior art date
Application number
LU500990A
Other languages
German (de)
Other versions
LU500990A1 (en
Inventor
HAVLICEK Ellen
DELVISCIO Anthony
Lee Sanghoon
Mueller Daniel
Hojsak Allison
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
Priority to LU500990A priority Critical patent/LU500990B1/en
Publication of LU500990A1 publication Critical patent/LU500990A1/en
Application granted granted Critical
Publication of LU500990B1 publication Critical patent/LU500990B1/en

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/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels

Abstract

Aspects disclosed herein permit content creators on messaging platforms to provide exclusive, targeted content to select group(s) of followers that is insert-able into content streams that the messaging platform provides to all users of the platform. These select/target followers can in turn engage with the target content and have visibility into engagement of other select followers with that content. This visibility between target followers also extends to other content generated by the creator that can be more widely available to all followers of the creator. In this manner, when the creator has a sizeable group of followers, a sense of micro-community within target followers is created.

Description

MESSAGING PLATFORM WITH TIERED RELATIONSHIPS BETWEEN USERS LU500990
BACKGROUND
[1001] Social messaging platforms and network-connected personal computing devices allow users to create and share content across multiple devices in real-time.
[1002] Sophisticated mobile computing devices such as smartphones and tablets make it easy and convenient for people, companies, and other entities to use social networking messaging platforms and applications. Popular social messaging platforms generally provide functionality for users to draft and post messages, including video 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.).
[1003] All users of the platform are typically permitted to, and capable of, both authoring messages for others and receiving messages from others. Some users, however, are either more adept at generating content/authoring messages (e.g., also sometimes referred to simply as ‘content creators’) or are famous, such that there is widespread interest in their messaging (e.g., celebrities), or both. In turn, some other users/’ content consumers” are connected to such authoring users and, in that relationship, they are predominantly the ones consuming the content generated by these authoring users. Since these content consumers can be numerous (e.g., in the millions, such as fans of movie stars), their interactions (e.g., likes, reposts/shares, etc.) and messages sent to the content creator rarely get their attention of the authoring user. Nevertheless, content consumers often want to show their support and connect with the content creators they care about in multiple ways. Further, many content consumers not only yearn for and value more exclusive content from these creators, but they also desire engagement with other like-minded individuals (e.g., other fans), and are willing to pay for it.
[1004] Content creators, especially those with sizeable relationships to content consumers or ‘followers’, also desire to on occasion be more selective in their engagement. This can particularly be the case for relatively higher-quality, more desirable, more newsworthy and/or otherwise more valuable content. Further, content creators also desire to foster a sense of selective community both between them and some of their followers (who as noted above, are LU500990 willing to pay for such selective treatment) and among these followers.
[1005] Conventional approaches to permitting content creators and consumers to selectively engage in this manner have several drawbacks. For example, on some platforms, a content creator is forced to create separate-but-linked accounts for separate groups of consumers, e.g., one ‘personal’ account and one ‘professional’ account. Only those consumers who follow the professional account are permitted to be monetized. However, this requires the creator to essentially maintain two separate identities, resulting in consumer confusion. It also requires the creator to constantly have to toggle or switch, both mentally and literally, between these account in order to engage with the consumers of each account. Additionally, a consumer who wishes to obtain both exclusive and non-exclusive content from the creator has to follow both the creator’s accounts, leading to loss of a feeling of exclusivity, and confounding the consumer’s perception of which community of the creator’s followers they are part of an engaging with.
[1006] As another example, on some platforms, a creator is permitted to form exclusive or private ‘groups’ that consumers can join, sometimes upon payment of a fee. However, consumers within the group do not have access to non-group messages posted by the creator unless they also follow the creator’s account directly, which has similar drawbacks to those listed above.
[1007] Accordingly, there is an unmet need, within a platform of users that can be both content creators and consumers, for creating selective relationships within existing relationships that are easily managed by creators, and are seamlessly consumed within existing interfaces (e.g., message streams) by consumers without requiring the user to engage with different creator accounts. Within such selective relationships, there is further an unmet need of providing a sense of community regardless of whether the consumer is interacting with exclusive or other content from the creator.
SUMMARY
[1008] Aspects disclosed herein are directed to a messaging system to facilitate delivery of target messages from a user of the messaging system that opts to send the target messages to other users of the messaging system that elect to receive the target messages. Accordingly, aspects disclosed herein are beneficial for providing certain users, such as those with a large number of engaged followers, to exclusively and specifically engage with a smaller subset of those followers, such as to provide targeted content to them. Those select followers, in turn,
are empowered to subscribe to and financially renumerate those users providing such exclusive LU500990 content, and are provided a more enhanced experiences and interaction with that user.
[1009] The messaging system includes a memory storing a set of connection graphs associated with a set of users of the messaging system. Each connection graph of the set of connection graphs includes a set of nodes, each node of the set of nodes representing a user of the set of users, and a set of edges, each edge of the set of edges connecting two nodes of the set of nodes and representing a relationship between those two nodes. The set of connection graphs includes a set of first connection graphs associated with a first user of the set of users and specifies a set of second users of the set of users to receive messages posted by the first user to the messaging system.
[1010] The set of first connection graphs further optionally specifies the first user as a recipient of messages posted by one or more second users of the set of second users to the messaging system.
[1011] The messaging system further includes one or more processors executing computer- executable instructions. Upon execution of the computer-executable instructions, the one or more processors cause the messaging system to receive, from a set of target users of the set of second users, indications of the set of target users electing to receive target messages posted by the first user to the messaging system.
[1012] Execution of the computer-executable instructions by the one or more processors further cause the messaging system to generate a set of second connection graphs associated with the first user and the set of target users, each edge of each second connection graph of the set of connection graph representing the election the target user represented by one of the nodes connected to that edge to receive the target messages posted by the first user to the messaging system.
[1013] Execution of the computer-executable instructions by the one or more processors further cause the messaging system to store the set of second connection graphs in the memory, and receive a first message from a first computing device associated with the first user, the first message including an indication of broadcast to the set of second users.
[1014] Execution of the computer-executable instructions by the one or more processors further cause the messaging system to transmit, based on the set of first connection graphs, the first message to a set of second computing devices respectively used by the set of second users for display thereon in a stream of messages of each second user of the set of second users, such that each second user of the set of second users can interact with the first message displayed in their corresponding stream and view interactions of each other second user of the set of second LU500990 users with the first message.
[1015] Execution of the computer-executable instructions by the one or more processors further cause the messaging system to receive a second message from a first computing device associated with the first user, the second message including an indication of broadcast to the set of target users.
[1016] Execution of the computer-executable instructions by the one or more processors further cause the messaging system to transmit, based on the set of second connection graphs, the second message to a set of target computing devices respectively used by the set of target users as a target message for display thereon in a stream of messages of each target user of the set of target users, such that each target user of the set of target users can interact with the target message displayed in their corresponding stream and view interactions of each other target user of the set of target users with the second message. The target message is only displayed on the set of target computing devices, and the display of the target message on the set of target computing devices includes a visual indicator of the second message being visible to the set of target users and not visible to the other users of the set of second users.
[1017] Aspects disclosed herein are further directed to a method to facilitate delivery of target messages from a user of a messaging system that opts to send the target messages to other users of the messaging system that elect to receive the target messages. The method includes storing, in a memory of the messaging system, a set of connection graphs associated with a set of users of the messaging system. Each connection graph of the set of connection graphs includes a set of nodes, each node of the set of nodes representing a user of the set of users, and a set of edges, each edge of the set of edges connecting two nodes of the set of nodes and representing a relationship between those two nodes. The set of connection graphs includes a set of first connection graphs associated with a first user of the set of users and specifying a set of second users of the set of users to receive messages posted by the first user to the messaging system.
[1018] The set of first connection graphs further optionally specifies the first user as a recipient of messages posted by one or more second users of the set of second users to the messaging system.
[1019] The method further includes receiving, by the messaging system, from a set of target users of the set of second users, indications of the set of target users electing to receive target messages posted by the first user to the messaging system.
[1020] The method further includes generating, by the messaging system, a set of second connection graphs associated with the first user and the set of target users, each edge of each second connection graph of the set of connection graph representing the election the target user LU500990 represented by one of the nodes connected to that edge to receive the target messages posted by the first user to the messaging system.
[1021] The method further includes storing the set of second connection graphs in the memory, and receiving, by the messaging system, a first message from a first computing device associated with the first user, the first message including an indication of broadcast to the set of second users.
[1022] The method further includes transmitting, by the messaging system and based on the set of first connection graphs, the first message to a set of second computing devices respectively used by the set of second users for display thereon in a stream of messages of each second user of the set of second users, such that each second user of the set of second users can interact with the first message displayed in their corresponding stream and view interactions of each other second user of the set of second users with the first message.
[1023] The method also includes receiving, by the messaging system, a second message from a first computing device associated with the first user, the second message including an indication of broadcast to the set of target users.
[1024] The method further includes, transmitting, by the messaging system and based on the set of second connection graphs, the second message to a set of target computing devices respectively used by the set of target users as a target message for display thereon in a stream of messages of each target user of the set of target users, such that each target user of the set of target users can interact with the target message displayed in their corresponding stream and view interactions of each other target user of the set of target users with the second message. The target message is only displayed on the set of target computing devices, and the display of the target message on the set of target computing devices includes a visual indicator of the second message being visible to the set of target users and not visible to the other users of the set of second users.
[1025] Aspects disclosed herein are further directed to a non-transitory computer-readable medium storing instructions to facilitate delivery of target messages from a user of a messaging system that opts to send the target messages to other users of the messaging system that elect to receive the target messages.
[1026] The instructions, when executed by one or more processors, cause the one or more processors to store, in a memory of the messaging system, a set of connection graphs associated with a set of users of the messaging system. Each connection graph of the set of connection graphs includes a set of nodes, each node of the set of nodes representing a user of the set of users, and a set of edges, each edge of the set of edges connecting two nodes of the set of nodes LU500990 and representing a relationship between those two nodes. The set of connection graphs includes a set of first connection graphs associated with a first user of the set of users and specifying a set of second users of the set of users to receive messages posted by the first user to the messaging system.
[1027] The set of first connection graphs further optionally specifies the first user as a recipient of messages posted by one or more second users of the set of second users to the messaging system.
[1028] The instructions, when executed by one or more processors, further cause the one or more processors to receive from a set of target users of the set of second users, indications of the set of target users electing to receive target messages posted by the first user to the messaging system.
[1029] The instructions, when executed by one or more processors, further cause the one or more processors to generate a set of second connection graphs associated with the first user and the set of target users, each edge of each second connection graph of the set of connection graph representing the election the target user represented by one of the nodes connected to that edge to receive the target messages posted by the first user to the messaging system.
[1030] The instructions, when executed by one or more processors, further cause the one or more processors to store the set of second connection graphs in the memory and to receive a first message from a first computing device associated with the first user, the first message including an indication of broadcast to the set of second users.
[1031] The instructions, when executed by one or more processors, further cause the one or more processors to transmit, based on the set of first connection graphs, the first message to a set of second computing devices respectively used by the set of second users for display thereon in a stream of messages of each second user of the set of second users, such that each second user of the set of second users can interact with the first message displayed in their corresponding stream and view interactions of each other second user of the set of second users with the first message.
[1032] The instructions, when executed by one or more processors, further cause the one or more processors to receive a second message from a first computing device associated with the first user, the second message including an indication of broadcast to the set of target users.
[1033] The instructions, when executed by one or more processors, further cause the one or more processors to transmit, based on the set of second connection graphs, the second message to a set of target computing devices respectively used by the set of target users as a target message for display thereon in a stream of messages of each target user of the set of target LU500990 users, such that each target user of the set of target users can interact with the target message displayed in their corresponding stream and view interactions of each other target user of the set of target users with the second message. The target message is only displayed on the set of target computing devices, and the display of the target message on the set of target computing devices includes a visual indicator of the second message being visible to the set of target users and not visible to the other users of the set of second users.
[1034] All combinations of the foregoing concepts and additional concepts are discussed in greater detail below (provided such concepts are not mutually inconsistent) and are part of the inventive subject matter disclosed herein. In particular, all combinations of claimed subject matter appearing at the end of this disclosure are part of the inventive subject matter disclosed herein. The terminology used herein that also may appear in any disclosure incorporated by reference should be accorded a meaning most consistent with the particular concepts disclosed herein.
[1035] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[1036] The skilled artisan will understand that the drawings primarily are for illustrative purposes and are not intended to limit the scope of the inventive subject matter described herein. The drawings are not necessarily to scale; in some instances, various aspects of the inventive subject matter disclosed herein may be shown exaggerated or enlarged in the drawings to facilitate an understanding of different features. In the drawings, like reference characters generally refer to like features (e.g, functionally similar and/or structurally similar elements).
[1037] FIG. 1A illustrates an example messaging platform.
[1038] FIG. 1B illustrates components of an example messaging system.
[1039] FIGS. 2A-2D illustrate various user interfaces directed to registration, of a user, to LU500990 become a target user/super follower of a content creator.
[1040] FIGS. 3A, 3B illustrate various user interfaces directed to a user becoming a target user of a content creator that they do not currently follow.
[1041] FIGS. 4A-4F illustrate various user interfaces directed to display of target messages to target users.
[1042] FIGS. SA-5M illustrate various user interfaces directed to engagement of a target user with a target message.
[1043] FIGS. 6A-60 illustrate various user interfaces directed to resharing of a target message by a target user.
[1044] FIGS. 7A-7D illustrate various user interfaces directed to liking/endorsement of a target message by a target user.
[1045] FIGS. 8A-8D illustrate various user interfaces directed to disabling/disallowing of a target message by a target user.
[1046] FIGS. 9A-9E illustrate various user interfaces directed to an example audio session between a creator and their target users.
[1047] FIGS. 10A-10D illustrate various user interfaces directed to location of target messages on the creator’s profile page.
[1048] FIGS. 11A-11H illustrate various user interfaces directed to target message creation by the creator.
[1049] FIGS. 12A-12H illustrate various user interfaces directed to creation of an audio session by the creator for their target users.
[1050] FIGS. 13A-13D illustrate additional user interfaces directed to creation of an audio session by the creator for their target users.
[1051] FIGS. 14A-14H illustrate various user interfaces directed to replying, by a creator of a target message, to that target message.
[1052] FIGS. 15A-15F illustrate various user interfaces directed to resharing, by a creator of a target message, of that target message.
[1053] FIGS. 16A-16J illustrate various user interfaces directed to quoting, by a creator of a target message, of that target message.
[1054] FIGS. 17A-17D illustrate various user interfaces directed to sharing, by a creator of a target message, of that target message.
[1055] FIGS. 18A-18F illustrate various user interfaces directed to a target user with a restricted/protected account replying to a target message.
[1056] FIGS. 19A-19D illustrate various user interfaces directed to a target user with a LU500990 restricted/protected account resharing or quoting a target message.
[1057] FIG. 20 illustrates an example method of a messaging system.
DETAILED DESCRIPTION
[1058] The example implementations described below are not meant to limit the scope of the present implementations to a single embodiment. Other implementations are possible by way of interchange of some or all of the described or illustrated elements. Moreover, where certain elements of the disclosed example implementations may be partially or fully implemented using known components, in some instances only those portions of such known components that are necessary for an understanding of the present implementations are described, and detailed descriptions of other portions of such known components are omitted so as not to obscure the present implementations. Overview
[1059] Following below are more detailed descriptions of various concepts related to, and implementations of, establishing and managing targeted and/or tiered relationships between users of a messaging platform. It should be appreciated that various concepts introduced above and discussed in greater detail below may be implemented in numerous ways. Examples of specific implementations and applications are provided primarily for illustrative purposes to enable those skilled in the art to practice the implementations and alternatives apparent to those skilled in the art.
[1060] Aspects disclosed herein are useful for, in a platform as described herein with respect to FIGS. 1A and 1B, permitting a user (e.g., content creator, also referred to as a first user) to establish a targeted or tiered relationship with select followers, including multiple groups of followers. The content creator opts into a targeted follow option that other users, including current followers of the content creator, can register for. In this manner, the content creator can provide the targeted follow option from the same account they use to manage all their followers.
[1061] Similarly, other users/current followers of the first user can register for the targeted follow option to become target users, and to start receiving target content from the first user intended for the target users. This is in addition to regular content generated by the first user for all followers, that is also received by the target users. The target users then receive both the target content and other content via the same message stream/timeline, such that there is no express navigation required (e.g., to a group page) by the target users to view the target content.
As described in greater detail later, the parsing and delivery of target content to the target users, LU500990 and not to other followers of the content creator, is carried out by a combination of newly created connection graph(s) that reflect the creator-target user(s) relationship, the specification of messages being target messages within the message data structure, and newly created rule(s) that consume the updated message data structure.
[1062] Further, aspects disclosed herein permit visibility between target users not only when interacting with the target content, but also when interacting with other content of the creator. Said another way, even though other, non-target content of the creator is visible to and interact- able by all the followers of the creator, target users are still able to distinguish between interactions of other target users with that content and interactions of non-target users with that content. In this manner, a sense of community is sustained between the target users across all messages/content generated by the creator. Example Platform
[1063] 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, 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.
[1064] 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 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.
[1065] The platform is implemented on one or more servers 110a-110m in one or more locations. Each server is implemented on one or more computers, e.g., on a cluster of computers. 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.
[1066] One or more of the servers implement a targeted follow module 112a, directed to establishing and managing tiered relationships between users 102a-102n of the messaging platform 100, which will now be described. Messaging Platform with Tiered Relationships
[1067] Aspects disclosed herein are generally directed to establishing and managing tiered LU500990 relationships between users of the platform 100. 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. Aspects of the platform 100 that are useful for establishing and managing tiered relationships, which can encompass the entire platform 100 itself in some cases, can sometimes also be referred to as a messaging system. Solely for purposes of explanation, FIG. 1B illustrates a messaging server/system 110 that be structurally and/or functionally similar to any of the platform servers 110a-110m, including combinations thereof. The system 110 includes one or more processors 111 and a memory/database 115. Unless indicated otherwise, all components of the messaging system 110 herein can be in communication with each other.
[1068] The memory/database 115 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/database 115 can store instructions to cause the one or more processors 111 to execute processes and/or functions associated with the targeted follow module 112a, the system 110, and/or the platform 100. The database 115 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.
[1069] The one or more processors 111 can each (independently) be any suitable processing device configured to run and/or execute a set of instructions or code associated with its 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 111 can execute a targeted follow module 112a directed to establishing and managing tiered relationships between users of the platform 100.
[1070] As described herein, the platform 100 permits several users to follow a particular user (referred to hereon as a ‘first user’ for simplicity), in which case messages generated by the first user can be delivered and displayed in streams of the followers of the first user (sometimes referred to as a ‘set of second users’). The platform 100 can further permit the first user to specify another/a second form of registration or opt-in, different from the ‘follow’ option, for the set of users to register for/opt into. This can be sometimes referred to as a ‘targeted follow’ option or a ‘super follow” option, that a user following the first user can opt into to become a target follower/user. Generally, the purpose of a targeted follow can be for the first user to provide selective, target messages that can be viewed and engaged with by their target users
(also sometimes referred to as a ‘set of target users’, ‘super followers’, and lexical variants LU500990 thereof), and not by other followers of the set of second users.
[1071] It is understood that while often described herein with respect to a first user and target users for simplicity, the platform 100 can encompass a large number of users offering the targeted follow option (e.g., thousands, hundreds of thousands, millions, hundreds of millions), which each having their own group(s) of corresponding target users. User Opt-In for the Targeted Follow Option
[1072] Aspects of the targeted follow module 112a disclosed herein can enable the first user to provide the targeted follow option to the set of users in any suitable manner. For example, the targeted follow module 112a can be configured to transmit, to the user via the client software 106a, an indication and/or signal of availability of the targeted follow option to all users of the platform including the first user, and permit any user, to offer the targeted follow option to their followers. In some cases, the platform 100 permits the first user to offer the targeted follow option if the user is not currently violating and/or has historically not violated any Terms of Service (ToS) and/or other criterion for use of the platform 100. A ToS violation can be determined by a lookup of a ToS violation repository maintained by the platform 100, such as in a database/memory associated with the platform. Said another way, while the targeted follow module 112a can generally notify all users of the targeted follow option, it is upon application of the first user to offer the targeted follow option that the platform reviews their eligibility.
[1073] As another example, the targeted follow module 112a transmits an indication, message, and/or signal of availability of the targeted follow option to select users via their corresponding client software such as the first user when the first user meets one or more criteria including, but not limited to, a minimum number of followers, a minimum level of activity (e.g., based on the first user’s engagement data), no ToS violation(s) or a maximum number of violations, and/or the like. Said another way, the targeted follow module 112a notifies those users already known to meet eligibility criterion for offering the targeted follow option, such as by evaluating all user accounts against the one or more criterion. In response, the first user can accept the offer to provide the targeted follow option, as explained in greater detail below. In some cases, the first user can defer the offer via their user device, and the targeted follow module 112a can periodically transmit a reminder signal to the user device (e.g., once a week, once a month, once every six months, once a year) of the user’s eligibility, provided they still meet the eligibility criterion at the time of the reminder. In some cases, the first user can reject, via their user device, the offer to opt-in, and the targeted follow module 112a can store a signal of the LU500990 first user’s rejection to the platform’s database/memory.
[1074] As yet another example, the targeted follow module 112a does not provide any such notifications regarding the targeted follow option, and the first user requests, via their user device, to be permitted to offer the targeted follow option such as, for example, through an account page/interface associated with the first user on the targeted follow module 112a.
[1075] Once the first user submits, via their user device, such a request to provide the targeted follow option, the targeted follow module 112a can provide an opt-in page/interface to the first use via the client software on their user device to provide opt-in information. The opt-in information can be a multi-page or multi-step process, with at least one step including requesting the first user, via their user device, for a specification of how many groups of target users the first user wants to create. As one illustrative example, the first user 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 first user, a ‘Silver Tier’ of users/ a second set of target users that receive less exclusive messages on their corresponding user devices posted by the first user 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 first user but are not target users. In this manner, aspects disclosed herein permit the first user to 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.
[1076] As another illustrative example, the first user can specify, via their user device, a ‘Tier 1°/ first set of target users that receives messages directed to a first topic of interest (e.g., politics), a ‘Tier 2’/second set of target users that receives messages directed to a second topic of interest (e.g., sports), and so on. Here, the messages directed to the various tiers can be mutually exclusive; said another way, aspects disclosed herein permit the first user to offer a horizontal tier of targeted follow options, with users in either tier not being able to view messages directed to the other tiers. While horizontal tiers of users are described herein based on topics of interest, it is understood that any suitable, and/or arbitrary, distinction can be specified by the first user. It is also understood that the first user can specify sets of target users via a combination of vertical and horizontal tiers such as, for example, in a 3x2 form, with three vertical tiers and horizontal tiers within each vertical tier.
[1077] The opt-in process can also include requesting the first user, via their user device, for a specification of cost or pricing for each group of target users such as, for example, $5/month, $10/month, and/or any suitable amount. For vertical tiers of users described above, the first user can generally specify, via their user device, a higher amount for a higher tier versus for a LU500990 lower tier. For horizontal tiers of users described above, the first user can generally specify, via their user device, the same amount across all tiers, or different amounts for at least two tiers. In some cases, the opt-in process can include providing the user, via their user device, a revenue estimation feature to permit the first user to evaluate potential earnings from their target users. For example, the revenue estimation feature can permit the first user to enter, via their user device, a desired number of groups of target users, a projected number of users within each group of target users, and a hypothetical monthly cost to each group of target users. Based on these entries, the revenue estimation feature can generate the first user’s projected earnings on a monthly, bi-annual, and/or annual basis.
[1078] The opt-in process can also include requesting the first user, via their user device, for a specification of, for each grouping of target users/tier, a description, by the first user, of the nature of the exclusive messages/content that will be made available by the first user to those target users. The opt-in process can also include requesting the first user, via their user device, a specification of a bank account of the first user, such that payments made by target users of the first user can be deposited to the first user’s account via the targeted follow module 112a.
[1079] In some cases, the opt-in information can further include a specification of how the first user’s messages to target users are labeled and/or otherwise visually displayed in streams of those target users. As described in greater detail later, such aspects permit the first user’s messages to the target users to be visually distinguishable from other messages in their message stream. In some cases, the targeted follow module 112a can provide the first user, via their user device, with predetermined options for labeling, and the first user can select which option should be used for each group of target users. As an example, the label can include a small, bright image that is displayed in a predetermined location within a target message, and different images can be used for different groups of target users. As another example, the label can include a specification of a background color of all or a portion of the displayed message that is different from other, non-target messages displayed to that target user. As yet another example, the label can be a box/portion with text indicating that the target message is visible to target users of the first user, and have a background different than the rest of the target message. The first user can specify a background color for different groups of target users.
[1080] In some cases, the opt-in information can further include a specification of one or more visual recognition indicators/badges for target users that meet a predetermined criterion associated with that recognition indicator such as, for example, a minimum level of engagement of that target user with the target messages posted by the first user and visible to that target user. For example, the minimum level of engagement can be based on the minimum LU500990 percentage of target messages of the first user that the target user ‘likes’, that the target user re- shares, that the target user comments on, that the target user replies to comments on, combinations thereof, and/or the like. The badge can be displayed next to or proximal to the name of the target user in their replies to and shares of the first user’s target messages. In this manner, not only can the first user visually and quickly discern who their most engaged target users are, but that target user feels recognized, not only by the first user but also by other target users who can view the same target messages and related activity.
[1081] Once the first user completes all required opt-in information via their user device, it is submitted to the targeted follow module 112a for processing. In some cases, the targeted follow module 112a, and the front end servers in particular (described below), execute a separate webhook for receiving and processing this opt-in information. In some cases, the same webhook can be employed for receiving and processing cancellation of the first user’s prior opt-in for providing the targeted follow option.
[1082] The targeted follow module 112a, optionally in concert with the relationship graph service (described below), can process the opt-in information to generate one or more additional connection graphs that reflect the first user’s opt-in to have target users/super followers. Generally, connection graphs can be computationally specified as a finite number of vertices/nodes and edges. Edges can be represented as ordered pairs (u, v), where (u, v) indicates that there is an edge/connection from node u to node v, i.e., a path exists from node u to node v that can be computationally traversed. An edge may include cost, weight or length data/parameters. For a given node, degree or valency data/parameters can specify the number of edges that connect to that node.
[1083] Returning to the generation of additional connection graphs by the targeted follow module 112a, for example, the relationship graph service can generate a new connection graph for each tier/group of target users specified by the first user such as, for example, one new graph if the first user is offering a single tier, two new graphs if the first user is offering two tiers, N new graphs if the first user is offering N tiers, and so on. At the time of opt-in, each such graph specifies the first user; when a user opt to targeted follow the first user (described later) and become a target user, the graph can be modified/updated to reflect this relationship such as by adding the target user as a node in that graph. For example, the new connection graph can be updated differently based on whether the first user follows that target user, super follows that target user, and/or the like. In some cases, two new connection graphs can be added when the first user and that target user have such a bidirectional relationship, while in other cases, a single new connection graph can be added that reflects the bidirectional LU500990 relationship. In some cases, a new connection graph can be generated for each tier/group of target users specified by the first user. All such new connection graphs can be added to the memory/database as described herein.
[1084] In some cases, the targeted follow module 112a also maintains a rule/filter library including a set of rules/filters that are applied to every message received by the platform 100, and before that message is transmitted to one or more user devices (via the receive message 124 step). Generally, the rules can include various filters to be applied to the messages such as, for example, whether an intended recipient/user has muted the author of that message, whether an intended recipient/user has blocked the author of that message, for abusive language, and/or the like (see Healthy and Safety section below). The targeted follow module 112a can be configured to apply one or more rules to a received message in parallel to avoid or mitigate latency, such that when the message satisfies the criterion of all rules applied thereto, it is transmitted to the intended recipient(s). Accordingly, the targeted follow module 112a can process the opt-in information to create and store an additional rule to the set of rules that filters target messages intended for all target users of the first user to ensure they are delivered to the correct target users. In some cases, a new rule is created for each tier/group of target users or for a subset of tiers, while in some cases, a single rule is created across all tiers/groups of target users. Using this approach can permit subsequent users signing up as target users to view past target messages. In some cases, the new rule can expressly indicate the target users to which targeted messages can be delivered; in this scenario, a new user may not be able to view past target messages since they were sent to specific target users at that time.
[1085] As described herein, a message may generally be an instance of a container data type (also sometimes referred to as a ‘message object’) storing content data. Aspects disclosed herein encompass the container data type further including a target object which in turn includes a first field specifying whether that message is a target message or not. In some cases, the target object can further include a second field specifying a tier/group of target users that the target message is intended for. In some cases, the target object can further include a third field specifying a date and/or time till when the message is to be regarded as a target message, and after which it can be delivered to all users, and not just the target users, that follow the first user. Benefits of such a third field permit the first user to provide ‘early access’ content/messages to the target users, where the target users receive such messages substantially in real-time and immediately upon posting by the first user, while other users receive them at a later time.
[1086] The targeted follow module 112a can then, based on a combination of the target object LU500990 in target messages received from the first user, the newly created connection graphs, and the newly created rules, determine how to direct and deliver the target messages. Targeted Follow Registration by a User
[1087] Once the opt-in process of the first user is complete, the targeted follow module 112a can update the first user’s profile, such as a profile page of the first user for example, to include an option for the set of second users, and optionally any user of the targeted follow module 112a, to super follow/become a target follower of the first user. For example, in some cases, the first user’s profile can indicate (to those users who do not yet follow the first user) an option to follow, but not become a target user of, the first user. Once that user(s) follows the first user, then the targeted follow option may become available to that user. In other cases, both a follow and a targeted follow option can be available/visible to users who do not yet follow the first user, while only a targeted follow option be available/visible to users who already follow, but are not target users of, the first user.
[1088] Upon selecting the option to super follow the first user, a user can be presented with selectable options for a prespecified tier/group of target users, as established by the first user previously. Each option can include, for example, a description of the offerings for that tier, and a cost/amount per month for that tier. Selection of a tier can lead to a payment interface for that user such as, for example, a credit card/debit card completion form, an intra- or inter- bank payment completion form, an electronic wallet interface (e.g., Apple Pay), a carrier billing form for billing a cellular provider associated with a user device of that user, and/or the like. In some cases, particularly when the first user is performing registration through a Smartphone application as the client software 106 executing on a user device 104, selection of a tier can lead to completion of the purchase via a an application store platform executing on the user device 104 such as, for example, the Android Play Store, the Apple App Store, and/or the like.
[1089] Upon successful entry and receipt of payment information, the targeted follow module 112a can provide a message of success, and of that user now being a target user of the first user. The targeted follow module 112a can further update the new connection graph(s) associated with first user to reflect the addition of the new target user, and can be based on the tier selected by that target user. User Experience — Targeted Messages
[1090] Once a user opts to become a target user/super follower off the first user, the target user can start receiving target messages from the first user intended for that target user in that target user’s message stream. The first user can generate target messages using the same interface as for generating non-target messages. For example, the client software of the user LU500990 device associated with the first user can provide a message generation interface that permits the first user to add text, video, audio, combinations thereof, and/or any other suitable media to the message content. The message generation interface can include a user element (e.g., a drop down menu) to select the intended audience for the message from predetermined options. For example, the predetermined options can include all users of the platform 100, all followers of the first user, and one or more group(s) of target users associated with the first user. The first user may be able to select one or more options, provided they are not contradictory. For example, the first user may be able to specify both a first tier/group of target users and a second tier/group of target users to receive the message, but may not specify all followers and the first group of target users to receive the message. Once the user finalizes the message, the message data object is generated by the client software, and when the message is a target message, the target object of the message object reflects the user’s specification of the one or more groups of target users to receive the message. The generated message is then transmitted to the platform 100 via the ‘post message’ option 122 (see FIG. 1). In this manner, the first user can generate target messages in substantially the same manner.
[1091] The target message can be received by the platform 100 (including the targeted follow module 112a), parsed using the set of rules in the rule library, and sent to target users (e.g., by the delivery services described herein) based on the set of connection graphs stored by the platform. All other users will not receive or view the target message in their message streams, and accordingly cannot engage with such target messages either. In this manner, without creating additional and separate accounts and without requiring a separate interface, the first user can engage differently with different sets of followers within the same message streams all users already consume.
[1092] The display of the target message within the target user’s message stream (also sometimes referred to as a ‘timeline’) can include one or more visual indicators that distinguish it from other non-target messages, and from target messages from other users that that target user is also a target user of, i.e, is also super following. The visual indicator can be a label/image, a different background color, a differently colored text box, and/or the like. In some cases, the message stream can include messages in chronological order or in reverse chronological, and the target message can be accordingly positioned within the message stream based on a timestamp associated with the target message. In other cases, the message stream can include messages based on a computationally predicted relevance to the requesting account holder, or according to some combination of time and relevance score. In such cases, the inclusion and positioning of a target message can be based on boosting the predicted LU500990 relevance/relevance score of that target message, such as via a ‘boosting’ multiplier (e.g., that can be predetermined), and/or the like.
[1093] For example, a learning, machine-based model can initially uniformly elevate/boost all target messages by a predetermined amount, degree, extent, and/or the like. Over time, feedback information or signals can be used to train the model, where the signals can be specific to the first user, one or more target users, and/or the like. Such example feedback information can include, but is not limited to whether a target user lingered on, liked, replied, shared to their timeline, externally shared, saved in a list, and/or other actions. As the model receives this feedback information as training information, it can programmatically gauge the probability that the target user would like to receive a particular target message based on their past behavior. As an example, a target user may skip all target messages that are only text, so those would be weighted lower than a target message that contained an image.
[1094] In yet other cases, target messages can be positioned as the first message in a message stream (e.g., the topmost message in a vertical message timeline), among a set of messages delivered upon client request as described herein with respect to message streams. In such cases, when multiple target messages are to be displayed at the same time, they can be ordered as the first few messages in any suitable manner, such as chronologically, in strict reverse chronological order, based on any ranking approach disclosed herein, and/or the like. In some cases, the targeted follow module 112a can provide an option for the target user to filter their current view of the messages in their stream to show only target messages for that target user.
[1095] Since the target message is only visible in the message streams of target users, only those target users can engage with the target message, such as by reposting the target message, marking the target message to indicate it is a favorite of, liked by, or endorsed by the target user, responding to the target message, quoting the target message with further comments, and mentioning or referencing the target message. The target user can also view such activity by other target users with respect to that target message, such as another target user liking that target message. As another example, if a target user shares the target message to their followers, only those followers who also are target users for that message will be able to view and engage with the target message; said another way, the target user is not permitted to change the audience for the shared, target message. In this manner, the restrictions/targeting imposed on the target message by the first user are maintained and propagated through various related subsequent messages (e.g., replies, shares, etc. of that target message), while the target users experience a sense of exclusivity with respect to other users, and a sense of select community LU500990 with respect to other target users and the first user.
[1096] The first user can be notified of any activity by the set of target users with respect to a target message, such as a target user liking the target message, sharing the target message, and/or the like. Additionally, when viewing their target message in their stream, the first user can view recognition indicator/badge of a target user who engages with the target message, such as in replies to the target message. In this manner, the first user has instant, visual insight into who their target users are, and their action. In some cases, the recognition indicator/badge of a target user are also visible to other target users of the same first user. User Experience — Other, Non-Target Messages
[1097] While a target user can view/engage with target messages posted by the first user, they can also view/engage with, similar to other users that follow but are not target users of the first user, all other messages posted by the first user. In some cases, engagement of the target user, such as a reply to a regular message, can nevertheless be visually spotlighted to the first user and/or other target users, but not to the remaining followers of the first user. For example, consider that a target user responds to a non-target message posted by the first user, such as to all followers of the first user. In the display of the message to the first user and to other target users, the reply will include a label, background color, and/or other indicator of the replying user being a target user. In the display of the message to all other users, no such indicators will be present, i.e., there be no sign that the reply comes from a target user.
[1098] In some cases, the first user may reciprocally super follow a target user, and that interaction can generally be as described herein, with the first user effectively now being a target user, and vice versa. In other cases, the first user may follow, but not super follow, a target user. In such cases, messages of the target user that are displayed in the stream of the first user can still be labeled to indicate, to the first user, the status of the user who generated that message as a target user. Direct/Private Messaging
[1099] As described herein, the platform 100 allows users and/or groups of users to have a private exchange of messages, also sometimes referred to as ‘direct messages’, or DMs. In some cases, the targeted follow module 112a can permit for the first user as described herein (i.e., auser who provides the targeted follow option, and has target users, and other users that follow them but are not target users) to control and/or otherwise experience private messaging differently between target users and other followers in any suitable manner. For example, the targeted follow module 112a can permit the first user to receive private messages from target users but no other followers. In some cases, the targeted follow module 112a can permit the LU500990 first user to receive private messages from a subset of target users, e.g., only first and second tier of target users, but not a third tier of target users, and also not from other followers.
[1100] As another example, private messages from target users and/or groups of target users to the first user can be labeled (e.g., with an image, a flag icon, etc.) to visually distinguish them from messages from other followers of the first user. In some cases, different labels can be employed for different tiers/groups of target users. As yet another example, while the order of display/listing of private messages can generally be based on time of receipt, private messages from target users can be pinned or otherwise positioned above all other messages from other followers. When the first user receives multiple private messages from target users, they can be ordered by time of receipt. Audio/Video Interactions
[1101] As described herein, the platform 100 permits users to define immediate or scheduled sessions with individual or groups of users for audio or audio/video interactions. The definition of a session can include start time, duration, which users/groups of users can participate, and/or the like. In some cases, the targeted follow module 112a can permit the first user to define such sessions to differentiate between target users and other followers in any suitable manner. For example, the first user can define an audio session or meeting (also sometimes referred to as an ‘audio space’) that is visible to all or specific groups of target users (e.g., target users across all tiers, target users of a specific tier, etc.), and not to other followers of the first user. As another example, the first user can define an audio session that is visible to all target users, but only target users of one or more specified groups/tiers can talk and engage with the first user, while other target users can listen but cannot speak. Similarly, the first user can define an audio/video session that is visible to all target users, but only target users of one or more specified groups/tiers can have their video feed displayed, and talk and engage with the first user, while other target users can watch and listen but cannot speak or be seen.
[1102] As yet another example, the first user can define an audio session that is visible to all followers, but only target users can talk and engage with the first user, while other followers can listen but cannot speak. Transitory Messages
[1103] In some cases, the platform 100 permits users to define temporally limited or fleeting messages, e.g., messages that disappear from the message streams of followers after 24 hours. In some cases, the targeted follow module 112a can permit the first user to define such transitory messages to differentiate between target users and other followers in any suitable manner. For example, similar to targeted messages, the first user can specify that a transitory LU500990 targeted message is only delivered to, and visible to, all target users or a subset of target users, and not to other followers of the first user. As another example, similar to targeted messages as described herein with respect to ‘early access’ messages, transitory messages can be delivered to target users substantially in real-time, and to other users based on a predetermined delay (e.g., one day, a week, etc.). Metrics
[1104] The platform 100 can track any suitable metrics associated with the establishment of the targeted follow option by the first user, the registration of users for the targeted follow option resulting in them becoming target users, and/or the subsequent, targeted follow-specific engagement between the first user and the target users, including any sub-group thereof (e.g., of a specific tier/group of target users).
[1105] Metrics associated with establishment of the targeted follow option can provide insight into successful establishment of the targeted follow option but also, when that user is not able to establish a targeted follow option for their account, why this is the case. For example, in cases where the platform 100 selectively invites some users of the platform to offer the targeted follow option, the platform can evaluate, as one metric can evaluate what percentage of the invited users successfully signed up to offer the targeted follow option. As another example, when the invitation to the users is via a notification, the platform can calculate another metric to determine what percentage of users even click on the notification, i.e, as a measure of interest level of the invited users, as a measure of how effective the notification language is, and/or the like.
[1106] As another example, in cases where users can submit requests to the platform 100 to provide the targeted follow option to their followers and/or other users, another metric is how what percentage of users who initially meet any predetermined requirements (e.g., minimum number of followers, etc.) to provide the targeted follow option. As another example, another metric is what percentage of users meet the predetermined requirements but nevertheless fail to complete the process to provide the targeted follow option.
[1107] Other metrics can pinpoint where in the process of setting up a targeted follow option do users, invited or otherwise electing to do so, are the users halting the process. For example, another metric can be the percentage of users who, in a multi-step process for providing the targeted follow option (e.g., such as selecting tiers, price points for tiers, generating text descriptions for various tiers, providing their bank account information, etc.), are not completing the process, and can be specific to each step of the process. For example, one metric can reflect the percentage of users who stop when selecting tiers, another metric can LU500990 reflect the percentage of users who stop when providing account information, and so on. In this manner, each such metric can provide unique insight into whether instructions for that step may be confusing to the user, whether the user has privacy concems (e.g., with providing bank account information), and/or the like.
[1108] Metrics associated with the registration of users for targeted follow options providing by the first user and other such users can similarly provide insight into the reasons behind successful and unsuccessful registration. While often described herein with respect to the first user, it is understood that such metrics can be specific to the first user/any user offering the targeted follow option, all users offering the targeted follow option, or any suitable sub-group thereof (e.g., all users offering the targeted follow option for a particular topic). As an example, the platform 100 can evaluate as one metric the percentage of followers of the first user register to become target users. Another metric can be the percentage of followers of the first user who start, but do not complete, the registration process, which can be an indication of at least some interest. Yet another metric can be the percentage of followers who, in a multi-step registration process for becoming a target user (e.g., such as selecting tiers, providing their payment option, etc.), are not completing the process, and can be specific to each step of the process. For example, one metric can reflect the percentage of users who stop when selecting tiers, another metric can reflect the percentage of users who stop when providing payment information, and so on. Yet another metric(s) can be the percentage of followers who select a particular tier offered by the first user.
[1109] Metrics associated with the subsequent, super-follow engagement between the first user and their corresponding target followers can provide insight into how the first user-target user(s) relationship has changed, especially when compared to that of the first user with other followers that are not target users of the first user. As an example, the platform 100 can evaluate as one metric aratio or other relative value of engagement of the first user with a target user versus engagement of the first user with another, non-target follower or user. The engagement can include one or more of reposting the message (e.g., reposting of target messages by target users vs reposting of non-target messages by all users/followers), marking the target message/message to indicate it is favorited, liked, or endorsed, responding to the target message/message, responding to a target message/message with a response having a sentiment determined by the platform to be positive or negative, quoting the target message/message with further comments, and mentioning or referencing the target message/message. As another example, another metric can be the ratio of engagement/relative engagement of the first user with different tiers/groups of target users. As another example, LU500990 another metric can be a ratio or other relative value of engagement between the target users compared to engagement between all followers of the first user. As yet another example, for a given target user, another metric can be aratio or other relative value of engagement of that given target user with the first user compared to other users that the target user follows, but does not super follow. Example Method
[1110] FIG. 20 illustrates an example method 2000 that can be executed by the messaging system 110, or structurally and/or functionally similar variants thereof. Generally, the method 200 is useful for of target messages from a user (e.g., a content creator) of a messaging system (e.g., the system 110, the platform 100, and/or the like) that opts to send (i.e., opts in as described herein) the target messages to other users of the messaging system that elect to receive (e.g., register to receive, as described herein) the target messages. At step 2010, the method 2000 includes storing, in a memory of the messaging system (e.g., in the memory/database 115), a set of connection graphs associated with a set of users of the messaging system. Each connection graph can include a set of nodes, where each node represent a user of the messaging system, and a set of edges, where each edge connects two nodes of that connection graph and represents a relationship between those two nodes (e.g., following, friending, subscribing, tracking, liking, tagging, and/or any other kind of relationship that can be established on the platform 100). The set of connection graphs can include a set of first connection graphs associated with a first user (e.g., a content creator) and specify a set of second users (e.g., followers of the first user) of the set of users to receive messages posted by the first user to the messaging system. In some cases, the set of first connection graphs can further specify that the first user is a recipient of messages posted by one or more second users of the set of second users to the messaging system, i.e., that the first user follows that second user back, such as can be represented by (for example) a bidirectional connection graph or by two separate connection graphs.
[1111] The method 2000 further includes, at step 2020, receiving, by the messaging system, from a set of target users (e.g., super followers) of the set of second users, messages and/or signals of the set of target users electing to receive target messages posted by the first user to the messaging system. For example, such messages/signals can be of the successful registrations of the target users to super follow the first user/content creator.
[1112] The method 2000 further includes, at step 2030, generating, by the messaging system, a set of second connection graphs associated with the first user and the set of target users. Each edge of each second connection graph can represent the election/registration of the target user LU500990 represented by one of the nodes connected to that edge to receive the targeted messages posted by the first user to the messaging system. In this manner, the messaging system can capture the super follow relationship between the first user and the target users. At step 2040, the set of second connection graphs are stored to memory, such that they can be employed for filtering messages in the future.
[1113] The method 2000 encompasses the scenario where the first user can generate and broadcast messages to all their followers, i.e., to the set of second users, which includes the target users. For example, at step 2050, the method 2000 includes receiving, by the messaging system, a first message (e.g., a message intended for all followers of the first user) from a first computing device (e.g., the user device 104a) associated with the first user, the first message including a message of broadcast to the set of second users. For example, the message data type can include a specification/setting that the audience of the message is all followers. In this manner, each second user/follower can view and interact with the first message displayed in their corresponding stream, and also view interactions (e.g., likes, shares, reshares, replies, etc.) of each other second user with the first message.
[1114] The method 2000 further includes, at step 2060, transmitting, by the messaging system and based on the set of first connection graphs, the first message to a set of second computing devices (e.g., similar to the device 104n) respectively used by the set of second users for display thereon in a stream of messages of each second user, such as, for example, by including the first message in a message stream being transmitted to the second user upon request (e.g., upon launching the client software, upon refreshing the currently displayed messages on that user’s device, etc.) by that user’s device. such that each second user of the set of second users can interact with the first message displayed in their corresponding stream and view interactions of each other second user of the set of second users with the first message.
[1115] The method 2000 also encompasses the scenario where the first user can selectively generate and broadcast target messages to just the target users, and not their other followers. For example, at step 2070, the method 2000 includes receiving, by the messaging system, a second message from a first computing device associated with the first user, the second message including a message of broadcast to the set of target users, i.e., being a target message with the audience set to include just the target users.
[1116] The method 2000 includes, at step 2080, transmitting, by the messaging system and based on the set of second connection graphs, the second message to a set of target computing devices (e.g., devices similar to the user device 104n) respectively used by the set of target users as a target message for display thereon in a stream of messages of each target user. In LU500990 this manner, each target user/super follower can not only interact with the target message displayed in their corresponding message stream, but can also view interactions of each other target user with the second/target message. The target message is only displayed on the target computing devices of the target users, and this display of the target message includes a visual indicator (e.g., a label) of the second message being visible to the set of target users and not visible to the other users of the set of second users.
[1117] In some cases, each stream (i.e., the message stream specific to a particular user) can be ordered as a chronological stream, such as a reverse chronological stream for example. In such cases, the method 2000 can include displaying the target message at a position within each message stream that is based on a timestamp of generation of the target message. In some cases, a user can filter displays of their message stream when they want to only view target messages. In such cases, the method 2000 can encompass receiving, by the messaging system, from a first target user of the set of target users, a request for a filtered view of their message stream to display target messages. The method 2000 can further include transmitting, by the messaging system, to the target computing device associated with the first target user, an signal of display, in the stream associated with the first target user, a set of target messages including the first target message, such that no other messages are displayed in the stream associated with the first target user.
[1118] In some cases, the display of the stream of messages on user devices can generally be in the form of a vertically arranged series of cards, with each card corresponding to a message. A card can generally be any suitable graphical user element that includes an icon associated with the author of that card/message (e.g., a profile picture), and message content. Each card can also include selectable links/options for replying to that message, resharing or quoting that message, sharing that message, and/or the like, and as generally illustrated and described for FIGS. 2-19. Similar to the message, each card ca be defined as or by a message object that includes a set of child objects. The message object of the target message can include a target object as a child object that includes an attribute specifying the target message as being broadcast to the set of target users associated with the first user. The message object can also include a target attribute specifying the visual indicator (e.g., label) of the target message. The visual indicator can be, include, or encompass an image label at a predetermined location, a background color for a portion of the message/displayed card that is different from the rest of the displayed message/card, text displayed at a predetermined location that has a different background color than the rest of the displayed message/card, and/or the like.
[1119] In some cases, the method 2000 encompasses the notion of different groups of target LU500990 users that can receive target messages that are overlapping (e.g., some target users receive all target messages, other target users only receive some target messages, and/or the like) or non- overlapping/mutually exclusive (e.g., each group of target users does not see any target messages sent to each other group of target users). For example, in some cases, the target message is a first target message, and wherein the set of target users is a first set of target users, and the method 2000 can further include receive signals (e.g., registration information(s)) of a second set of target users of the set of second users from the second set of target users. The method 200 can also include generating and storing to memory, a set of third connection graphs associated with the first user and the second set of target users. Then, when a third message is received from the first user that is to be broadcast to both the first and second sets of target users, the method 200 can include transmitting, based on the set of second connection graphs and the set of third connection graphs, the third message to target computing devices of the first set of target users and of the second set of target users as a target message for display thereon. i.e., in a stream of messages of each of those target users. In this manner, the first user can specify the second message to be transmit only to the first set of users and the third message to be transmit only to the first and second sets of users among their followers, while excluding the rest.
[1120] To accomplish this, the attribute of the target object of the first target message can specify that the first target message is to be broadcast only to the first set of target users, and an attribute of the target object of the second target message can specify that the second target message be broadcast to both the first set of target users and to the second set of target users.
[1121] Similarly, in some cases directed to groups of target users that receive non-overlapping messages, the target message is a first target message, and wherein the set of target users is a first set of target users, and the method 2000 can include receiving signals (e.g., registration information(s)) of a second set of target users of the set of second users from the second set of target users. The method 2000 can also include generating and storing to memory, a set of third connection graphs associated with the first user and the second set of target users. Then, when a third message is received from the first user that includes a message of broadcast to the second set of target users, the method 2000 can include transmitting, based on the set of third connection graphs, the third message to the target computing devices of the second set of target users as a target message in their respective streams of messages. The target message is not displayed on the stream of any other user of the set of second users including the first set of target users. In this manner the first user can specify the second message to be transmit only to the first set of users and the third message to be transmit only to the second set of users LU500990 among their followers, while excluding the rest.
[1122] In some cases, the message object can further include a date (and optionally, a time) attribute that can be specified by the first user, and be indicative of a date (and optionally, a time) after which the target message can be made visible/available to all followers of the first user, and not just the target user. In this manner, with the specification of a single message, the first user can be enabled to provide ‘early access’ content to their target users which is then automatically delivered to other followers after the prescribed data/time.
[1123] In some cases, the memory/database 115 can further store a set of filters or rules that can be applied to messages received by the messaging system 110. In such cases, the method 200 can further include generating, and storing to memory, a first filter associated with the first user and the set of target users. For example, the first filter can be employed to filter target messages (e.g., those messages with the target object specifying delivery to one or more groups of target users) to ensure that the first message is not delivered to other followers of the first user, i.e, is restricted to the intended set of target users. Example Flows and User Interfaces
[1124] Described herein are various example, non-limiting interfaces for various aspects of the inventive approaches disclosed herein.
[1125] FIGS. ZA-2D illustrate how a user who already follows a creator/another user can become a target user, a super follow user, or a super follower of that creator. FIG. 2A illustrates a profile page of the creator that includes a selectable ‘super follow’ link 205. Clicking on the link 205 can lead to a registration page/interface 210 that describes the exclusive/ target content that will become available to the user, and includes a link 215 to register at a price of $4.99/month. FIG. 2C illustrates an interface 220 which asks the user to confirm registration via a mobile payment process. Once the user completes payment and registration, they are returned to the creator’s profile page (see FIG. 2D), which includes an indication 225, that replaces the link 205 of FIG. 2A, that the user is now a super follower of the creator.
[1126] FIGS. 3A and 3B illustrate how a user who does follows a creator/another user can become a super follower of that creator. FIG. 3A illustrates a profile page of the creator that includes a selectable ‘follow’ link 305. Once the user clicks the link 305 to follow the creator, as illustrated in FIG. 3B, this is then replaced with a selectable ‘super follow’ link 310. The user can then register to be a super follower of the creator as explained for FIGS. 2A-2D above.
[1127] FIGS. 4A-4F illustrate how target content/messages generated by the creator are displayed or otherwise visible to their super followers, for both mobile (FIGS. 4A-4C) and desktop (FIGS. 4D-4F). FIG. 4A illustrates a display of the super follower’s message stream, LU500990 including a message 405 from the creator that is not a target message, and is visible to all the creator’s followers. FIG. 4A also illustrates a target message 410 that is only visible to the super followers of the creator. The message 410 includes a label 415 specifying that it is visible only to super followers of the creator. FIG. 4D similarly illustrates these elements for a desktop interface. FIG. 4B illustrates a thread view of the message 415, including replies by super followers to the message 415. In this view, at the top of all replies, is a label 420 specifying that the message 410 and the replies to the message are visible only to super followers of the creator. Each reply to the message 415 also includes a label 425 specifying that the author of the reply is also a super follower of the creator. FIG. 4E similarly illustrates these elements for a desktop interface. FIG. 4C illustrate a view of, within the creator’s profile page, a tab listing all the creator’s messages. Here, in a manner substantially identical to FIG. 4A, the message 405 is unlabeled, while the message 410 includes the label 415 for super followers. FIG. 4F similarly illustrates these elements for a desktop interface.
[1128] FIGS. SA-5M illustrate how a super follower can engage with a target message. FIG. SA illustrates a target message 505 displayed in a stream of messages of the super follower along with a label 510, and including a selectable reply link 515. Upon selecting the link, a reply interface 520 is presented where the user can enter their reply 525, as illustrated in FIG. 5B. FIG. 5C illustrates how, upon completion, the display of the message 505 is updated to reflect the reply 525 as well, a label 525 indicating the super follower status of the author of the reply 525, and another label 530 indicating, to the Author/super follower, that only other super followers can view the reply. FIG. 5D then illustrates a message thread view, similar to that described for FIGS. 4A-4F, that includes the reply 525 and the various labels described herein. FIG. SE illustrates a thread view that is based on the reply 525, i.e. illustrates interactions of the creator and/or other super followers of the creator with the reply 525. A reply/comment option 535 can permit other super followers of the creator to reply to the message 525, as illustrated in the interface 540 of FIG. SF, where a reply 545 is entered. FIGS. 5G-5M illustrate desktop versions of some of the interfaces illustrated in FIGS. SA-SF.
[1129] FIGS. 6A-60 illustrate resharing of a target message by a super follower within the messaging platform/system, to generate a message to their own followers. FIG. 6A illustrates a target message 605 displayed in a stream of messages of the super follower along with a label 610, and including a selectable reshare link 615. Upon selecting this link, a pop-up interface 620 is presented (see FIG. 6B) where the user can elect to reshare the message 605, and includes a label 625 noting that only super followers of the creator will be able to see the reshared message. FIG. 6C illustrates an interface 630 where the super follower can add their own LU500990 content (text, video, etc.) to the reshared message 635, and once completed, click a link 635 to publish the shared message. FIG. 6D illustrates the message 635 as published to the super follower’s stream. FIG. 6E illustrates the message 635 as published to another super follower’s stream who follows the author of the reshared message 635, and including a label 640 that indicates that the other super follower can see the reshared message 635 since they also follow the creator of the target message 605. FIG. 6F illustrates the message 635 and the label 630 on a tab/section of the creator’s profile page as viewable by the other super followers.
[1130] FIG. 6G illustrates how the reshared message 635 appears to followers of the author of the message 635 who do not follow the creator of the message 605. Here, while the added content from the super follower is visible, the portion of the message 635 that shows the message 605 is removed, and instead replaced with a label 645 indicating that it is only visible to super followers of the creator. FIGS. 6H-60 illustrate desktop versions of some of the interfaces illustrated in FIGS. 6A-6G.
[1131] FIGS. 7A-7D illustrate liking or endorsement of a target message 705 by a super follower (e.g., a first super follower) of the creator of the target message 705. FIG. 7A illustrates that a second super follower of the creator who also follows the first super follower can see, in their own message stream, a message that the first super follower liked the creator’s message 705, along with a label 710 indicating that the second super follower can see this activity of the first super follower since they also super follow the creator. FIG. 7B illustrates, for the second super follower, the message 705 and the label 710 on a tab/section of the creator’s profile page. FIGS. 7C, 7D illustrate desktop versions of the interfaces illustrated in FIGS. 7A, 7B.
[1132] FIGS. 8A-8D illustrate how other sharing options for a target message 805 (e.g., copy a direct link to the target message, shared the target message outside the messaging platform/service, bookmarking the target message, etc.), which may otherwise be available for non-target messages, can be disallowed to restrain the visibility of the message to target users as intended by a creator. FIG. 8A illustrates that a selectable external sharing link 810 may be presented to the super follower in their timeline, along with the target message 805. Upon selection of the link 810, instead of being presented with all external sharing options (see FIG. 8B), the super follower is presented with an indication/message 815 that some sharing options (e.g., sharing via a text message) are not available for target messages. Here, the only option presented to the super follower is a bookmark option 820. FIGS. 8C, 8D illustrate desktop versions of the interfaces illustrated in FIGS. 8A, 8B.
[1133] FIGS. 9A-9E illustrate an example audio session between a creator and their super LU500990 followers. FIG. 9A illustrates how a creator-initiated audio session that is limited to super followers is displayed to a super follower, via a selectable audio session link 905. The audio session 905 can be distinguished from other sessions 910 in any suitable manner such as, for example, a differently colored border, an icon overlapping with the border, and/or the like. Upon clicking on the link 905, an interface 915 (see FIG. 9B) is presented to the super follower that includes a label 920 indicating that the audio session is limited to super followers. The interface 915 can also illustrate the list and/or number of participants such as, for example, the creator 925, participants 930 who are speaking or permitted to speak, participants who are simply listening or only permitted to listen 925, and/or the like. The interface 915 further includes a selectable link 940 to confirm that the super follower wishes to join the audio session. Upon clicking the link 940, the interface 945 (see FIG. 9C) is presented to the super follower, who is now permitted to speak, request to speak, and/or listen. The interface 945 again includes a label 950 indicating that the audio session is limited to super followers, and a selectable link/option 955 for the super follower to exit the audio session. FIGS. 9D, 9E illustrate desktop versions of some of the interfaces illustrated in FIGS. 9A-9C.
[1134] FIGS. 10A-10D illustrate locating of target content/messages on the creator’s profile page. FIG. 10A illustrates a profile page 1005 of a creator as presented to a super follower of the creator. The page 1005 includes a set of tabs 1010, including a first tab 1010a that lists all messages, whether targeted or otherwise, that the creator has posted. The tabs 1010 also include a second tab 1010b, as illustrated in FIG. 10B, which lists all target messages that the creator has posted and that are visible to the super follower. FIGS. 10C, 10D illustrate desktop versions of the interfaces illustrated in FIGS. 10A, 10B.
[1135] FIGS. 11A-11H illustrate target message creation by the creator. FIG. 11A illustrates an interface 1105 for creating a target message 1110, and includes a selectable drop-down list 1115 which permits the creator to set an audience (e.g., a specific group of target users) for the target message. FIG. 11B illustrates an interface 1120 that is displayed upon the creator clicking on the element 1115, and lists a ‘super follow” option 1115b to specify a set of target users/super followers for the message 1110, upon selection of which control returns to the interface 1105 as illustrated in FIG. 11C, where the element 1115 now specifies the ‘super follow” option 1115b. FIG. 11D illustrates the resulting message 1110 in a super follower’s message stream. FIGS. 11E-11H illustrate desktop versions of the interfaces in FIGS. 11A- 11D.
[1136] FIGS. 12A-12H illustrate creation of an audio session by the creator for their super LU500990 followers. FIG. 12A illustrates an interface 1205 for creating an audio session, and includes a selectable drop-down list 1215 which permits the creator to set an audience (e.g., a specific group of target users) for the audio session. FIG. 12B illustrates an interface 1220 that is displayed upon the creator clicking on the element 1215, and lists a ‘super follow’ option 1215c to specify a set of target users/super followers for the audio session, upon selection of which control returns to the interface 1205 as illustrated in FIG. 12C, where the element 1215 now specifies the ‘super follow’ option 1215c. The creator clicks on the link 1225 to create the audio session, and FIG. 12D illustrates the resulting session interface 1230 as viewable in the creator’s display. FIGS. 12E-12H illustrate desktop versions of the interfaces in FIGS. 12A- 12D.
[1137] FIGS. 13A-13D illustrate creation of an audio session by the creator for their super followers from another interface associated with creation of transitory sessions. FIG. 13A illustrates a transitory interface 1305 for creating an audio session, and includes a selectable drop-down list 1315 which permits the creator to set an audience (e.g., a specific group of target users) for the audio session. FIG. 13B illustrates an interface 1320 that is displayed upon the creator clicking on the element 1315, and lists a ‘super follow’ option 1315c to specify a set of target users/super followers for the audio session, upon selection of which control returns to the interface 1305 as illustrated in FIG. 13C, where the element 1315 now specifies the ‘super follow’ option 1315c. The creator clicks on the link 1325 to create the audio session, and FIG. 12D illustrates the resulting session interface 1330 as viewable in the creator’s display. FIGS. 12E-12H illustrate desktop versions of the interfaces in FIGS. 12A-12D.
[1138] FIGS. 14A-14H illustrate how a creator can reply/respond to their own target messages posted to their super followers. FIG. 14A illustrates the creator’s target message 1405 in their message stream, where the creator can engage with a selectable reply link 1410. FIG. 14B illustrates an interface 1415 where the creator can compose and post a reply 1420 from. FIG. 14C illustrates the reply 1415 posted to the creator’s stream with a label that only super followers of the creator can see the reply. FIG. 14D illustrates a thread view of the reply 1415 in combination with the original message 1405. FIGS. 14E-14H illustrate desktop versions of the interfaces in FIGS. 14A-14D.
[1139] FIGS. 15A-15F illustrate how a creator can reshare their own target messages posted to their super followers. FIG. 15A illustrates the creator’s target message 1505 in their message stream, where the creator can engage with a selectable reshare link 1510. FIG. 14B illustrates an interface 1515 that includes a selectable option 1520a to reshare the message 1505 along with a message that only the creator’s super followers will be able to see the reshared message. LU500990 FIG. 15C illustrates the reshared message 1525 posted to the creator’s stream with a label that only super followers of the creator can see it. FIGS. 15D-15F illustrate desktop versions of the interfaces in FIGS. 15A-15C.
[1140] FIGS. 16A-16J illustrate how a creator can quote their own target messages in a new message posted to their followers or super followers. A quote can generally be distinguished from a reshare in that when resharing the creator (or generally, the user resharing a message) does not add additional content to the reshared message. When quoting a message, the creator/user can add text, media, etc. to the message being quoted. Accordingly, FIGS. 16A, 16B illustrates substantially the same interface and flow as FIGS. 15A, 15B, with the creator’s target message 1605 in their message stream, where the creator can engage with a selectable reshare/quote link 1610. FIG. 16B illustrates an interface 1615 that includes a selectable option 1620b to quote the message 1605. FIG. 16C illustrates an interface 1620 where the creator can append text, etc. to the message 1605 to generate the quoted message 1625, and further illustrates how, via a drop-down list 1630 as explained earlier, the creator can set an audience for the quoted message; here, instead of limiting the audience to their super followers, the creator can set the audience to all followers (“everyone”). FIG. 16D illustrates the quoted message 1625 in the creator’s message stream. FIG. 16E illustrates the quoted message 1625 in a follower’s message stream, where the follower is not a super follower. While the follower can view the appended text/other media inserted by the creator, the message 1605 within the quoted message 1625 is replaced with a label 1635 indicating that it is intended for super followers only. Aspects disclosed herein hence permit creators to entice their followers to become super followers in this manner. FIGS. 16F-16J illustrate desktop versions of the interfaces in FIGS. 16A-16E.
[1141] FIGS. 17A-17D illustrate how a creator can choose to share their target messages in various ways, including outside of the messaging platform/system, i.e., unlike super followers that are unable to do so (see FIGS. 8 A-8D). In this manner, a creator can be fully in control of their target messages, including having the ability to selectively share it to others that are not super followers. FIG. 17A illustrates the creator’s target message 1705 in the creator’s message stream, and a selecting sharing link 1710. FIG. 17B then illustrates an interface 1715 that permits the creator to share the target message 1705 in various ways, including copying a web link 1720 to a temporary storage area for later pasting, a bookmark option 1725 to save the message 1705 to the creator’s profile for later (quick) retrieval, messaging options 1735 to share to various private and/or group messaging applications installed on the computing device of the creator, an email option 1740 to share to an email application installed on the computing LU500990 device of the creator, a general share option 1730 to share the message 1705 to a creator- selected application or other software entity executing on the computing device of the creator, and/or the like. FIGS. 17C-17D illustrate desktop versions of the interfaces in FIGS. 17A-17B.
[1142] Aspects disclosed herein are further directed to super followers that in turn choose to limit the audience for their messages to select users/followers. Said another way, a super follower, and generally any user of the messaging platform described herein, can choose that instead of all users being able to see their messages, only select users/followers, that are approved by that super follower/user, are able to see their messages. Described herein are some examples of the super follow experience when the super followers has such a ‘protected’ account with the messaging platform.
[1143] FIGS. 18A-18F illustrate example flow when a super follower (e.g., a first super follower) with a protected account replies to a creator’s target message. FIG. 18A illustrates display of a target message 1805 in the super follower’s message stream, and that includes a selectable reply link 1810 to reply to the target message. FIG. 18B illustrates an interface 1815 where the super follower can draft their reply 1820, and further includes a label 1825 indicating that the reply will be visible to the creator and those who both a) super follow the creator, and b) follow the super follow authoring the reply. FIG. 18C then illustrates the message 1805 with the posted reply 1815, where the reply includes a label 1830 indicating that only the creator and super followers of the creator who also follow the author of the reply will be able to see the reply. FIG. 18D illustrates a thread view of the message 1805 that again illustrates the reply 1815 and the label 1830. FIG. 18E illustrates a thread view of the reply to another super follower (e.g., a second super follower) of the creator who also is a follower of the first super follower, and is accordingly able to view and respond to the reply 1815 via a selectable reply link 1835. FIG. 18F illustrates an interface 1840 where the second super follower can craft their reply 1845, and includes a label/indication 1850 indicating to the second super follower that the second super follower is responding to a reply that is only visible to the creator and other super followers that also follow the first super follower.
[1144] FIGS. 19A-19D illustrate example flow when a super follower with a protected account reshares or quotes a creator’s target message. FIG. 19A display of a target message 1905 in the super follower’s message stream, and that includes a selectable reshare link 1910 to reshare or quote the target message 1905. FIG. 19B illustrates an interface 1905 that is then presented to the super follower, including a selectable reshare option 1915a and a selectable reshare option 1915b. The option 1915a further includes a label 1920 indicating that the reshare message would only be visible to the creator and those who both a) super follow the creator, LU500990 and b) follow the super follow resharing the message 1905.
[1145] When the super follower selects the quote option 1915b, they are presented with an interface 1920 (see FIG. 19C) where the super follower can append text and/or other media to the message 1905 to generate a reply 1925. The interface 1920 also includes a label indicating to the super follower that due to their account being protected, the replay 1925 will only be visible to the creator and other super followers who also super follow the authoring super follower. Further, the interface 1920 includes a selectable drop-down link 1935 for audience selection that is also set to indicate that the visibility of the reply 1925 is to other super followers of the creator. Selecting the link 1835 results in display of an interface 1940 confirming to the super follower that the reply 1925 will be limited to other super followers of the creator (see FIG. 19D).
[1146] Additional example, non-limiting interfaces that can be presented to (for example) the user 102a via their client software 106a for various aspects of the inventive approaches disclosed herein are illustrated in Appendix A. Additional Platform Information
[1147] Referring back to the components shown in FIG. 1, the following paragraphs provide further information about the platform and its clients. User Devices and Clients
[1148] On any particular user device, 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. Or 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.
[1149] 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. Platform
[1150] 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.
[1151] The platform and client software are configured to enable users to draft messages and LU500990 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.
[1152] Optionally, 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.e., in the connection graphs maintained by the platform.
[1153] 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.
[1154] 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. Thus, 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.
[1155] 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. Messages
[1156] Generally, a message posted on the platform contains data representing content provided or selected by the author of the message. The message may be an instance of a container data type storing the content data. The types of data that may be stored in a message include text, graphics, images, video, and computer code, e.g., uniform resource locators
(URLs), for example. Messages can also include key phrases, e.g., hashtags, that can aid in LU500990 categorizing messages or in linking messages to topics. Messages can also include metadata that may or may not be editable by the message author or account holder, depending on what the platform permits. Examples of message metadata include a time and date of authorship and a geographical location of the user device when the client posted the message. In some implementations, what metadata is provided to the platform by a client is determined by privacy settings controlled by the user or the account holder.
[1157] Messages composed by one account holder may include references to other accounts, other messages, or both. For example, a message may be composed in reply to another message posted by another account or by the user. Messages may also be republications of messages received from another account. Generally, 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. As a result, 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.
[1158] Generally, 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. Streams
[1159] A stream is an ordered collection of messages 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. For example, the contents of a stream for a requesting account holder may include one or more of (i) messages composed by that account holder, (11) 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.
[1160] A stream may potentially include a large number of messages. For both processing LU500990 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. Relationships
[1161] Accounts will generally have relationships with other accounts on the platform. Relationships between accounts of the platform are represented by connection data maintained by the platform, e.g., in the form of data representing one or more connection graphs. The connection data can be maintained in a connection repository. Data repositories of the platform are generally stored in distributed replicas for high throughput and reliability. 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.
[1162] 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. Engagements
[1163] 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.
[1164] 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.
[1165] Engagement data relative to accounts includes data representing connections between LU500990 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.
[1166] Data about engagements can be represented on the platform as graphs with connections between accounts and messages, and stored in a graph repository. Services provided by platform servers
[1167] 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. In some cases, 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. In some cases, 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. Front end services
[1168] In some implementations, the platform includes numerous different but functionally equivalent front end servers, which are dedicated to managing network connections with remote clients.
[1169] 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.
[1170] 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. Routing services
[1171] A routing module stores newly composed messages in a message repository. The LU500990 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. Relationship graph services
[1172] A graph module manages connections between accounts, between accounts and entities, and between entities. Connections determine which streams include messages from which accounts. In some implementations, 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.
[1173] 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. Recommendation services
[1174] 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.
[1175] 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.
[1176] 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 LU500990 repositories.
[1177] To make a recommendation for a user, that user’s behavior and other users’ behaviors are taken into account. Thus, the relationships and interactions between (i) a user, on the one hand, and (ii) content or users or other entities, on the other hand, are used to make personalized content recommendations for the user. In addition to being presented to the user by a client, recommendations can be provided without going through the client, e.g., in an email, text message, or push notification. Recommendations can also identify, in a personalized way, content popular near a certain geographic location, or real-time trending topics.
[1178] 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.
[1179] In some implementations, 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. In some implementations, the platform ranks recommendations according to the reasons for the recommendations, giving preference to recommendations based on endorsements from followees, experts, or celebrities. Delivery services
[1180] 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. Health and Safety
[1181] 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 LU500990 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.
[1182] In addition, 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. Account services
[1183] 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. Engagement services
[1184] 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.
[1185] In addition to recording active interactions with messages through explicitly received user input, 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.
[1186] Any engagement stored in the engagement repository may reference the messages, accounts, or streams involved in the engagement.
[1187] Engagements may also be categorized beyond their type. Example categories include LU500990 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. Generally, categories and types are not coextensive, and a given type of engagement may fall into more than one category and vice versa. Conclusion
[1188] While various inventive embodiments have been described and illustrated herein, those of ordinary skill in the art will readily envision a variety of other means and/or structures for performing the function and/or obtaining the results and/or one or more of the advantages described herein, and each of such variations and/or modifications is deemed to be within the scope of the inventive embodiments described herein. More generally, those skilled in the art will readily appreciate that all parameters, dimensions, materials, and configurations described herein are meant to be exemplary and that the actual parameters, dimensions, materials, and/or configurations will depend upon the specific application or applications for which the inventive teachings is/are used. Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific inventive embodiments described herein. It is, therefore, to be understood that the foregoing embodiments are presented by way of example only and that inventive embodiments may be practiced otherwise than as specifically described. Inventive embodiments of the present disclosure are directed to each individual feature, system, article, material, kit, and/or method described herein. In addition, any combination of two or more such features, systems, articles, materials, kits, and/or methods, if such features, systems, articles, materials, kits, and/or methods are not mutually inconsistent, is included within the inventive scope of the present disclosure.
[1189] The above-described embodiments can be implemented in any of numerous ways. For example, embodiments disclosed herein may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on LU500990 any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers.
[1190] Further, it should be appreciated that a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer. Additionally, a computer may be embedded in a device not generally regarded as a computer but with suitable processing capabilities, including a Personal Digital Assistant (PDA), a smart phone or any other suitable portable or fixed electronic device.
[1191] Also, a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, and digitizing tablets. As another example, a computer may receive input information through speech recognition or in other audible format.
[1192] Such computers may be interconnected by one or more networks in any suitable form, including a local area network or a wide area network, such as an enterprise network, and intelligent network (IN) or the Internet. Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
[1193] The various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine.
[1194] Also, various 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.
[1195] All publications, patent applications, patents, and other references mentioned herein are incorporated by reference in their entirety.
[1196] All definitions, as defined and used herein, should be understood to control over LU500990 dictionary definitions, definitions in documents incorporated by reference, and/or ordinary meanings of the defined terms.
[1197] The indefinite articles “a” and “an,” as used herein in the specification, unless clearly indicated to the contrary, should be understood to mean “at least one.”
[1198] The phrase “and/or,” as used herein in the specification, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and/or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and/or” clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, 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.
[1199] As used herein in the specification, “or” should be understood to have the same meaning as “and/or” as defined above. For example, when separating items in a list, “or” or “and/or” shall be interpreted as being inclusive, i.e., the inclusion of at least one, but also including more than one, of a number or list of elements, and, optionally, additional unlisted items. Only terms clearly indicated to the contrary, such as “only one of” or “exactly one of,” or “consisting of,” will refer to the inclusion of exactly one element of a number or list of elements. In general, the term “or” as used herein shall only be interpreted as indicating exclusive alternatives (i.e. “one or the other but not both”) when preceded by terms of exclusivity, such as “either,” “one of,” “only one of,” or “exactly one of.” “Consisting essentially of” shall have its ordinary meaning as used in the field of patent law.
[1200] As used herein in the specification, 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. Thus, as a non-limiting example, “at least one of A and B” (or,
equivalently, “at least one of A or B,” or, equivalently “at least one of A and/or B”) can refer, LU500990 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.
[1201] In the specification above, all transitional phrases such as “comprising,” “including,” “carrying,” “having,” “containing,” “involving,” “holding,” “composed of,” and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases “consisting of” and “consisting essentially of” shall be closed or semi-closed transitional phrases, respectively, as set forth in the United States Patent Office Manual of Patent Examining Procedures, Section 2111.03.

Claims (36)

What is claimed is: LU500990
1. A messaging system to facilitate delivery of target messages from a user of the messaging system that opts to send the target messages to other users of the messaging system that elect to receive the target messages, the messaging system comprising: a memory storing a set of connection graphs associated with a set of users of the messaging system, each connection graph of the set of connection graphs including: a set of nodes, each node of the set of nodes representing a user of the set of users; and a set of edges, each edge of the set of edges connecting two nodes of the set of nodes and representing a relationship between those two nodes, the set of connection graphs including a set of first connection graphs associated with a first user of the set of users and specifying a set of second users of the set of users to receive messages posted by the first user to the messaging system, the set of first connection graphs further optionally specifying the first user as a recipient of messages posted by one or more second users of the set of second users to the messaging system; one or more Processors executing computer-executable instructions, wherein upon execution of the computer-executable instructions, the one or more processors cause the messaging system to: receive, from a set of target users of the set of second users, indications of the set of target users electing to receive target messages posted by the first user to the messaging system; generate a set of second connection graphs associated with the first user and the set of target users, each edge of each second connection graph of the set of connection graph representing the election the target user represented by one of the nodes connected to that edge to receive the target messages posted by the first user to the messaging system; store the set of second connection graphs in the memory; receive a first message from a first computing device associated with the first user, the first message including an indication of broadcast to the set of second users; transmit, based on the set of first connection graphs, the first message to a set of second computing devices respectively used by the set of second users for display thereon in a stream of messages of each second user of the set of second users, such that each second user of the set of second users can interact with the first message displayed in their corresponding stream and view interactions of each other second user LU500990 of the set of second users with the first message; receive a second message from a first computing device associated with the first user, the second message including an indication of broadcast to the set of target users; and transmit, based on the set of second connection graphs, the second message to a set of target computing devices respectively used by the set of target users as a target message for display thereon in a stream of messages of each target user of the set of target users, such that each target user of the set of target users can interact with the target message displayed in their corresponding stream and view interactions of each other target user of the set of target users with the second message, wherein: the target message is only displayed on the set of target computing devices; and the display of the target message on the set of target computing devices includes a visual indicator of the second message being visible to the set of target users and not visible to the other users of the set of second users.
2. The messaging system of claim 1, wherein each stream is ordered as a reverse chronological stream, and wherein the one or more processors are further configured to display the target message at a position in that stream based on a timestamp of the target message.
3. The messaging system of claim 1, wherein the target message is a first target message, and wherein the one or more processors further execute computer-executable instructions that cause the messaging system to: receive, from a first target user of the set of target users, a request for a filtered view of the stream associated with the first target user to display target messages; and transmit, to the target computing device associated with the first target user, an indication of display, in the stream associated with the first target user, a set of target messages including the first target message, such that no other messages are displayed in the stream associated with the first target user.
4. The messaging system of claim 1, wherein display of each stream on its respective user device includes a vertically arranged series of cards, each card defined as a message object that includes a set of child objects, wherein the message object of the target message includes a target object as a child object, the target object including an attribute specifying the target LU500990 message as being broadcast to the set of target users associated with the first user.
5. The messaging system of claim 4, wherein the message object of the target message includes a target attribute specifying the visual indicator of the target message.
6. The messaging system of claim 5, wherein the visual indicator is an image label at a predetermined location within the display of the target message.
7. The messaging system of claim 5, wherein the visual indicator is a background color of at least a portion of the display of the target message.
8. The messaging system of claim 4, wherein the target message is a first target message, and wherein the set of target users is a first set of target users, the one or more processors further execute computer-executable instructions that cause the messaging system to: receive indications of a second set of target users of the set of second users from the second set of target users, wherein the first target message is not displayed in the stream of any user of the second set of target users; generate a set of third connection graphs associated with the first user and the second set of target users; store the set of third connection graphs in the memory; receive a third message from the first computing device associated with the first user, the third message including an indication of broadcast to the first set of target users and the second set of target users; and transmit, based on the set of second connection graphs and the set of third connection graphs, the third message to the set of target computing devices of the first set of target users and to the set of target computing devices of the second set of target users as a target message for display thereon in a stream of messages of each target user of the first set of target users and second set of target users, such that the target message is not displayed in the stream of any other user of the set of second users, the attribute of the target object of the first target message further specifying the target message as being broadcast to the first set of target users and not to the second set of target users, and an attribute of the target object of the second target message further specifying the second target message as being broadcast to both the first set of target users and to the second LU500990 set of target users.
9. The messaging system of claim 4, wherein the message object of the target message includes a date attribute, such that the target message is displayed in the stream of other users of the set of second users after a date specified by the date attribute.
10. The messaging system of claim 1, wherein the target message is a first target message, and wherein the set of target users is a first set of target users, the one or more processors further execute computer-executable instructions that cause the messaging system to: receive indications of a second set of target users of the set of second users from the second set of target users, wherein the first target message is not displayed in the stream of any user of the second set of target users; generate a set of third connection graphs associated with the first user and the second set of target users; store the set of third connection graphs in the memory; receive a third message from the first computing device associated with the first user, the third message including an indication of broadcast to the first set of target users and the second set of target users; and transmit, based on the set of second connection graphs and the set of third connection graphs, the third message to the set of target computing devices of the first set of target users and to the set of target computing devices of the second set of target users as a second target message for display thereon in a stream of messages of each target user of the first set of target users and second set of target users, such that the second target message is not displayed in the stream of any other user of the set of second users.
11. The messaging system of claim 1, wherein the target message is a first target message, and wherein the set of target users is a first set of target users, the one or more processors further execute computer-executable instructions that cause the messaging system to: receive indications of a second set of target users of the set of second users from the second set of target users, wherein the first target message is not displayed in the stream of any user of the second set of target users; generate a set of third connection graphs associated with the first user and the second set of target users;
storing the set of third connection graphs in the memory; LU500990 receive a third message from the first computing device associated with the first user, the third message including an indication of broadcast to the second set of target users; and transmit, based on the set of third connection graphs, the third message to the set of target computing devices of the set of target computing devices of the second set of target users as a target message for display thereon in a stream of messages of each target user of the second set of target users, such that the target message is not displayed on the stream of any other user of the set of second users including the first set of target users.
12. The messaging system of claim 1, the memory further storing a set of filters for application to messages received by the messaging system, the one or more processors further execute computer-executable instructions that cause the messaging system to: generate a first filter associated with the first user and the set of target users; and store the first filter in the memory, the one or more processors configured to transmit the second message to the set of target computing devices of the set of target users based on the set of second connection graphs and further based on the first filter.
13. A method to facilitate delivery of target messages from a user of a messaging system that opts to send the target messages to other users of the messaging system that elect to receive the target messages, the method comprising: storing, in a memory of the messaging system, a set of connection graphs associated with a set of users of the messaging system, each connection graph of the set of connection graphs including: a set of nodes, each node of the set of nodes representing a user of the set of users; and a set of edges, each edge of the set of edges connecting two nodes of the set of nodes and representing a relationship between those two nodes, the set of connection graphs including a set of first connection graphs associated with a first user of the set of users and specifying a set of second users of the set of users to receive messages posted by the first user to the messaging system, the set of first connection graphs further optionally specifying the first user as a recipient of messages posted by one or more second users of the set of second users to the messaging system;
receiving, by the messaging system, from a set of target users of the set of second users, LU500990 indications of the set of target users electing to receive target messages posted by the first user to the messaging system;
generating, by the messaging system, a set of second connection graphs associated with the first user and the set of target users, each edge of each second connection graph of the set of connection graph representing the election the target user represented by one of the nodes connected to that edge to receive the target messages posted by the first user to the messaging system;
storing the set of second connection graphs in the memory;
receiving, by the messaging system, a first message from a first computing device associated with the first user, the first message including an indication of broadcast to the set of second users;
transmitting, by the messaging system and based on the set of first connection graphs, the first message to a set of second computing devices respectively used by the set of second users for display thereon in a stream of messages of each second user of the set of second users, such that each second user of the set of second users can interact with the first message displayed in their corresponding stream and view interactions of each other second user of the set of second users with the first message;
receiving, by the messaging system, a second message from a first computing device associated with the first user, the second message including an indication of broadcast to the set of target users; and transmitting, by the messaging system and based on the set of second connection graphs, the second message to a set of target computing devices respectively used by the set of target users as a target message for display thereon in a stream of messages of each target user of the set of target users, such that each target user of the set of target users can interact with the target message displayed in their corresponding stream and view interactions of each other target user of the set of target users with the second message, wherein:
the target message is only displayed on the set of target computing devices; and the display of the target message on the set of target computing devices includes a visual indicator of the second message being visible to the set of target users and not visible to the other users of the set of second users.
14. The method of claim 13, wherein each stream is ordered as a reverse chronological LU500990 stream, the method further comprising displaying the target message at a position in that stream based on a timestamp of the target message.
15. The method of claim 13, wherein the target message is a first target message, further comprising: receiving, by the messaging system, from a first target user of the set of target users, a request for a filtered view of the stream associated with the first target user to display target messages; and transmitting, by the messaging system, to the target computing device associated with the first target user, an indication of display, in the stream associated with the first target user, a set of target messages including the first target message, such that no other messages are displayed in the stream associated with the first target user.
16. The method of claim 13, wherein display of each stream on its respective user device includes a vertically arranged series of cards, each card defined as a message object that includes a set of child objects, wherein the message object of the target message includes a target object as a child object, the target object including an attribute specifying the target message as being broadcast to the set of target users associated with the first user.
17. The method of claim 16, wherein the message object of the target message includes a target attribute specifying the visual indicator of the target message.
18. The method of claim 17, wherein the visual indicator is an image label at a predetermined location within the display of the target message.
19. The method of claim 17, wherein the visual indicator is a background color of at least a portion of the display of the target message.
20. The method of claim 16, wherein the target message is a first target message, and wherein the set of target users is a first set of target users, the method further comprising: receiving, by the messaging system, indications of a second set of target users of the set of second users from the second set of target users, wherein the first target message is not displayed in the stream of any user of the second set of target users;
generating, by the messaging system, a set of third connection graphs associated with LU500990 the first user and the second set of target users; storing the set of third connection graphs in the memory; receiving, by the messaging system, a third message from the first computing device associated with the first user, the third message including an indication of broadcast to the first set of target users and the second set of target users; and transmitting, by the messaging system, based on the set of second connection graphs and the set of third connection graphs, the third message to the set of target computing devices of the first set of target users and to the set of target computing devices of the second set of target users as a target message for display thereon in a stream of messages of each target user of the first set of target users and second set of target users, such that the target message is not displayed in the stream of any other user of the set of second users, the attribute of the target object of the first target message further specifying the target message as being broadcast to the first set of target users and not to the second set of target users, and an attribute of the target object of the second target message further specifying the second target message as being broadcast to both the first set of target users and to the second set of target users.
21. The method of claim 16, wherein the message object of the target message includes a date attribute, such that the target message is displayed in the stream of other users of the set of second users after a date specified by the date attribute.
22. The method of claim 13, wherein the target message is a first target message, and wherein the set of target users is a first set of target users, the method further comprising: receiving, by the messaging system, indications of a second set of target users of the set of second users from the second set of target users, wherein the first target message is not displayed in the stream of any user of the second set of target users; generating, by the messaging system, a set of third connection graphs associated with the first user and the second set of target users; storing the set of third connection graphs in the memory; receiving, by the messaging system, a third message from the first computing device associated with the first user, the third message including an indication of broadcast to the first set of target users and the second set of target users; and transmitting, by the messaging system, based on the set of second connection graphs LU500990 and the set of third connection graphs, the third message to the set of target computing devices of the first set of target users and to the set of target computing devices of the second set of target users as a second target message for display thereon in a stream of messages of each target user of the first set of target users and second set of target users, such that the second target message is not displayed in the stream of any other user of the set of second users.
23. The method of claim 13, wherein the target message is a first target message, and wherein the set of target users is a first set of target users, the method further comprising: receiving, by the messaging system, indications of a second set of target users of the set of second users from the second set of target users, wherein the first target message is not displayed in the stream of any user of the second set of target users; generating, by the messaging system, a set of third connection graphs associated with the first user and the second set of target users; storing the set of third connection graphs in the memory; receiving, by the messaging system, a third message from the first computing device associated with the first user, the third message including an indication of broadcast to the second set of target users; and transmitting, , by the messaging system, based on the set of third connection graphs, the third message to the set of target computing devices of the set of target computing devices of the second set of target users as a target message for display thereon in a stream of messages of each target user of the second set of target users, such that the target message is not displayed on the stream of any other user of the set of second users including the first set of target users.
24. The method of claim 13, further comprising: storing a set of filters for application to messages received by the messaging system; generating a first filter associated with the first user and the set of target users; and storing the first filter in the memory, the transmitting the second message further including transmitting the second message to the set of target computing devices of the set of target users based on the set of second connection graphs and further based on the first filter.
25. A non-transitory computer-readable medium storing instructions to facilitate delivery of target messages from a user of a messaging system that opts to send the target messages to other users of the messaging system that elect to receive the target messages that, when LU500990 executed by one or more processors, cause the one or more processors to:
store, in a memory of the messaging system, a set of connection graphs associated with a set of users of the messaging system, each connection graph of the set of connection graphs including:
a set of nodes, each node of the set of nodes representing a user of the set of users; and a set of edges, each edge of the set of edges connecting two nodes of the set of nodes and representing a relationship between those two nodes,
the set of connection graphs including a set of first connection graphs associated with a first user of the set of users and specifying a set of second users of the set of users to receive messages posted by the first user to the messaging system, the set of first connection graphs further optionally specifying the first user as a recipient of messages posted by one or more second users of the set of second users to the messaging system;
receive from a set of target users of the set of second users, indications of the set of target users electing to receive target messages posted by the first user to the messaging system;
generate a set of second connection graphs associated with the first user and the set of target users, each edge of each second connection graph of the set of connection graph representing the election the target user represented by one of the nodes connected to that edge to receive the target messages posted by the first user to the messaging system;
store the set of second connection graphs in the memory;
receive a first message from a first computing device associated with the first user, the first message including an indication of broadcast to the set of second users;
transmit, based on the set of first connection graphs, the first message to a set of second computing devices respectively used by the set of second users for display thereon in a stream of messages of each second user of the set of second users, such that each second user of the set of second users can interact with the first message displayed in their corresponding stream and view interactions of each other second user of the set of second users with the first message;
receive a second message from a first computing device associated with the first user, the second message including an indication of broadcast to the set of target users; and transmit, based on the set of second connection graphs, the second message to a set of target computing devices respectively used by the set of target users as a target message for display thereon in a stream of messages of each target user of the set of target users, such that each target user of the set of target users can interact with the target message displayed in their corresponding stream and view interactions of each other target user of the set of target users LU500990 with the second message, wherein: the target message is only displayed on the set of target computing devices; and the display of the target message on the set of target computing devices includes a visual indicator of the second message being visible to the set of target users and not visible to the other users of the set of second users.
26. The non-transitory computer-readable medium of claim 25, wherein each stream is ordered as a reverse chronological stream, further storing instructions that when executed cause the one or more processors to display the target message at a position in that stream based on a timestamp of the target message.
27. The non-transitory computer-readable medium of claim 25, wherein the target message is a first target message, further storing instructions that when executed cause the one or more processors to: receive, from a first target user of the set of target users, a request for a filtered view of the stream associated with the first target user to display target messages; and transmit, to the target computing device associated with the first target user, an indication of display, in the stream associated with the first target user, a set of target messages including the first target message, such that no other messages are displayed in the stream associated with the first target user.
28. The non-transitory computer-readable medium of claim 25, wherein display of each stream on its respective user device includes a vertically arranged series of cards, each card defined as a message object that includes a set of child objects, wherein the message object of the target message includes a target object as a child object, the target object including an attribute specifying the target message as being broadcast to the set of target users associated with the first user.
29. Thenon-transitory computer-readable medium of claim 28, wherein the message object of the target message includes a target attribute specifying the visual indicator of the target message.
30. The non-transitory computer-readable medium of claim 29, wherein the visual indicator LU500990 is an image label at a predetermined location within the display of the target message.
31. The non-transitory computer-readable medium of claim 29, wherein the visual indicator is a background color of at least a portion of the display of the target message.
32. The non-transitory computer-readable medium of claim 28, wherein the target message is a first target message, and wherein the set of target users is a first set of target users, further storing instructions that when executed cause the one or more processors to: receive indications of a second set of target users of the set of second users from the second set of target users, wherein the first target message is not displayed in the stream of any user of the second set of target users; generate a set of third connection graphs associated with the first user and the second set of target users; store the set of third connection graphs in the memory; receive a third message from the first computing device associated with the first user, the third message including an indication of broadcast to the first set of target users and the second set of target users; and transmit based on the set of second connection graphs and the set of third connection graphs, the third message to the set of target computing devices of the first set of target users and to the set of target computing devices of the second set of target users as a target message for display thereon in a stream of messages of each target user of the first set of target users and second set of target users, such that the target message is not displayed in the stream of any other user of the set of second users, the attribute of the target object of the first target message further specifying the target message as being broadcast to the first set of target users and not to the second set of target users, and an attribute of the target object of the second target message further specifying the second target message as being broadcast to both the first set of target users and to the second set of target users.
33. The non-transitory computer-readable medium of claim 28, wherein the message object of the target message includes a date attribute, such that the target message is displayed in the stream of other users of the set of second users after a date specified by the date attribute.
34. The non-transitory computer-readable medium of claim 25, wherein the target message LU500990 is a first target message, and wherein the set of target users is a first set of target users, further storing instructions that when executed cause the one or more processors to: receive indications of a second set of target users of the set of second users from the second set of target users, wherein the first target message is not displayed in the stream of any user of the second set of target users; generate a set of third connection graphs associated with the first user and the second set of target users; store the set of third connection graphs in the memory; receive a third message from the first computing device associated with the first user, the third message including an indication of broadcast to the first set of target users and the second set of target users; and transmit based on the set of second connection graphs and the set of third connection graphs, the third message to the set of target computing devices of the first set of target users and to the set of target computing devices of the second set of target users as a second target message for display thereon in a stream of messages of each target user of the first set of target users and second set of target users, such that the second target message 1s not displayed in the stream of any other user of the set of second users.
35. The non-transitory computer-readable medium of claim 25, wherein the target message is a first target message, and wherein the set of target users is a first set of target users, further storing instructions that when executed cause the one or more processors to: receive indications of a second set of target users of the set of second users from the second set of target users, wherein the first target message is not displayed in the stream of any user of the second set of target users; generate a set of third connection graphs associated with the first user and the second set of target users; store the set of third connection graphs in the memory; receive a third message from the first computing device associated with the first user, the third message including an indication of broadcast to the second set of target users; and transmit, based on the set of third connection graphs, the third message to the set of target computing devices of the set of target computing devices of the second set of target users as a target message for display thereon in a stream of messages of each target user of the second set of target users, such that the target message is not displayed on the stream of any other user LU500990 of the set of second users including the first set of target users.
36. The non-transitory computer-readable medium of claim 25, further storing instructions that when executed cause the one or more processors to: store a set of filters for application to messages received by the messaging system; generate a first filter associated with the first user and the set of target users; and store the first filter in the memory, the instructions for transmitting the second message further including instructions for transmitting the second message to the set of target computing devices of the set of target users based on the set of second connection graphs and further based on the first filter.
LU500990A 2021-12-10 2021-12-10 Messaging platform with tiered relationships between users LU500990B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
LU500990A LU500990B1 (en) 2021-12-10 2021-12-10 Messaging platform with tiered relationships between users

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
LU500990A LU500990B1 (en) 2021-12-10 2021-12-10 Messaging platform with tiered relationships between users

Publications (2)

Publication Number Publication Date
LU500990A1 LU500990A1 (en) 2022-06-10
LU500990B1 true LU500990B1 (en) 2023-01-13

Family

ID=78829322

Family Applications (1)

Application Number Title Priority Date Filing Date
LU500990A LU500990B1 (en) 2021-12-10 2021-12-10 Messaging platform with tiered relationships between users

Country Status (1)

Country Link
LU (1) LU500990B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023034908A1 (en) * 2021-09-01 2023-03-09 Twitter, Inc. Messaging platform with tiered relationships between users

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180225693A1 (en) * 2012-03-06 2018-08-09 Richard Postrel Consumer data and privacy controls in a social networking environment
US20160246896A1 (en) * 2015-02-20 2016-08-25 Xerox Corporation Methods and systems for identifying target users of content
US10135854B2 (en) * 2015-04-07 2018-11-20 Informatica Llc Method, apparatus, and computer-readable medium for generating a data proliferation graph
WO2017168202A1 (en) * 2016-03-27 2017-10-05 Yogesh Chunilal Rathod Identifying & storing followers, following users, viewers, users and connections for user

Also Published As

Publication number Publication date
LU500990A1 (en) 2022-06-10

Similar Documents

Publication Publication Date Title
US11895206B2 (en) Contextual connection invitations
US11023941B2 (en) Managing ecommerce messages via a social networking system
US11102156B2 (en) Presentation of organized personal and public data using communication mediums
US20230162240A1 (en) Methods and systems for soliciting an answer to a question
KR101731437B1 (en) Implicit social graph connections
KR101942520B1 (en) Social overlays on ads
US20160162924A1 (en) Track user activities and in exchange provide points to use for various activities including advertising contents to targeted users of network
US20150301703A1 (en) Filtering content in a social networking service
US20220006661A1 (en) Access and communicate live audio streaming under micro channel or keyword(s)
US20110125560A1 (en) Augmenting a synchronized media archive with additional media resources
US20110161987A1 (en) Scaling notifications of events in a social networking system
US20120143701A1 (en) Re-publishing content in an activity stream
WO2019122990A1 (en) Providing interface for identifying one or more types of user actions & criteria specific users
US20230318997A1 (en) Voice and video calling and recording within messaging session in message interface
US10785183B2 (en) Composing social media messages referencing multiple messages
US9131018B2 (en) Social media data playback system
US8874559B1 (en) Ranking and ordering items in user-streams
US11108725B1 (en) Social media message composition
US20120041850A1 (en) Incentivizing content-receivers in social networks
LU500990B1 (en) Messaging platform with tiered relationships between users
US20190075365A1 (en) Reminding a user of an online system about a content item presented to the user in conjunction with a video
WO2017009698A1 (en) Track user activities and in exchange provide points to use for various activities including advertising contents to targeted users of network
WO2023034908A1 (en) Messaging platform with tiered relationships between users
US20160307157A1 (en) Methods and Systems for Crowdfunding a Project
US20190114600A1 (en) Method and system for managing a social value of a user account

Legal Events

Date Code Title Description
FG Patent granted

Effective date: 20230113