Collaborative public user profile
Through the design of a collaborative media system, the management and anonymity protection of collaborative user profiles are solved through the design of a collaborative media system, the efficient management of multi-user collaboration and media content audits is realized, and the ability to exist online is improved. Control and data privacy protection.
Patent Information
- Application Number
- CN202411313704.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2018-09-28
- Filing Date
- 2019-09-27
- Publication Date
- 2025-01-03
AI Technical Summary
The existing technology is difficult to effectively manage and maintain collaborative user profiles, especially on social media platforms, where user anonymity and data privacy issues are difficult to solve, and the existing systems lack mechanisms for multi-user collaboration and media content audits.
A collaborative media system was designed to manage media content through authentication credentials, realizing multi-user collaboration and approval mechanism for media content. User profiles are controlled by administrators, supporting the generation, review and display of media content, and providing time stamps and locations. Standards are displayed in managed content.
It realizes the management and maintenance of multi-user collaborative user profiles, ensures the protection of data privacy and anonymity, and improves the controllability of online existence and the review efficiency of media content.
Smart Images

Figure CN119249484A_ABST
Abstract
Description
[0001] This application is a divisional application of a patent application with an application date of September 27, 2019, application number 201980063387.6, and invention name “Collaborative Public User Profile”.
[0002] priority
[0003] This application is a continuation of and claims priority to U.S. patent application Ser. No. 16 / 147,053, filed on Sep. 28, 2018, the entire contents of which are incorporated herein by reference. Technical Field
[0004] Embodiments of the present disclosure relate generally to graphical user interfaces (GUIs), and more particularly, to systems for generating and causing display of GUIs. Background Art
[0005] A user profile is a visual display of personal data associated with a specific user or customized desktop environment. Thus, a profile refers to an explicit digital representation of a person's or entity's identity. A profile can be used to store a description of a person's characteristics. The system can utilize this information taking into account the person's characteristics and preferences.
[0006] While some people choose to use their real names online, some social media users prefer anonymity, identifying themselves through pseudonyms that reveal varying amounts of personally identifiable information. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] To easily identify the discussion of any particular element or act, the most significant digit(s) in a reference number refers to the drawing number in which the element is first introduced.
[0008] Figure 1 is a block diagram illustrating an example messaging system for exchanging data (eg, messages and associated content) over a network, wherein the messaging system includes a media collaborative system, according to some embodiments.
[0009] Figure 2 is a block diagram showing further details regarding a messaging system according to an example embodiment.
[0010] Figure 3 is a block diagram illustrating various modules of a media collaborative system according to certain example embodiments.
[0011] Figure 4 is an interface diagram depicting collaborative user profiles, according to certain example embodiments.
[0012] Figure 5 is an interface diagram depicting an approval queue, according to certain example embodiments.
[0013] Figure 6 is an interface diagram depicting a collaborative interface according to certain example embodiments.
[0014] Figure 7 is an interface diagram depicting collaborative user profiles, according to certain example embodiments.
[0015] Figure 8 is an interface diagram depicting a graphical user interface for generating collaborative content, according to certain example embodiments.
[0016] Fig. 9 is an interface diagram depicting a graphical user interface for generating collaborative content, according to certain example embodiments.
[0017] Fig.10 is a flow chart illustrating a method for managing collaborative user profiles, according to certain example embodiments.
[0018] Fig.11 is a flow chart illustrating a method for managing collaborative user profiles, according to certain example embodiments.
[0019] Fig.12 is a block diagram illustrating a representative software architecture that may be used in conjunction with the various hardware architectures described herein and that may be used to implement the various embodiments.
[0020] Fig.13 is a block diagram illustrating components of a machine capable of reading instructions from a machine-readable medium (eg, a machine-readable storage medium) and performing any one or more of the methodologies discussed herein, according to some example embodiments. DETAILED DESCRIPTION
[0021] A collaborative media system for generating and maintaining collaborative user profiles is described. Embodiments of the present disclosure generally relate to a system that receives media content from a first user account, wherein the media content includes image data, video data, and audio data, and authentication credentials associated with a second user account; authenticates the media content from the first user account based on the authentication credentials; presents the media content in an approval queue associated with the second user account in response to authenticating the media content based on the authentication credentials; receives approval of the media content from the second user account; and adds the media content to a media collection associated with the second user account in response to the approval.
[0022] Consider an illustrative example from a user perspective. A user profile is a visual display of personal data associated with a particular user. Due to the ubiquity of social networking systems, corporate entities and celebrities may wish to maintain an online presence through a user profile. To maximize this online presence, the disclosed collaborative media system provides a system and interface for multiple users to collaborate on a single user profile by providing media content for approval, while the user profile is ultimately under the control of an administrator.
[0023] According to certain example embodiments, media content may be generated by a first user account. For example, the first user account may generate media content by providing one or more media items to the collaborative media system, or by selecting one or more media items located in a shared media repository associated with a second user profile (i.e., the collaborative user profile). Media items may include, for example, images, videos, audio, and media filters.
[0024] In response to receiving the media content at the collaborative media system, the collaborative media system authenticates the media content based on the authentication credentials. For example, the first user account may provide the authentication credentials to the collaborative media system. In further embodiments, the collaborative media system may obtain the authentication credentials from the first user account.
[0025] In some embodiments, the collaborative media system assigns a timestamp to media content received from the first user account. The timestamp may, for example, indicate the time and date at which the first user account created the media content or at which the media content was provided to the collaborative media system for inclusion in the second user account.
[0026] The media content may be added to the approval queue associated with the second user profile. In some embodiments, the position of the media content in the approval queue may be based on a timestamp. For example, a recent timestamp may cause the media content to be displayed more prominently in the approval queue at the beginning, while a later timestamp may cause the media content to be displayed at the end of the queue. In a further embodiment, the timestamp itself may be presented on the display of the media content in the approval queue.
[0027] In some embodiments, in response to adding the media content to the approval queue, the collaborative media system may present a notification to the second user account indicating that there is new media content to be reviewed for approval. The collaborative media system may receive an approval or rejection of the media content. In the case of a rejection, the media content may be deleted from the approval queue, and a notification indicating that the media content was rejected may be presented to the first user account. In the case of an approval of the media content, in response to receiving the approval, the collaborative media system adds the media content to a media collection associated with the second user account (i.e., a collaborative user profile).
[0028] In some embodiments, approval of media content received from a second user account may also include one or more updates to the media content. For example, by selecting media content in an approval queue, one or more options may be presented to the second user account to modify or change the media content. The one or more options may include: adding text, changing text, adding graphic elements, modifying existing graphic elements, adding audio, modifying existing audio, adding media filters, adjusting media filters, adjusting the color, hue, saturation, brightness, contrast, clarity of the media content, or changing display properties of the media content, such as display duration (for ephemeral content), geographic location criteria, and time criteria to receive access to the media content.
[0029] Thus, a single collaborative user profile may be maintained by multiple users that provides media content to be reviewed by the management account (i.e., the second user profile). The media content may then be presented through the second user profile such that when a user provides a request to view the media collection of the second user profile, the media content provided by the first user profile may be displayed as if it originated from the second user profile.
[0030] Figure 1 1 is a block diagram illustrating an example messaging system 100 for exchanging data (e.g., messages and associated content) over a network. The messaging system 100 includes a plurality of client devices 102, each of which hosts a plurality of applications including a messaging client application 104. Each messaging client application 104 is communicatively coupled to other instances of the messaging client application 104 and a messaging server system 108 via a network 106 (e.g., the Internet).
[0031] Thus, each messaging client application 104 is able to communicate and exchange data with another messaging client application 104 and a messaging server system 108 via a network 106. The data exchanged between messaging client applications 104 and between messaging client applications 104 and messaging server systems 108 includes functionality (e.g., commands to call functions) and payload data (e.g., text, audio, video, or other multimedia data).
[0032] The messaging server system 108 provides server-side functionality to specific messaging client applications 104 via the network 106. Although certain functions of the messaging system 100 are described herein as being performed by the messaging client application 104 or by the messaging server system 108, it should be understood that the location of certain functions within the messaging client application 104 or the messaging server system 108 is a design choice. For example, it may be technically preferable to first deploy certain technologies and functions within the messaging server system 108 and then migrate the technologies and functions to the messaging client application 104 where the client device 102 has sufficient processing power.
[0033] The messaging server system 108 supports various services and operations provided to the messaging client applications 104. Such operations include sending data to the messaging client applications 104, receiving data from the messaging client applications 104, and processing data generated by the messaging client applications 104. In some embodiments, as examples, the data includes message content, client device information, geographic location information, media annotations and overlays, message content persistence conditions, social network information, and live event information. In other embodiments, other data is used. The data exchange in the messaging system 100 is called and controlled by functions available via the GUI of the messaging client applications 104.
[0034] Turning now specifically to the messaging server system 108, an application programming interface (API) server 110 is coupled to and provides a programming interface to an application server 112. The application server 112 is communicatively coupled to a database server 118, which facilitates access to a database 120 in which data associated with messages processed by the application server 112 is stored.
[0035] In particular, an application program interface (API) server 110 is addressed, which receives and sends message data (e.g., commands and message payloads) between a client device 102 and an application server 112. Specifically, the application program interface (API) server 110 provides a set of interfaces (e.g., routines and protocols) that can be called or queried by a messaging client application 104 in order to invoke functionality of the application server 112. The application program interface (API) server 110 exposes various functions supported by the application server 112, including: account registration, login functionality, sending messages from a particular messaging client application 104 to another messaging client application 104 via the application server 112, sending media files (e.g., images or videos) from a messaging client application 104 to a messaging server application 114 for possible access by another messaging client application 104, setting of collections of media data (e.g., stories), retrieval of a friend list of a user of a client device 102, retrieval of such collections, retrieval of messages and content, adding and removing friends from a social graph, the position of friends in a social graph, and opening application events (e.g., related to a messaging client application 104).
[0036] The application server 112 hosts multiple applications and subsystems, including a messaging server application 114, an image processing system 116, a social networking system 122, and a collaborative media system 124. The messaging server application 114 implements multiple message processing techniques and functions, which particularly relate to the aggregation and other processing of content (e.g., text and multimedia content) included in messages received from multiple instances of the messaging client application 104. As will be described in further detail, text and media content from multiple sources can be aggregated into collections of content (e.g., referred to as stories, galleries, or collections). The messaging server application 114 then makes these collections available to the messaging client application 104. Given the hardware requirements of such processing, the messaging server application 114 can also perform other processor- and memory-intensive processing of the data on the server side.
[0037] The application server 112 also includes an image processing system 116 that is dedicated to performing various image processing operations, typically with respect to images or videos received within the payload of messages at the messaging server application 114 .
[0038] The social networking system 122 supports various social networking functional services and makes these functionalities and services available to the messaging server application 114. To this end, the social networking system 122 maintains and accesses an entity graph 304 within the database 120. Examples of functionalities and services supported by the social networking system 122 include identifying other users of the messaging system 100 with whom a particular user has a relationship or is "following," as well as also identifying other entities and interests of a particular user.
[0039] The application server 112 is communicatively coupled to a database server 118 , which facilitates access to a database 120 where data associated with messages processed by the messaging server application 114 is stored.
[0040] Figure 2 1 is a block diagram showing more details about the messaging system 100 according to an example embodiment. Specifically, the messaging system 100 is shown to include a messaging client application 104 and an application server 112, which in turn embody a number of specific subsystems, namely, a transient timer system 202, a collection management system 204, and an annotation system 206.
[0041] The transient timer system 202 is responsible for enforcing temporary access to content permitted by the messaging client application 104 and the messaging server application 114. To this end, the transient timer system 202 incorporates a plurality of timers that selectively display and enable access to messages and associated content via the messaging client application 104 based on duration and display parameters associated with the message, message collection, or graphical element. More details regarding the operation of the transient timer system 202 are provided below.
[0042] The collection management system 204 is responsible for managing collections of media (e.g., media collections that include collections of text, images, video, and audio data). In some examples, collections of content (e.g., messages that include images, videos, text, and audio) can be organized into "event galleries" or "event stories." Such collections can be available for a specified period of time (e.g., the duration of an event to which the content is related). For example, content related to a concert can be available as a "story" for the duration of the concert. The collection management system 204 can also be responsible for publishing an icon that provides notification of the existence of a particular collection to the user interface of the messaging client application 104.
[0043] The collection management system 204 also includes a curation interface 208 that allows a collection manager to manage and curate a particular collection of content. For example, the curation interface 208 enables an event organizer to curate a collection of content related to a particular event (e.g., to remove inappropriate content or redundant messages). In addition, the collection management system 204 employs machine vision (or image recognition technology) and content rules to automatically curate content collections. In some embodiments, compensation may be paid to users for including user-generated content in a collection. In this case, the curation interface 208 operates to automatically pay such users for the use of their content.
[0044] The annotation system 206 provides various functions that enable users to annotate or otherwise modify or edit media content associated with a message. For example, the annotation system 206 provides functions related to generating and publishing media overlays for messages processed by the messaging system 100. The annotation system 206 operably provides media overlays to the messaging client application 104 based on the geographic location of the client device 102. In another example, the annotation system 206 operably provides media overlays to the messaging client application 104 based on other information (e.g., social network information of the user of the client device 102). Media overlays may include audio and visual content and visual effects, as well as augmented reality overlays. Examples of audio and visual content include pictures, text, logos, animations and sound effects, as well as animated facial models, image filters, and augmented reality media content. Examples of visual effects include color overlays. Audio and visual content or visual effects can be applied to media content items (e.g., photos or videos or live broadcasts) at the client device 102. For example, media overlays include text that can be superimposed on photos generated by the client device 102. In another example, the media overlay includes an identification of a location overlay (e.g., Venice Beach), the name of a live event, or a name overlay of a business (e.g., Beach Cafe). In another example, the annotation system 206 uses the geographic location of the client device 102 to identify a media overlay that includes the name of the business at the geographic location of the client device 102. The media overlay may include other tags associated with the business. The media overlay may be stored in the database 120 and may be accessed by the database server 118.
[0045] In one example embodiment, the annotation system 206 provides a user-based publishing platform that enables users to select a geographic location on a map and upload content associated with the selected geographic location. Users can also specify under what circumstances specific media overlays should be provided to other users. The annotation system 206 generates a media overlay including the uploaded content and associates the uploaded content with the selected geographic location.
[0046] In another example embodiment, the annotation system 206 provides a merchant-based publishing platform that enables merchants to select specific media overlays associated with geographic locations. For example, the annotation system 206 associates the media overlays of the highest-paying merchant with the corresponding geographic location within a predetermined amount of time.
[0047] Figure 3 is a block diagram illustrating components of a collaborative media system 124 that configures the collaborative media system 124 to perform operations including: receiving media content from a first user account, wherein the media content includes image data, video data, and audio data, and authentication credentials associated with a second user account; authenticating the media content from the first user account based on the authentication credentials; in response to authenticating the media content based on the authentication credentials, presenting the media content in an approval queue associated with the second user account; receiving approval of the media content from the second user account; and according to certain example embodiments, in response to the approval, adding the media content to a media collection associated with the second user account.
[0048] The collaborative media system 124 is shown to include a presentation module 302, a user profile module 304, a media module 306, and a communication module 308, each of which is configured to communicate with each other (e.g., via a bus, shared memory, or switch). Any one or more of these modules may be implemented using one or more processors 310 (e.g., by configuring such one or more processors to perform the functions described for the module), and therefore may include one or more processors 310.
[0049] Any one or more of the described modules may be implemented using hardware alone (e.g., one or more processors 310 of a machine) or a combination of hardware and software. For example, any described module of the collaborative media system 124 may physically include an arrangement of one or more processors 310 (e.g., a subset of or among one or more processors of a machine) configured to perform the operations described herein for that module. As another example, any module of the collaborative media system 124 may include software, hardware, or both that configures an arrangement of one or more processors 310 (e.g., among one or more processors of a machine) to perform the operations described herein for that module. Thus, different modules of the collaborative media system 124 may include and configure different arrangements of such processors 310 or a single arrangement of such processors 310 at different points in time.
[0050] In addition, any two or more modules of the collaborative media system 124 can be combined into a single module, and the functionality described herein for a single module can be subdivided between multiple modules. In addition, according to various example embodiments, modules described herein as being implemented within a single machine, database, or device can be distributed across multiple machines, databases, or devices.
[0051] Figure 4 4 is an interface diagram 400 depicting a collaborative user profile 405 displayed at a client device 102, according to some example embodiments. Figure 4 4, collaborative user profile 405 includes display of media collection 410, which includes a set of media content such as media content 415. As discussed herein, the media content comprising media collection 410 may originate from multiple user accounts and be approved for display in media collection 410 by an administrator of user account 420.
[0052] The administrator of user account 420 may additionally provide input to define the location of media content 415 in media collection 410. For example, in selecting a media content 415 from an approval queue (e.g., Figure 5 When the media content 415 is reviewed and approved by the administrator of the user account 420 (queue 505 depicted in FIG. 4 ), the administrator of the user account 420 may provide input that defines the position of the media content 415 within the media collection 410. In some embodiments, the input may include grabbing and dragging the media content 415 to the desired position in the media collection 410, while in further embodiments, the input may include input that assigns a special state to the media content 415 (e.g., defines the media content 415 as highlighted). In further embodiments, the position of the media content 415 may be simply based on when the media content 415 was approved for display within the media collection 410, wherein the most recent additions are displayed at the front position in the media collection 410.
[0053] Figure 5 FIG. 5 is an interface diagram 500 depicting an approval queue 505 according to certain example embodiments. Figure 5 As shown, approval queue 505 includes media content, such as media content 510. The position of the media content in approval queue 505 can be based on a timestamp, such as timestamp 515.
[0054] For example, media content 510 may be generated by a first user account and submitted to collaborative media system 124 for review by an administrator of a second user account. The administrator of the second user account may then be presented with approval queue 505 to provide input for one or more selected media content, such as media content 510. The selected media content may then be approved, modified, or rejected.
[0055] Figure 6 is an interface diagram 600 depicting a collaborative interface 605 according to some example embodiments. Figure 6 As seen in FIG. 6 , the collaborative interface 605 may include a display including Figure 4 An interface for media statistics 615 of media content of a media collection such as media content 415 depicted in FIG.
[0056] In some embodiments, media statistics 615 may be made available only to administrators of the collaborative profile, while in further embodiments, media statistics 615 may be made available to users having authentication credentials to the collaborative user profile.
[0057] In some embodiments, collaborative interface 605 may be presented in response to receiving input from an administrator of a collaborative user profile or a user with authentication credentials for a collaborative user profile selecting media content such as media content 415. In such embodiments, media statistics 615 will correspond to the selected media content. For example, a qualified user may provide tactile input including an input attribute (e.g., pressure or duration), and in response to collaborative media system 124 detecting that the input attribute exceeds a threshold (e.g., threshold duration, threshold pressure), collaborative media system may generate and cause display of collaborative interface 605.
[0058] In some embodiments, a user presented with collaborative interface 605 may provide input to identify a location 610 associated with media statistics 615. By defining location 610, collaborative media system 124 may retrieve media statistics 615 associated with identified media content (e.g., media content 415) based on location 610. Thus, media statistics 615 may provide an indication of regional statistics for the identified media content.
[0059] In some embodiments, collaborative interface 620 may further include a display of media content 620, wherein media content 620 is curated from a media collection of identified media content (e.g., media content 415 corresponds to media collection 410). A user presented with collaborative interface 605 may provide input selecting media content from media content 620, and in response, collaborative media system 124 may cause display of corresponding media statistics 615.
[0060] Figure 7 700 is an interface diagram depicting a collaborative user profile 705 according to certain example embodiments. Figure 7 As shown, collaborative user profile 705 includes display of highlighted content 710 at a location in collaborative user profile 705 separate from display of media collection 715 .
[0061] In some embodiments, an administrator of collaborative user profile 705 may provide access to a user from an approval queue (e.g., Figure 5 710), wherein approval of media content (e.g., highlighted content 710) includes management of a special status for the media content that defines presentation characteristics of the media content. For example, an administrator may provide input to define media content as "highlighted content," and in response, the collaborative media system 124 may present the media content in a location separate from the media collection 715 in the collaborative user profile (i.e., highlighted content 710).
[0062] Figure 8 is an interface diagram 800 depicting graphical user interfaces (GUIs) 805 , 810 , and 815 for generating collaborative content 820 , according to certain example embodiments.
[0063] like Figure 8 As shown, GUI 805 includes a display of a collection of media items 820. In some embodiments, GUI 805 may be displayed at a client device of a collaborating user (e.g., client device 102). The collection of media items 820 may reside locally on client device 102, or in some embodiments may comprise a shared media repository located within database 120 and accessible to all collaborating users (e.g., users having authentication credentials associated with a collaborating user profile).
[0064] In response to receiving a selection of a media item (e.g., media item 825) from the collection of media items 820, collaborative media system 124 can cause the display of GUI 810 to generate media content (e.g., media content 830). For example, a user can provide one or more inputs to add text or graphic elements to media item 825.
[0065] In response to generating media content 830, collaborative media system 124 may cause the display of GUI 815 to display media content 830 and add subtitles or titles to media content 830. In some embodiments, selecting graphical icon 835 may cause collaborative media system 124 to add media content 830 to the display of GUI 815. Figure 5 Approval queue 505 is shown.
[0066] Fig. 9 is an interface diagram 900 depicting a graphical user interface 905 for generating collaborative content 910, according to some example embodiments.
[0067] like Fig. 9As shown, a collaborative user may generate media content 910 and add the media content to a media collection (e.g., media collection 920) by providing input selecting a graphical icon 915. For example, in response to the collaborative media system 124 determining that the collaborative user has the authentication credentials required for the collaborative user profile, the graphical icon 915 may be displayed on the media content 910.
[0068] The collaborative user may select a media collection, such as media collection 920 , and in response, the collaborative media system 124 may add media content 910 to the media collection 920 .
[0069] Fig.10 1 is a flow chart illustrating a method 1000 for maintaining and managing collaborative user profiles according to certain example embodiments. The operations of the method 1000 may be as described above with reference to Figure 3 The modules described are executed. Fig.10 As shown, method 1000 includes one or more operations 1002 , 1004 , 1006 , 1008 , and 1010 .
[0070] At operation 1002, the media module 306 receives media content from a first user account, wherein the media content includes media data and authentication credentials. For example, the first user account may be associated with a collaborative user account (e.g., a second user account), and the authentication credentials may be associated with a collaborative user profile. The media content received by the media module 306 may include Figure 4 media content 415 depicted in, and Figure 5 505 of the approval queue 505. In some embodiments, a collaborative user account (e.g., a second user account) can be associated with the client device. The second user / administrator of the collaborative user account can receive the media content at the client device 102.
[0071] At operation 1004, the user profile module 304 authenticates the first user account based on the authentication credentials. For example, the authentication credentials may be provided to the user profile module 304 by the first user account, or in some embodiments, the user profile module 304 may maintain a list of authorized user profiles, which may be defined by an administrator of the collaborative profile. In some embodiments, the authentication may be performed by a client device 102 (e.g., a client device associated with an administrator of the collaborative user account). For example, the administrator may retain and save authentication criteria associated with the collaborative user account at the client device 102.
[0072] In operation 1006, in response to authenticating the first user account based on the authentication credentials, the presentation module 302 Figure 5The media content is presented in an approval queue such as the illustrated approval queue 505. As discussed above, the approval queue may be associated with a second user profile (ie, a collaborative user profile).
[0073] In some embodiments, in response to the user profile module 304 authenticating the first user account, the media module 306 can assign a timestamp to the media content, wherein the timestamp indicates the time and date when the media module 306 received the media content, or in some embodiments, the timestamp indicates the time and date when the first user account created the media content. The presentation module 302 can present the media content based on the position of the timestamp within the approval queue.
[0074] At operation 1008, the media module 306 receives approval of the media content from a second user account associated with the collaborative user profile. For example, the second user account may be an administrator associated with the collaborative user profile.
[0075] In some embodiments, approval of the media content received from the second user account may additionally include presentation instructions defining a location in the media collection for displaying the media content.
[0076] In response to receiving approval of the media content from the second user account, the presentation module adds the media content to a media collection associated with the second user account at operation 1010. The location of the media content in the media collection may be based on input received from the second user account.
[0077] Fig.11 1 is a flow chart illustrating a method 1100 for maintaining and managing collaborative user profiles according to certain example embodiments. The operations of the method 1100 may be as described above with reference to Figure 3 The module described is executed. Fig.11 As shown, method 1100 includes one or more operations 1102 and 1104 .
[0078] In operation 1102, the communication module 308 receives a request from a third user account to view a media collection associated with a second user account. For example, the second user account may be a collaborative user profile, and the third user account may be a public user of a social networking system or a social networking connection of the second user account.
[0079] In response to receiving a request to view a media collection associated with a second user account, presentation module 302 causes display of media content received from the first user account (i.e., the collaborative user associated with the collaborative user profile) to at least a third user account. The media content displayed to the third user account may be presented such that it appears that the media content originated from the second user account, and there is no indication that the media content was generated by a separate user account.
[0080] Software Architecture
[0081] Fig.12 is a block diagram illustrating an example software architecture 1206 that may be used in conjunction with the various hardware architectures described herein. Fig.12 is only a non-limiting example of a software architecture, and it will be appreciated that a number of other architectures may be implemented to facilitate the functionality described herein. The software architecture 1202 may be implemented in a system such as Fig.13 1300, which includes, among other things, a processor 1304, a memory 1314, and I / O components 1318. A representative hardware layer 1252 is shown and may represent, for example, Fig.12 The machine 1200 of the embodiment of the present invention is shown in FIG. 1200. The representative hardware layer 1252 includes one or more processing units 1254 having associated executable instructions 1204. The executable instructions 1204 represent executable instructions of the software architecture 1206, including implementations of the methods, components, etc. described herein. The hardware layer 1252 also includes a memory and / or storage module 1256 also having executable instructions 1204. The hardware layer 1252 may also include other hardware 1258.
[0082] exist Fig.12 In the example architecture of , software architecture 1206 can be conceptualized as a stack of layers, each of which provides specific functionality. For example, software architecture 1206 may include layers such as operating system 1202, library 1220, application 1216, and presentation layer 1214. In operation, applications 1216 or other components within these layers can call application program interfaces (APIs) API calls 1208 through the software stack, and receive responses in response to API calls 1208. The layers shown are representative in nature, and not all software architectures have all layers. For example, some mobile or dedicated operating systems may not provide framework / middleware 1218, while other operating systems may provide such layers. Other software architectures may include additional or different layers.
[0083] The operating system 1202 can manage hardware resources and provide public services. The operating system 1202 may include, for example, a kernel 1222, services 1224, and drivers 1226. The kernel 1222 may act as an abstraction layer between the hardware and other software layers. For example, the kernel 1222 may be responsible for memory management, processor management (e.g., scheduling), component management, networking, security settings, etc. Services 1224 may provide other public services to other software layers. Drivers 1226 are responsible for controlling or interfacing with the underlying hardware. For example, drivers 1226 include display drivers, camera drivers, drives, flash drives, serial communications drivers (such as Universal Serial Bus (USB) drivers), drivers, audio drivers, power management drivers, etc., depending on the hardware configuration.
[0084] The library 1220 may provide a common infrastructure that may be used by the application 1216 and / or other components and / or layers. The library 1220 generally provides the following functions: allowing other software components to perform tasks in an easier manner than by directly interfacing with the basic operating system 1202 functions (e.g., kernel 1222, service 1224, and / or driver 1226). The library 1220 may include a system library 1244 (e.g., a C standard library) that may provide functions such as memory allocation functions, string manipulation functions, mathematical functions, etc. In addition, the library 1220 may include an API library 1246 such as a media library (e.g., a library for supporting the presentation and operation of various media formats (e.g., MPEG4, H.264, MP3, AAC, AMR, JPG, PNG)), a graphics library (e.g., an OpenGL framework that may be used to present 2D and 3D graphics content on a display), a database library (e.g., SQLite that may provide various relational database functions), a network library (e.g., WebKit that may provide network browsing functions), etc. The library 1220 may also include a variety of other libraries 1248 to provide a variety of other APIs to the applications 1216 and other software components / modules.
[0085] The framework / middleware 1218 (also sometimes referred to as middleware) provides a high-level, general-purpose infrastructure that can be used by applications 1216 and / or other software components / modules. For example, the framework / middleware 1218 can provide various graphical user interface (GUI) functions, advanced resource management, advanced location services, etc. The framework / middleware 1218 can provide a wide range of other APIs that can be used by applications 1216 and / or other software components / modules, some of which may be specific to a particular operating system 1202 or platform.
[0086] Applications 1216 include built-in applications 1238 and / or third-party applications 1240. Examples of representative built-in applications 1238 may include, but are not limited to, contact applications, browser applications, book reader applications, location applications, media applications, messaging applications, and / or game applications. Third-party applications 1240 may include applications that are created by entities other than the vendor of a particular platform using Android TM or iOS TM Applications developed with a software development kit (SDK) can be developed on mobile operating systems (such as iOS TM 、Android TM , Third-party applications 1240 may call API calls 1208 provided by a mobile operating system (such as operating system 1202) to facilitate the functionality described herein.
[0087] Applications 1216 may utilize built-in operating system functionality (e.g., kernel 1222, services 1224, and / or drivers 1226), libraries 1220, and frameworks / middleware 1218 to create a user interface to interact with a user of the system. Alternatively or additionally, in some systems, interaction with the user may occur through a presentation layer such as presentation layer 1214. In these systems, the application / component "logic" may be separated from aspects of the application / component that interact with the user.
[0088] Fig.13 1 is a block diagram of components of a machine 1300 according to some example embodiments, which components are capable of reading instructions from a machine-readable medium (e.g., a machine-readable storage medium) and performing any one or more of the methodologies discussed herein. Specifically, Fig.13 A diagrammatic representation of a machine 1300 in the example form of a computer system is shown, in which instructions 1310 (e.g., software, programs, applications, applet, application programs, or other executable code) for causing the machine 1300 to perform any one or more of the methods discussed herein may be executed. In this way, the instructions 1310 may be used to implement the modules or components described herein. The instructions 1310 convert a general, unprogrammed machine 1300 into a specific machine 1300 that is programmed to perform the functions described and shown in the described manner. In alternative embodiments, the machine 1300 operates as a standalone device or may be coupled (e.g., networked) to other machines. In a network deployment, the machine 1300 may operate as a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 1300 may include, but is not limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular phone, a smart phone, a mobile device, a wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), other smart devices, a network appliance, a network router, a network switch, a network bridge, or any machine capable of executing instructions 1310 in sequence or otherwise, which specify actions to be taken by the machine 1300. In addition, while only a single machine 1300 is shown, the term "machine" should also be construed to include a collection of machines that individually or collectively execute instructions 1310 to perform any one or more of the methodologies discussed herein.
[0089] The machine 1300 may include a processor 1304, a memory / storage device 1306, and an I / O component 1318, which may be configured to communicate with each other, for example, via a bus 1302. The memory / storage device 1306 may include a memory 1314, (such as a main memory, or other memory storage device) and a storage unit 1316, both of which may be accessed by the processor 1304, such as via the bus 1302. The storage unit 1316 and the memory 1314 store instructions 1310 that embody any one or more of the methods or functions described herein. During execution by the machine 1300, the instructions 1310 may also reside, in whole or in part, within the memory 1314, within the storage unit 1316, within at least one of the processors 1304 (e.g., within a cache memory of the processor), or any combination thereof. Therefore, the memory 1314, the storage unit 1316, and the memory of the processor 1304 are examples of machine-readable media.
[0090] I / O components 1318 may include a variety of components to receive input, provide output, generate output, send information, exchange information, collect measurements, etc. The specific I / O components 1318 included in a particular machine 1300 will depend on the type of machine. For example, a portable machine such as a mobile phone will likely include a touch input device or other such input mechanism, while a headless server machine will likely not include such a touch input device. It should be understood that I / O components 1318 may be included in Fig.13 1328. The I / O components 1318 are grouped according to function only for the purpose of simplifying the following discussion, and the grouping is by no means limiting. In various example embodiments, the I / O components 1318 may include output components 1326 and input components 1328. The output components 1326 may include visual components (e.g., displays such as plasma display panels (PDPs), light emitting diode (LED) displays, liquid crystal displays (LCDs), projectors, or cathode ray tubes (CRTs)), acoustic components (e.g., speakers), tactile components (e.g., vibration motors, resistor mechanisms), other signal generators, etc. The input components 1328 may include alphanumeric input components (e.g., keyboards, touch screens configured to receive alphanumeric input, optical keyboards, or other alphanumeric input components), point-based input components (e.g., mice, touch pads, trackballs, joysticks, motion sensors, or other pointing instruments), tactile input components (e.g., physical buttons, touch screens that provide touch position and / or force or touch gestures, or other tactile input components), audio input components (e.g., microphones), etc.
[0091] In further example embodiments, the I / O component 1318 may include a biometric component 1330, a motion component 1334, an environmental component 1336, or a position component 1338, among a variety of other components. For example, the biometric component 1330 may include a component for detecting expressions (e.g., hand expressions, facial expressions, voice expressions, body postures, or eye tracking), measuring bio-signals (e.g., blood pressure, heart rate, body temperature, sweat, or brain waves), identifying a person (e.g., voice recognition, retinal recognition, facial recognition, fingerprint recognition, or EEG-based recognition), etc. The motion component 1334 may include an acceleration sensor component (e.g., an accelerometer), a gravity sensor component, a rotation sensor component (e.g., a gyroscope), etc. Environmental component 1336 may include, for example, an illumination sensor component (e.g., a photometer), a temperature sensor component (e.g., one or more thermometers that detect ambient temperature), a humidity sensor component, a pressure sensor component (e.g., a barometer), an acoustic sensor component (e.g., one or more microphones that detect background noise), a proximity sensor component (e.g., an infrared sensor that detects nearby objects), a gas sensor (e.g., a gas detection sensor that detects concentrations of hazardous gases for safety or measures pollutants in the atmosphere), or other components that can provide indications, measurements, or signals corresponding to the surrounding physical environment. Position component 1338 may include a position sensor component (e.g., a global positioning system (GPS) receiver component), an altitude sensor component (e.g., an altimeter or barometer that detects the altitude from which the air pressure can be obtained), an orientation sensor component (e.g., a magnetometer), and the like.
[0092] A variety of technologies may be used to achieve communication. I / O components 1318 may include a communication component 1340 that is operable to couple machine 1300 to network 1332 or device 1320 via coupling 1322 and coupling 1324, respectively. For example, communication component 1340 may include a network interface component or other suitable device that interfaces with network 1332. In further examples, communication component 1340 may include a wired communication component, a wireless communication component, a cellular communication component, a near field communication (NFC) component, Components (e.g. Low energy consumption), Device 1320 may be another machine or any of a variety of peripheral devices, such as peripheral devices coupled via a universal serial bus (USB).
[0093] In addition, the communication component 1340 can detect an identifier or include a component operable to detect an identifier. For example, the communication component 1340 may include a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor for detecting one-dimensional barcodes such as universal product codes (UPC) barcodes, multi-dimensional barcodes (e.g., Quick Response (QR) codes, Aztec codes, data matrix, digital graphics, Max codes, PDF417, Super codes, UCC RSS-2D barcodes), and other optical codes), or an acoustic detection component (e.g., a microphone for identifying a tagged audio signal). In addition, various information can be obtained via the communication component 1340, such as obtaining a location via Internet Protocol (IP) geolocation, ... Signal triangulation to obtain location, obtaining location via detection of NFC beacon signals that can indicate a specific location, etc.
[0094] Glossary
[0095] As used herein, "carrier signal" refers to any intangible medium capable of storing, encoding, or carrying instructions for execution by a machine, and includes digital or analog communications signals or other intangible media to facilitate communication of such instructions. Instructions may be sent or received over a network using a transmission medium through a network interface device and using any of a number of well-known transmission protocols.
[0096] In this context, a "client device" refers to any machine that interfaces with a communication network to obtain resources from one or more server systems or other client devices. A client device may be, but is not limited to, a mobile phone, a desktop computer, a laptop computer, a portable digital assistant (PDA), a smart phone, a tablet computer, an ultrabook, a netbook, a notebook computer, a multiprocessor system, a microprocessor-based or programmable consumer electronics, a game console, a set-top box, or any other communication device that a user can use to access a network.
[0097] In this context, a "communication network" refers to one or more parts of a network, which may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless local area network (WLAN), a wide area network (WAN), a wireless wide area network (WWAN), a metropolitan area network (MAN), the Internet, a part of the Internet, a part of the public switched telephone network (PSTN), a plain old telephone service (POTS) network, a cellular telephone network, a wireless network, A network, another type of network, or a combination of two or more such networks. For example, the network or a portion of a network may include a wireless or cellular network, and the coupling may be a code division multiple access (CDMA) connection, a global system for mobile communications (GSM) connection, or another type of cellular or wireless coupling. In this example, the coupling may implement any of a variety of types of data transmission technologies, such as single carrier radio transmission technology (1xRTT), evolution data optimized (EVDO) technology, general packet radio service (GPRS) technology, enhanced data rates for GSM evolution (EDGE) technology, the third generation partnership project (3GPP) including 3G, fourth generation wireless (4G) networks, universal mobile telecommunications system (UMTS), high speed packet access (HSPA), world wide interoperability for microwave access (WiMAX), long term evolution (LTE) standards, other standards defined by various standards development organizations, other remote protocols, or other data transmission technologies.
[0098] In this context, a "transient message" is a message that is accessible for a time-limited duration. A transient message can be text, an image, a video, etc. The access time for a transient message can be set by the sender of the message. Alternatively, the access time can be a default setting or a setting specified by the recipient. Regardless of the setting technique, the message is transient.
[0099] In this context, "machine-readable medium" refers to a component, device, or other tangible medium capable of temporarily or permanently storing instructions and data, and may include, but is not limited to, random access memory (RAM), read-only memory (ROM), buffer memory, flash memory, optical media, magnetic media, cache, other types of storage devices (e.g., erasable programmable read-only memory (EPROM)), and / or any suitable combination thereof. The term "machine-readable medium" should be considered to include a single medium or multiple media (e.g., centralized or distributed databases, or associated caches and servers) capable of storing instructions. The term "machine-readable medium" should also be understood to include any medium or combination of multiple media capable of storing instructions (e.g., code) executed by a machine so that the instructions, when executed by one or more processors of the machine, cause the machine to perform any one or more of the methods described herein. Therefore, "machine-readable medium" refers to a single storage device or device, as well as a "cloud-based" storage system or storage network including multiple storage devices or devices. The term "machine-readable medium" itself does not include signals.
[0100] In this context, "component" refers to a device, physical entity, or logic with boundaries defined by function or subroutine calls, branch points, application program interfaces (APIs), or other technologies that provide partitioning or modularization of specific processing or control functions. Components can be combined through their interfaces with other components to perform machine processes. A component can be a packaged functional hardware unit designed to be used with other components and a part of a program that generally performs a specific function of related functions. A component can constitute a software component (e.g., code embodied on a machine-readable medium) or a hardware component. A "hardware component" is a tangible unit that can perform certain operations and can be configured or set in a certain physical manner. In various example embodiments, one or more computer systems (e.g., stand-alone computer systems, client computer systems, or server computer systems) or one or more hardware components of a computer system (e.g., a processor or a group of processors) can be configured by software (e.g., an application or an application portion) as a hardware component that operates to perform certain operations described herein. Hardware components can also be implemented mechanically, electronically, or any suitable combination thereof. For example, a hardware component may include a dedicated circuit or logic that is permanently configured to perform certain operations. The hardware component may be a dedicated processor, such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). The hardware component may also include programmable logic or circuits that are temporarily configured by software to perform certain operations. For example, the hardware component may include software executed by a general-purpose processor or other programmable processor. After being configured by such software, the hardware component becomes a specific machine (or a specific component of a machine) that is specifically customized to perform the configured function, and is no longer a general-purpose processor. It is understood that the decision to implement the hardware component mechanically in a dedicated and permanently configured circuit or in a temporarily configured circuit (e.g., configured by software) can be driven by cost and time considerations. Therefore, the phrase "hardware component" (or "hardware-implemented component") should be understood to include a tangible entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily configured (e.g., programmed), an entity that operates or performs certain operations described herein in a certain manner. Considering embodiments in which the hardware component is temporarily configured (e.g., programmed), each hardware component does not need to be configured or instantiated at any time. For example, where a hardware component includes a general purpose processor that is configured by software to be a special purpose processor, the general purpose processor may be configured as different special purpose processors (e.g., including different hardware components) at different times. Thus, the software correspondingly configures a particular processor or processors, for example, to constitute a particular hardware component at one time and another different hardware component at another different time.
[0101] Hardware components can provide information to other hardware components and receive information from other hardware components. Therefore, the described hardware components can be considered to be communicatively coupled. In the case of multiple hardware components being present at the same time, communication can be achieved by signal transmission (e.g., through appropriate circuits and buses) between two or more hardware components. In embodiments where multiple hardware components are configured or instantiated at different times, communication between such hardware components can be achieved, for example, by storing and obtaining information in a memory structure accessible to multiple hardware components. For example, a hardware component can perform an operation and store the output of the operation in a memory device to which it is communicatively coupled. Then, another hardware component can access the memory device at a later time to obtain and process the stored output.
[0102] The hardware component may also initiate communication with an input or output device and may operate on a resource (e.g., a collection of information). The various operations of the example methods described herein may be performed at least in part by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute a processor-implemented component that operates to perform one or more operations or functions described herein. As used herein, a "processor-implemented component" refers to a hardware component implemented using one or more processors. Similarly, the methods described herein may be implemented at least in part by a processor, wherein a specific processor or processor is an example of hardware. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented components. In addition, one or more processors may also be operable to support the execution of relevant operations in a "cloud computing" environment or as "software as a service" (SaaS). For example, at least some of the operations may be performed by a group of computers (as an example of a machine including a processor), wherein the operations may be accessed via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., an application program interface (API)). The execution of certain operations may be distributed among processors, not only residing in a single machine, but also deployed across multiple machines. In some example embodiments, the processor or processor-implemented components may be located in a single geographic location (e.g., in a home environment, an office environment, or a server farm). In other example embodiments, the processor or processor-implemented components may be distributed across multiple geographic locations.
[0103] In this context, a "processor" refers to any circuit or virtual circuit (a physical circuit emulated by logic executed on an actual processor) that manipulates data values according to control signals (e.g., "commands," "opcodes," "machine codes," etc.) and produces corresponding output signals suitable for operating a machine. A processor may be, for example, a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a radio frequency integrated circuit (RFIC), or any combination thereof. A processor may further be a multi-core processor having two or more independent processors (sometimes referred to as "cores") that can execute instructions simultaneously.
[0104] In this context, a "timestamp" refers to a series of characters or coded information that identifies when a particular event occurred, such as giving a date and time, sometimes accurate to a fraction of a second.
Claims
1. A method comprising: At a client device, presenting a display of the media content at a location in the collection of media content; receiving an input for selecting the media content, the input comprising an input attribute; determining that a value of the input attribute exceeds a threshold; accessing authentication credentials associated with the client device; as well as In response to the value of the input exceeding the threshold, causing display of a presentation of statistics associated with the media content based on the authentication credentials.
2. The method according to claim 1, wherein: The input includes a tactile input, and the input attribute includes an input pressure of the tactile input.
3. The method according to claim 1, wherein: The input includes a tactile input, and the input attribute includes an input duration of the tactile input.
4. The method according to claim 1, wherein: Causing presentation of the statistics to be displayed includes: accessing authentication credentials in response to receiving the input selecting the media content; and A presentation of the statistics is caused to be displayed based on the authentication credentials.
5. The method according to claim 1, wherein: The statistics include a number of views of the media content.
6. The method according to claim 1, wherein: The presentation of the statistics includes a bar graph.
7. A system comprising: Memory; as well as at least one hardware processor coupled to the memory and comprising instructions for causing the system to perform operations comprising: presenting a display of media content at a location in a collection of media content, the location in the collection of media content being based on a timestamp associated with the media content; identification of the receiving location; receiving an input for selecting the media content, the input comprising an input attribute; determining that a value of the input attribute exceeds a threshold; determining regional statistics associated with the media content based on the location; and Responsive to determining that the value of the input attribute exceeds the threshold, causing display of a presentation of statistics associated with the media content, the statistics including the regional statistics.
8. The system according to claim 7, wherein: The input includes a tactile input, and the input attribute includes an input pressure of the tactile input.
9. The system according to claim 7, wherein: The input includes a tactile input, and the input attribute includes an input duration of the tactile input.
10. The system according to claim 7, wherein: Causing presentation of the statistics to be displayed includes: accessing authentication credentials in response to receiving the input selecting the media content; and A presentation of the statistics is caused to be displayed based on the authentication credentials.
11. The system according to claim 7, wherein: The statistics include a number of views of the media content.
12. The system according to claim 7, wherein: The presentation of the statistics includes a bar graph.
13. A machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising: presenting a display of media content at a location in a collection of media content, the location in the collection of media content being based on a timestamp associated with the media content; identification of the receiving location; receiving an input for selecting the media content, the input comprising an input attribute; determining that a value of the input attribute exceeds a threshold; determining regional statistics associated with the media content based on the location; as well as Responsive to determining that the value of the input attribute exceeds the threshold, causing display of a presentation of statistics associated with the media content, the statistics including the regional statistics.
14. The machine-readable storage medium according to claim 13, wherein: The input includes a tactile input, and the input attribute includes an input pressure of the tactile input.
15. The machine-readable storage medium of claim 13, wherein: The input includes a tactile input, and the input attribute includes an input duration of the tactile input.
16. The machine-readable storage medium of claim 13, wherein: Causing presentation of the statistics to be displayed includes: accessing authentication credentials in response to receiving the input selecting the media content; and A presentation of the statistics is caused to be displayed based on the authentication credentials.
17. The machine-readable storage medium of claim 13, wherein: The statistics include a number of views of the media content.
18. The machine-readable storage medium of claim 13, wherein: The presentation of the statistics includes a bar graph.
