Methods and systems for media set generation, curation, and presentation
Through computer-aided systems and methods, curators can bring together media content from multiple content sources to generate and present media sets or ‘stories’, solving the problems of existing news sources being dispersed and information delayed, enabling real-time and continuous news releases.
Patent Information
- Application Number
- CN202211132494.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2016-02-26
- Filing Date
- 2017-02-23
- Publication Date
- 2025-06-20
- Estimated Expiration
- 2037-02-23
AI Technical Summary
Existing news sources are scattered and information collection and presentation relies on professional journalists, resulting in delays and time-consuming information, and cannot effectively support the news structure of real-time events.
Through computer-aided systems and methods, a curator or operator can bring together media content from multiple content sources to generate, curate and present media sets or ‘stories’ that can be time-sensitive or ‘real-time’.
It realizes rapid curation and presentation of large amounts of content messages, reduces the delay in information release, and supports real-time and continuous news releases.
Smart Images

Figure CN115455209B_ABST
Abstract
Description
[0001] This application is a divisional application of a patent application with an application date of February 23, 2017, an application number of 201780025839.2, and an invention title of "Methods and Systems for Generation, Curation, and Presentation of Media Collections".
[0002] Related Applications
[0003] This application claims priority to U.S. Application No. 15 / 054,776, filed on February 26, 2016, U.S. Application No. 15 / 054,827, filed on February 26, 2016, and U.S. Application No. 15 / 054,869, filed on February 26, 2016, all of which are hereby incorporated by reference in their entirety. Background Art
[0004] In the modern Internet era, many news sources have become fragmented, but the core aspects of news collection and presentation generally remain associated with professional journalists who collect and share information in a manner related to individual identities. While these practices have been able to support some news structures through valuable analysis, the story generation process of selecting professionals to filter information and generate stories is very time-consuming and introduces a significant delay between the occurrence of an event and the presentation of information to news consumers. Brief Description of the Drawings
[0005] The various drawings in the figures only illustrate example embodiments of the present disclosure and should not be considered as limiting its scope.
[0006] Figure 1 is a block diagram showing a networking system according to some example embodiments.
[0007] Figure 2A is an example user interface for viewing a table of a media collection according to some example embodiments.
[0008] Figure 2B is an example user interface for viewing a calendar diagram of a media collection according to some example embodiments.
[0009] Figures 2C - 2D is an example user interface for creating a media collection according to some example embodiments.
[0010] Figure 2E is an example user interface for viewing a table of a media collection according to some example embodiments.
[0011] Figures 2F - 2H is an example user interface for viewing an operator's processing of a media collection according to some example embodiments.
[0012] Figure 3is a flowchart showing aspects of a method according to some example embodiments.
[0013] Figures 4A - 4E is an example user interface for reviewing and curating the content of a media collection.
[0014] Figure 5 is a flowchart showing aspects of a method according to some example embodiments.
[0015] Figure 6 is an example user interface for filtering content according to some example embodiments.
[0016] Figure 7A is an example interface for account settings according to some example embodiments.
[0017] Figure 7B is an example interface for managing an account according to some example embodiments.
[0018] Figures 7C - 7H is an example interface for creating a new media collection according to some example embodiments.
[0019] Figure 8 is a flowchart showing aspects of a method according to some example embodiments.
[0020] Figure 9 is a block diagram showing an example of a software architecture that can be installed on a machine according to some example embodiments.
[0021] Figure 10 shows a graphical representation of a machine in the form of a computer system according to example embodiments, within which a set of instructions can be executed to cause the machine to perform any one or more of the methods discussed herein. Detailed Description
[0022] The systems and methods described herein relate to computer-assisted generation, curation, and presentation of stories from received content. A curator or operator can gather content (such as photos, videos, audio, text, metadata) and other media content from content messages to assemble one or more media sets or story collections. These media sets can be based on a certain geographical location, event, theme, common user interest, product, etc. Content messages can be sent by users (e.g., users in a specific geographical location, users attending a specific event, users sharing a specific interest, etc.) using a client device. A server system can receive tens of thousands (if not more) of content messages for each media set, which need to be reviewed by the system or curator to select the content to be included in one or more media sets. These media sets can be referred to as "stories". Additionally, many media sets can be time-sensitive or "live" stories (e.g., available only within a certain time window, such as a 24-hour period, during a specific event, etc.). Thus, methods and systems are described for providing tools to assist the system and curator in quickly curating such large amounts of content messages into media sets for immediate, continuous, or periodic publication.
[0023] In one example embodiment, systems and methods are provided for receiving, at a server computer, content messages from various content sources (such as smartphone users), each content message including media content and associated with a predetermined media set. For each received content message, the media content is associated with the predetermined media set, and the content message is stored in a database. In some embodiments, multiple content messages are displayed on an operator device having other content messages associated with the media set. In some embodiments, a predetermined trigger associated with the media set can be activated, and in response, the identifier of the media set is updated from a first indicator to a second indicator. This update notifies the user of the change (e.g., by presenting a display alert or update) and indicates that an action needs to be taken with respect to the media set.
[0024] For example, one media set can be for a recent basketball game and can include content related to the ongoing basketball game. When a specific event of interest occurs during the basketball game, the server can receive content messages including new information that is currently not in the media set. This can include content for a particularly watched game or an end game with a final score. These content messages are stored in the database, and a trigger (e.g., a surge in content messages or the time since the last review of related content messages) can create an alert indicating that the media set should be reviewed for an update based on the received message content. The alert can be placed on the display of the curator associated with the media set.
[0025] Some embodiments use automated media filtering to limit the media content reviewed by curators. For example, in some embodiments, blurry, dark, or other low-quality images and video clips can be sent to the system for inclusion in a media set. The system can automatically filter out these low-quality images and present only the higher-quality images to the curator. In some such embodiments, the system and method include receiving content messages at a server computer from various content sources, each content message including media content and each content message being associated with a predetermined media set. For each of the plurality of received content messages or individual media content (e.g., a single image or video clip), the system can determine a quality score and store the content message along with the quality score in a database. Various systems and methods also include receiving a threshold percentage of a media set from an operator device. This threshold is used to filter out lower-quality content segments to reduce the amount of content for the curator to review. The server computer uses the threshold to determine a subset of the plurality of content messages associated with the media set, based on the threshold percentage received from the operator device and the quality score of each content message in the plurality of content messages, such that the subset is available for use by the operator device. Then, the subset of the plurality of content messages associated with the media set is displayed on the operator device for the media set.
[0026] Some embodiments include computer-implemented tools for activating a new story (e.g., a media set), selecting media content for the new story, and making these stories available to the public as part of a communication system. In some such embodiments, the system and method include receiving, at a device, a request from a user to activate a new media set. The computer then sends the request to a server computer to activate the new media set. When the new media set is activated, the device receives a confirmation message. The device can then receive content messages associated with the new media set. Then, the user operating the device can select some of the content messages to include in the new media set and transmit the curation selection to the server computer. The server computer causes the selection of the content messages to be included in the new media set. When other devices in the communication system request the media set, the curated selection is sent to the device.
[0027] Figure 1 is a block diagram showing a networked system 100 according to some example embodiments. The system 100 includes one or more client devices 110. The system 100 further includes one or more operator devices 130, a server system 120, and a network 104 for transmitting communications between the client devices 110, the operator devices 130, and the server system 120. For example, the networked system 100 can be a messaging system where clients can communicate and exchange data within the networked system 100.
[0028] Client device 110 may include, 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, a tablet ultrabook, a web camera, a netbook, a multi-processor system, a microprocessor-based or programmable consumer electronics, a game console, a set-top box, a car computer, or any other communication device that a user can use to access the networked system 100.
[0029] The client device 110 may include a camera device for capturing content, or may be coupled to a separate camera device for capturing content (e.g., video, photos, audio, etc.) before transmission to the server system 120 or other client devices 110. Some embodiments may include a wearable device, such as a pendant with an integrated camera coupled to the client device 110. Other embodiments may include other associated devices with wearable integrated cameras, such as watches, glasses, clothing (such as hats or jackets with integrated electronics), clip-on electronic devices, or any other such device that may communicate with or be integrated with the client device 110.
[0030] The client device 110 may access the web client 112 (e.g., a browser such as Microsoft Windows XP, a computer program product developed by Microsoft Corporation of Redmond, Washington State). IE (Internet Explorer) developed by the company ) browser) or one or more client applications 114 to access various data and applications provided by other entities in the system 100. The client device 110 may include one or more applications 114 (also referred to as "application software"), such as, but not limited to, a web browser, a messaging application, an electronic mail (email) application, an e-commerce site application, a mapping or location application, a news or media application, etc. In some embodiments, one or more applications 114 may be included in a given one of the client devices 110 and configured to provide a user interface and at least some functionality locally, wherein the application 114 is configured to communicate with other entities in the system 100 (e.g., operator device 130, server system 120, etc.) as needed for data and / or processing capabilities that are not available locally (e.g., access various information to authenticate the user 106, verify payment methods, retrieve / synchronize footprints, etc.). Conversely, one or more applications 114 may not be included in the client device 110, and the client device 110 may then use its web browser to access one or more applications managed on other entities in the system 100 (e.g., operator device 130, server system 120, etc.).
[0031] One or more users 106 can be a person, machine, or other component that interacts with the client device 110. In an example embodiment, the user 106 may not be part of the system 100, but can interact with the system 100 via the client device 110 or other components. For example, the user 106 can provide input to the client device 110 (e.g., touch screen input or alphanumeric input), and the input can be transmitted via the network 104 to other entities in the system 100 (e.g., the operator device 130, the server system 120, other client devices 110, etc.). In this case, the other entities in the system 100 can transmit information via the network 104 to the client device 110 for presentation to the user 106 in response to receiving the input from the user 106. In this way, the user 106 can use the client device 110 to interact with various entities in the system 100.
[0032] The operator device 130 can include, 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, a tablet superbook, a web camera, a netbook, a multiprocessor system, a microprocessor-based or programmable consumer electronic product, a game console, a set-top box, an in-vehicle computer, or any other communication device that a user or operator 108 can use to access the networked system 100.
[0033] The operator device 130 can be via a web client 132 (e.g., a browser, such as IE (Internet Explorer) developed by Microsoft Corporation of Redmond, Washington State )A browser or one or more operator applications 134 access various data and applications provided by other entities in system 100. The operator device 130 may include one or more operator applications 134 (also referred to as "application software"), such as but not limited to a web browser, a messaging application, a media curation tool, an email application, an e-commerce site application, a mapping or location application, a news or media application, etc. In some embodiments, one or more applications 134 may be included in a given operator device among the operator devices 130 and are configured to locally provide a user interface and at least some functions, where the application 114 is configured to communicate with other entities in system 100 (e.g., client device 110, server system 120, etc.) as needed for data and / or processing capabilities not available locally (e.g., accessing various information to authenticate user 106 or operator 108, verifying a payment method, retrieving / synchronizing footprints, etc.). Conversely, one or more applications 134 may not be included in the operator device 130, and thus the operator device 130 may use its web browser to access one or more applications managed on other entities in system 100 (e.g., server system 120, etc.).
[0034] One or more operators 108 may be a person, a machine, or other components that interact with the operator device 130 (e.g., a user such as a curator or an operator). In an example embodiment, the operator 108 may not be part of system 100 but may interact with system 100 via the operator device 130 or other components. For example, the operator 108 may provide input (e.g., touchscreen input or alphanumeric input) to the operator device 130, and the input may be transmitted via network 104 to other entities in system 100 (e.g., client device 110, server system 120, etc.). In this case, other entities in system 100 may transmit information via network 104 to the operator device 130 for presentation to the operator 108 in response to receiving the input from the operator 108. In this way, the operator 108 can use the operator device 130 to interact with various entities in system 100.
[0035] The client device 110 and the operator device 130 are connected to the server system 120 via the network 104. The network 104 may include any combination of wired and wireless connections. This may include a cellular access network, an access point interface to the Internet, or any other such network 104 or network element. For example, the client device 110 may interface with the network 104 using a Long-Term Evolution (LTE) cellular network to communicate with the server system 120. Or the client device 110 may interface with the network 104 using a Wi-Fi access point and communicate with the server system 120.
[0036] The server system 120 can be one or more computing devices and be part of a service or network computing system. In certain embodiments, particularly those in which a large number of client devices 110 interface with the server system 120 that is widely distributed at different locations from all over the world, the server system 120 can be a distributed network of server computers that is similarly widely distributed and communicates with each other via the network 104. The server system 120 can include a web server 122 and a content processing server 124, which can be communicatively coupled to one or more databases 126. The database 126 can be a storage device that stores information such as data related to content messages, media sets, etc.
[0037] The content processing server 124 can provide functions for performing various computer-aided media set generation, curation, and presentation from the received content (as an example). The content processing server 124 can access one or more databases 126 to retrieve the stored data for computer-aided media set generation, curation, and presentation from the received content.
[0038] In some embodiments, the client device 110, the operator device 130, and any element of the network 104 and the server system 120 can be implemented using Figure 9 and 10 the elements of the software architecture 902 or the machine 1000 described in
[0039] The networking system 100 can be used for the communication of content messages from the client device 110 to the server system 120 and the communication of media sets from the server system 120 to the client device 110. The client device 110 can transmit content messages to the server system 120, and the client device 110 can receive media sets from the server system 120. In addition to this function of the embodiments described herein, the client device 110 can additionally receive private content and communications from other users 106, and can transmit personal stories or media sets to the server system 120, where the personal stories or media sets include images and / or videos from content messages generated by the client device 110, another device coupled to the client device 110, or other users 106. Similarly, the client device 110 sends content messages and receives stories or media sets, and can additionally perform other actions.
[0040] In an example embodiment, the operator application 134 may include a media curation tool. The media curation tool may allow the operator 108 to create new media sets, view a table of media sets, view multiple content items or content messages associated with a predetermined media set, curate content into media sets for immediate, continuous, or scheduled publication, etc. Multiple media contents may be received by the server system 120 in multiple content messages from multiple users 106 (e.g., via the client device 110).
[0041] Using the curation tool, the operator 108 may be able to view a table of all active, scheduled, or archived media sets. For example, using the curation tool, the operator 108 may provide an indication to view the table of media sets (e.g., press a button, select an option, click an icon, etc.). Figure 2A An example user interface 200 is shown. The example user interface 200 may display a table of media sets (e.g., story table 202). The user interface 200 may allow the operator 108 to search for a specific media set by providing an area 204 for the operator 108 to enter input search criteria. For example, the operator 108 may enter a media set identifier, media set name, keyword, etc. The user interface 200 also provides a mechanism 206 for filtering the results / list of media sets by various criteria. For example, the operator 108 may filter media sets by location, campus, event, time zone, live event, etc.
[0042] The table of media sets may include a table of all active media sets 212 and a table of upcoming media sets 214. Each table may include an indication of what operator or curator 216 is assigned to each media set. There may be one or more operators 108 assigned to each media set. The user interface 200 also allows the operator 108 to add or remove an operator 108 for each media set. Each media set may have a title 201, multiple content items or content messages 203 in the queue of the media set, multiple content items 205 that have been cleared (viewed, reviewed, etc.), and the last update 207 of the media set. The upcoming media sets 214 may also include information about when they are scheduled to go "live".
[0043] The media set may also indicate the status by an indicator such as color or other means. For example, a media set that does not require immediate attention may have a first indicator (e.g., green), a media set that requires attention may have a second indicator (e.g., red), and an incomplete (e.g., does not have a geofence, requires approval, does not have a thumbnail, etc.) media set may have a third indicator (e.g., yellow). As described below, the server system 120 may set or update the status indicator based on a predetermined trigger. The operator 108 may select any media set to go to a detailed view of the specific media set.
[0044] The user interface 200 may also provide the operator 108 with a mechanism 210 for viewing metrics associated with one or more media sets, one or more operators 108, etc. And the user interface 200 may also provide a mechanism 211 for accessing a calendar view of the media sets. The calendar view of the media sets is as Figure 2B shown. In the calendar view 220, the operator 108 can see the live media sets arranged in a monthly view.
[0045] The operator 108 can also view a table of the media sets assigned only to the operator 108, as Figure 2E shown in the example interface 250. The interface 250 may display the name 251 of the operator 108, a logout button 152, a picture 253 of the operator 108, a table of the media sets 254 that the operator 108 is currently processing, a table 255 of other operators 108 that are currently online (e.g., processing media sets), what operator 108 is processing each media set 256, and other media sets 257.
[0046] Each item of the media set table (e.g., media set table entry 258) may include information about the media set. For example, the media set table entry may include the name of the media set (e.g., STANFORD, PURDUE, etc.), multiple content items or content messages in the queue of the media set (e.g., 1253, 253, 104, etc.), the time since the last update was pushed in real time or a content item or content message was added to the queue (e.g., 00:05:53), the number of content items or content messages that have been cleared or reviewed / curated (e.g., the amount for the operator 108 (e.g., 255, 245, 2135, etc.), and the total amount (e.g., 12.5k, 172.5k, etc.)), and the timestamp of the last update and the timestamp of who updated it (e.g., 01 / 12 / 16 (D. Boone)). As shown in the example interface 250, the operator 108 may also be able to add the operator 108 to the media set, for example, using a drop-down box 259.
[0047] As Figure 2F shown in the interface 265, the operator 108 can further set a mechanism for viewing all operators 108 who are currently processing media sets. The interface 265 may provide the photo of the operator 108, the location of the operator 108 (e.g., West Coast, East Coast, etc.), the number of media sets that the operator 108 is processing, the number of content items or content messages that have been cleared or reviewed / curated on the current day, the media sets processed on the current day, etc. As Figure 2GAs shown in interface 275, operator 108 can view further details of each operator 108. For example, interface 275 can include various metrics for operator 108, such as the average time taken to clear 100 content items or content messages, the average number of flagged (e.g., selected) content items or content messages per 100 content items or content messages, the ratio of content items or content messages flagged as approved, the average time that a flagged content item or content message has been in the queue before being flagged, the average time that an approved content item or content message has been in the queue before being activated, the average time from flagging to approval of an approved content item or content message, the average time between flagging two separate content items or content messages, the average length of the content items or content messages per update quantity per update, the number of seconds of the media set per update, etc. As Figure 2H shown in interface 285 of
[0048] Operator 108 can further be provided with a mechanism for creating a new media set (e.g., via a selectable "Create Story" icon 208, as Figure 2A shown in Figure 2B ). A user interface 230 (such as the user interface shown in Figure 2C ) can be provided to operator 108 to create a new media set. User interface 230 can allow operator 108 to input various information related to the new story or media set. For example, operator 108 can input a media set identifier (ID) 231, a user name 233, a location or place 235 (e.g., city, state / country, various locations, etc.), friend link display text 237 (e.g., "At Fashion Week in New York"), media set display text 239 (e.g., "Our Fashion Week Story"), start time and end time 232 (e.g., when the set fence will open and close). Operator 108 can also be able to input the type of media set (not shown). Some examples of media set types can be worldwide (e.g., visible to each user 106), public local (e.g., visible to local users 106 and other outputs), private local (e.g., visible only to local users 106), employee white list (e.g., for a specific media set, visible only to employees such as operator 108 or a curator).
[0049] The operator 108 may also be able to upload a thumbnail 234, which may be associated with the media set and displayed in various media output displays (e.g., application software, websites, etc.). The operator 108 may be able to select from a selection of predefined thumbnails or create a new thumbnail. The operator 108 may also select or add a filter 236 and / or an introduction animation associated with the media set. The operator 108 may also include whitelisted users 238 and search for keywords 241 associated with the media set. There may be additional information 242 that can be selected by the operator 108. For example, if the operator 108 has selected public local or private local for the media set type, a checkbox may appear that can be selected to indicate that the set perimeter is different from the broadcast perimeter. If the operator 108 selects this option (e.g., checks the box), the operator 108 may be prompted to draw more than one geofence. Other additional information 242 may include options to show the media set on a website, show the media set in a search or media forum (e.g., Google Now, Google search, etc.), and show the media set in a browser. If the operator 108 selects to show the media set in one of these options, the operator 108 may be prompted to enter additional information, such as a description of the media set (e.g., a text box for entering a description of the media set), the color of the media set, etc.
[0050] The operator 108 may also be able to draw a geofence (e.g., a virtual fence over a geographic area) on a map to associate a specific location with the media set. For example, as Figure 2D shown, the operator 108 may select the geofence drawing button 244, and then create a polygon 245 to indicate the location associated with the media set. After drawing the polygon 245, the operator 108 may be able to name the geofence and prioritize the geofence, and then complete it. An indication of the geofence 246 may be displayed to the operator 108. If needed, additional geofences may be created by the operator 108. A media set may have more than one geofence associated with the media set. A geofence may be deleted by selecting the geofence and indicating that the geofence should be deleted (e.g., pressing a specific button). The operator 108 may also move the geofence on the map to another location, or copy and paste the geofence to another location. For example, geofences may be used to determine whether the user 106 is eligible to submit a content item or content message for a specific media set. For example, if it is determined that the user 106 is within the geofence of the media set, the user 106 may be eligible to submit a content item or content message for that media set.
[0051] After the operator 108 has completed entering information to create a new media set, the operator 108 may submit the information. For example, the operator 108 may select the submit option 243, and the operator device 130 may send a request to the server system 120 to create a new media set with the information. The server system 120 may receive and evaluate the request and the information, as well as create the new media set and store the associated information in one or more databases 126. The server system 120 may generate a message indicating that the new media set has been created and send it to one or more operator devices 130.
[0052] Figure 3 is a flowchart showing aspects of a method 300 according to some example embodiments. For illustrative purposes, method 300 is described with respect to Figure 1 the networked system 100. It should be understood that in other embodiments, method 300 may be implemented with other system configurations.
[0053] At operation 302, the server system 120 (e.g., at the content processing server 124) may receive a plurality of content messages from a plurality of content sources. The content messages may include media content (e.g., photos, videos, audio, text, etc.) and may be associated with one or more media sets.
[0054] For example, a plurality of users 106 may send a plurality of content messages related to a particular event (e.g., a concert, a sports event, a street fair, a world expo, etc.), a geolocation (e.g., a concert venue, a sports arena, a city, a neighborhood, a state, etc.), a theme or topic (e.g., a popular song, a product, the weather, etc.), a common user interest (e.g., a common interest in sports, music, clothing, celebrities, products, events, etc.), etc. The content messages may be created and sent by a plurality of client devices 110. For example, a user 106 may take a photo, record a video, combine text or media overlays (e.g., filters) with the picture, video, etc., and send the content message to another user 106 or the server system 120 to be associated with one or more predetermined media sets (or to create a new media set). The content messages may include additional information such as a timestamp indicating the time the content was created or sent, a username, etc. The timestamp may be used to sort the content in chronological order or to determine any expiration date / time of the content message. The username may be used to identify the user 106, to identify a user 106 who contributes good content to be marked as a good contributor, to identify a user 106 who may be a spammer so that they can be muted, etc.
[0055] For each content message among the plurality of content messages received by the server system 120 (e.g., by the content processing server 124), the content processing server 124 may associate the content in the content message with one or more predefined media sets, as shown in operation 304. For example, an indication of one or more media sets may be included in the content message, and the content processing server 124 may utilize the indication to associate the content with one or more media sets. In another example, the content processing server 124 may determine the associated media set based on the content in the content message (e.g., via text recognition, object recognition, audio footprint, etc.). The content processing server 124 may store the content message associated with one or more media sets, as shown in operation 306.
[0056] In operation 308, the server system 120 may cause the content or the content message to be displayed on the operator device 130. For example, the operator 108 may use an interface in a web browser or an application 134, such as the user interface 400 shown in FIG. 4, to review and curate the content of one or more media sets. In the example interface 400, as shown in the toolbar 402, the operator 108 is viewing / curating ten different media sets. The media sets in the example interface 400 are associated with university campuses (e.g., Stanford, Purdue, Duke, Yale, Michigan, Vanderbilt, Berkeley, Oregon, Tufts). At any time, the operator 108 may view or curate one or more media sets. The media sets may be ongoing stories (e.g., ongoing stories associated with university campuses, celebrities, music bands, products, events, etc.) or may be real-time stories associated with real-time events (e.g., ongoing concerts, ongoing games, Black Friday, social events, etc.).
[0057] Each media set may have an identifier associated with the media set. The identifier (e.g., identifier 404) may include the name of the media set, a plurality of content items or content messages in the queue (e.g., pending review / curation), the local time of a particular story, a time that may indicate the time since the operator 108 last updated the media set or the time of the most recently approved content item or content message, and a status indicator. The media set may be removed or added to the interface 400 by the operator 108 or the server system 120.
[0058] The status indicator in the identifier of a media set may include colors, blinking labels, etc. For example, the identifier of a media set (e.g., label 404) may appear green (e.g., the first indicator) when the media set does not require immediate attention, red (e.g., the second indicator) when the media set requires immediate attention, or yellow (e.g., the third indicator) when the media set is incomplete.
[0059] The server system 120 may set or update the identifier of a media set based on a trigger. For example, return Figure 3 , the server system 120 (e.g., the content processing server 124) may determine that a predetermined trigger has been activated, as shown in operation 310. The predetermined trigger may be a predetermined amount of time (e.g., 30 seconds, 1 minute, 15 minutes, 1 hour, 1 day, etc.) that has passed since a content item or content message associated with the media set has been viewed on the operator device 130, a predetermined number of content items or content messages that have not been viewed on the operator device 130, a predetermined amount of time that has passed since any content associated with the media set has been pushed in real time for the user 106 to view, etc. If the content processing server 124 determines that the predetermined trigger has been activated, then as shown in operation 312, the identifier of the media set will then be updated from the first indicator to the second indicator.
[0060] For example, the content processing server 124 may determine that a predetermined amount of time (e.g., 5 minutes, 15 minutes, 1 hour, 1 day) has passed since a content item or content message associated with the media set has been viewed on the operator device 130. The content processing server 124 may change the indicator from green (e.g., the first indicator) to red (e.g., the second indicator) to alert the operator 108 of the fact that the media set requires immediate attention. This may be particularly important when the operator 108 curates multiple media sets and for real-time media sets (e.g., ongoing events) where timeliness may be important. For example, a concert may only last for two hours, and thus the operator 108 may not want to miss a few minutes before updating the content in the media set related to the concert.
[0061] The operator 108 can select an identifier to view the content to be reviewed and curated for a specific media set. For example, the currently selected media set in the example interface 400 is "Purdue" 404. Once the media set is selected, information specific to the selected media set can be displayed. For example, for the selected "Purdue" media set, the information displayed can include the name of the media set 408, the current length of the media set 410 (e.g., the number of content messages or content items in the live or published version of the media set), the location within the media set (e.g., a specific geofence within the media set, or all locations within the media set), etc. There may be other mechanisms for performing additional functions, such as buttons 401 for opening or closing the media set (e.g., opening the media set can push the selected media set or story in real time). Other functions can include buttons 403 for opening or closing the geofence, buttons 405 for previewing the media set in a video player, buttons 407 for sending the current media set to the user 106 or a user list, and advanced settings 409 with additional options.
[0062] Example advanced settings can include filters for filtering out certain types of content items or content messages by selecting various filters. For example, the types that can be filtered out can include videos, photos, approved content items or content messages, tagged content items or content messages, whitelisted content items or content messages, unselected content items or content messages (e.g., not approved, tagged, or whitelisted), etc. The filtering may only affect the current queue.
[0063] The operator 108 can also filter the media set by location (if there is more than one location within the media set), filter the default content item or content message length, how many content items or content messages will be displayed on the page, how often the number of content items or content messages in the queue is updated, how many content items or content messages the operator 108 can return when selecting the undo button, all submissions, only the current media set, currently tagged, unselected, unselected plus whitelisted, etc.
[0064] The interface 400 can further include a mechanism for loading the next content item or content message in the queue. For example, there may be a button 411 that can be selected by the operator 108 to obtain the next 100 content items or content messages. Figure 4B A collapsed view 412 of the information provided for the selected media set is shown.
[0065] The operator 108 may be able to view a timeline, such as Figure 4EThe example timeline 416 shown in [Figure]. The timeline 416 can show the progress of the operator 108 relative to the rest of the media set. For example, content items or content messages that have been viewed by the operator 108 can be shown in a first color (e.g., blue) 417 or other indication, and content items or content messages that have not been viewed can be represented by a second color (e.g., gray) 418 or other indication. Published content items or content messages (or chapters) can also be represented (e.g., by bars 419A or 419B).
[0066] The operator 108 can also have the option to add advertisements to the media set. For example, as Figure 4D shown, the operator 108 can be able to select to add an advertisement via the button 415. A list of advertisements can be shown to the operator 108 (e.g., in a separate window), and the operator 108 can select and drag one or more advertisements to include in the media set. The advertisement can also appear automatically after a chapter is published, at an appropriate time (e.g., based on the amount of time that has passed in the media set or since the last advertisement was shown in the media set).
[0067] When viewing a content item or content message of the media set, the operator 108 can select individual content items or content messages to indicate that the individual content items or content messages have been approved for real-time push (e.g., “published” to be viewed by the user 106 as part of the media set), as Figure 4C shown in [Figure]. A visual indication can be shown when an individual content item or content message is selected or approved (e.g., it can be highlighted, flashed on and off, grayed out, etc.). Once the operator 108 selects the content item or content message to be approved, the operator 108 can indicate that the selected content item or content message should be applied, for example, by selecting the “Apply” button 414. There can be a number that appears next to the Apply button 414, which indicates how many approved content items or content messages will be applied. Selecting the Apply button 414 will cause the current chapter (e.g., the approved content items or content messages) to be pushed in real time. For example, the selection of the content item or content message is sent to the server system 120, and it can be received by the server system 120 (e.g., the content processing server 124) and be included in the selection of the content in the media set and be made available for the user 106 to view as part of the media set. Once the approved content item or content message is applied, the visual indication can change to indicate that the approved content item or content message has taken effect (e.g., the color may change, etc.).
[0068] The operator 108 can view and edit individual content items or content messages. For example, tools can be provided to stabilize shaky videos, strip media overlays or filter out content items or content messages (e.g., media overlays with inappropriate content, covering key features or objects in the content item or message, etc.), block specific users 106, report content items or content messages, browse photo or video lengths, etc.
[0069] As described above, the server system 120 can receive tens of thousands (or more) of content messages from multiple client devices 110 that contain media content from multiple users 106. It may be very difficult, if not impossible, for the operator 108 to review and curate so many messages for one or more media sets. Additionally, many media sets may involve live events where the review, curation, and pushing of live content items or content messages for the media set may need to be done in a very timely manner. Thus, the curation tools described above provide many mechanisms and filters to allow the operator 108 to quickly and easily view and curate content items or content messages related to one or more media sets.
[0070] The curation tools can further provide mechanisms for the operator 108 to filter out a certain percentage of content items or content messages to automate some of the review and curation processes, enabling the operator 108 to be able to review and curate content items or content messages in a timely and efficient manner. Figure 5 is a flowchart showing aspects of a method 500 according to some example embodiments. For illustrative purposes, method 500 is described for Figure 1 the networking system 100. It can be understood that in other embodiments, method 500 can be practiced with other system configurations.
[0071] At operation 502, the server system 120 (e.g., at the content processing server 124) can receive multiple content messages from multiple content sources. The content messages can include media content (e.g., photos, videos, audio, text, etc.) and can be associated with one or more media sets.
[0072] For example, multiple users 106 may send multiple content messages related to a specific event (e.g., concert, sports event, street fair, expo, etc.), geolocation (e.g., concert venue, sports arena, city, neighborhood, state, etc.), theme or topic (e.g., popular song, product, weather, etc.), common user interests (e.g., common interests in sports, music, clothing, celebrities, products, events, etc.), and so on. The content messages may be created and sent by multiple client devices 110. For example, user 106 may take a photo, record a video, combine text or media overlays (e.g., filters) with the picture, video, etc., and send the content message to another user 106 or the server system 120 to be associated with one or more predefined media sets (or create a new media set). The content message may include additional information such as a timestamp indicating the time the content was created or sent, a username, etc. The timestamp may be used to sort the content chronologically or determine any expiration date / time of the content message. The username may be used to identify user 106, identify user 106 who contributes good content to be marked as a good contributor, identify user 106 who may be a spammer so that they can be muted, etc.
[0073] For each content message among the multiple content messages received by the server system 120 (e.g., by the content processing server 124), the content processing server 124 may analyze each content message among the multiple content messages to determine a quality score for each content message among the multiple content messages, as shown in operation 504. The quality score may be determined based on multiple different factors. For example, the content processing server 124 may analyze the media content in the content message to determine the quality of the audio, photo, video, text, or other content. If the quality of the media content is low (e.g., lower resolution, shaky video, blurry text, unclear audio, etc.) compared to media content with higher quality, then a lower score is given to the content message.
[0074] Some example factors that may be used to determine the quality score include the probability of explicit content (e.g., the probability that an image or video contains explicit content such as nudity, drug use, profanity, etc.), underexposure (e.g., a very dark or completely black image or video), overexposure (e.g., an image or video that is too bright), noise level (e.g., an image or video that looks grainy due to being taken with a low-end camera in low light conditions), a shaky camera (e.g., the camera is too shaky when taking a video), blurry media content (e.g., an image and video that look too blurry), low-quality compression (e.g., removing content messages with excessive compression artifacts), audio quality, the area within the event (e.g., if too many content messages show a specific area in a sports arena or a specific game in a match, it may score lower), content messages that are all black and white, etc.
[0075] Combinations of different factors can result in a single quality score. For example, the quality score can range from 0 to 1, where 0 is the lowest quality and 1 is the highest quality. A content message of lower quality can be scored 0 or 0.1. A content message of higher quality can be scored 0.9 or 1. Heuristics and / or machine language based on the behavior of operator 108 can be used to combine the factors into a single quality score. The content processing server 124 can optionally sort all content messages of the media set by the quality score.
[0076] In some embodiments, the quality score is based on sampling of frames in a video clip or detailed exposure analysis of an image. For example, a histogram of luminance can be computed, and quality can be assigned to the image or video based on the correlation of the histogram with the quality score. This correlation can be based on a table or function that associates certain histogram patterns with selected quality scores, or can be generated in any other such way. For a video in which multiple sample frames are analyzed, the average score of each frame can be used to select a score, the worst score of a single frame of all analyzed frames can be used, or any such combination or function of scores can be used.
[0077] In some embodiments, motion blur estimation of an image or a selected video clip is used as part of the quality score. For example, such motion blur estimation can be based on the calculation of energy gradients on detected edges, or other such motion estimations. For a video clip, identifying video frames with a motion blur above a threshold amount can trigger the analysis of additional sample frames to determine how much of the video is affected by motion blur, or to identify when camera sensor jitter affects the entire video. In certain embodiments, the system can use a threshold for video motion or "jitter" to filter out videos with camera motion or jitter above the threshold. In other embodiments, the jitter or motion score can simply modify the overall quality score. In other embodiments, both a hard threshold and an input to the overall quality score can be used.
[0078] In some embodiments, an image or a sample video frame can be analyzed for compression artifacts or other image processing artifacts that indicate lower image quality or errors introduced into the image due to various compression or communication issues. These artifacts can include image ringing, image contour lines, staircase noise along curved edges, color separation artifacts, or block boundary artifacts. The video can be analyzed for additional video-based compression artifacts, such as block boundary artifacts associated with motion compensation or mosquito noise, which can be identified by analyzing selected frames of the video. The presence of such compression artifacts and the strength of any identified compression artifacts can be used to modify or select the quality score of the image or video clip. In addition to such information loss associated with compression or lossy transmission, the image and video frames can also be analyzed for other types of noise. For example, for noise artifacts, such as noise associated with a low-quality or malfunctioning camera sensor, a low-quality or dirty optical camera, or any other such noise source that may reduce, corrupt, or modify the data in the image, the variations in smooth or uniform regions of the image can be analyzed.
[0079] In some embodiments, audio data is also used for quality scoring of video clips. In this embodiment, various audio metrics, such as dynamic range, noise level, speech intelligibility, or speech recognition data, or any other such audio-based information can be used to select an audio quality score or influence the overall quality score. In some embodiments, different audio data metrics are used based on the determined audio environment. For example, a video clip with speech may be evaluated differently from a clip with music, or video clips with different types of music may be evaluated differently. Additionally, in some embodiments, audio recognition for identifying offensive audio content (e.g., taboo spoken words or explicit music lyrics) can be used for quality scores or quality threshold flags.
[0080] In addition to quality scores based on image quality, some scores can be based on image content. For example, as described above, image processing can be used to identify offensive content within an image or video clip, such as nudity or taboo language. In some embodiments, the preferred orientation (e.g., landscape or portrait) can be used for quality scoring. Some systems may additionally use image recognition to identify desired content. For example, in some systems, an image of an animal or an image of an object associated with a party environment is identified as desired. The presence of such images within a video frame or picture can be used to increase the overall quality score, or generate a content score.
[0081] In some embodiments, feedback or machine learning is used to select or set quality scores. Such systems can use neural networks to extract features identified as preferred or of interest to system users. For example, in some embodiments, images selected by system users to be included in one or more stories can be selected for a learning group. Some or all of the images and video frames from the learning group can have features extracted and analyzed using a feedforward artificial neural network, such as a convolutional neural network, to identify desired elements of the images and automatically assign an interest score to future images received based on the neural network generated using the learning group. Feature maps used within such neural networks can be based on any of the analytical metrics described herein, including image quality features and image content features. In some embodiments, learnable filters can be selected and automatically updated based on an image database from an image processing service for content analysis of the image or video frame. In other embodiments, any other such source can be used for the learnable filters. Such analysis can be applied to both the image elements of the content and the audio elements of the video.
[0082] In various embodiments, other feedback mechanisms can be used. For example, in some embodiments, the content source, user, or account associated with generating an image or video clip can have associated historical data. In some embodiments, the historical association of the content source with content selected by the system user or associated with a high-quality rating can be used as an input to the quality score or can be used as a quality flag. Various content source metrics can be used, such as quality history, the number of images sent, the number of system followers or interconnections, or other such metrics.
[0083] In some embodiments, multiple different quality scores can be associated with each individual media content segment such that an image can have an exposure quality score, a noise quality score, a motion quality score, a compression quality score, a resolution quality score, an audio quality score, a content score, or any other such individual quality score. In such an embodiment, an overall quality score based on any combination of such individual quality scores can also be provided. Additionally, as described above, some or all of these quality scores can be used individually to automatically reject certain media content segments and only images or videos that exceed all thresholds are presented to the system user. The system can have any number of thresholds based on individual quality scores or different combinations of different quality scores. In some embodiments, the threshold can be variable to present a target number of images and / or videos to the system user. Similarly, different types of images or video clips can be evaluated differently such that weights can be applied differently to different images based on content, location, time, proximity to a holiday or news event in terms of location or time, overall environment, or other such information. In some embodiments, any of the metrics and weights described above are applied differently to a selfie taken indoors than to a concert shot taken outdoors at night.
[0084] In operation 506, the content processing server 124 may store multiple content messages, along with a quality score for each content message among the multiple content messages, in one or more databases 126. The quality scores may be stored as metadata associated with the content messages. The content processing server 124 may optionally sort all content messages by the quality scores.
[0085] In operation 508, the content processing server 124 may receive a threshold percentage of a media set from the operator device 130. For example, the operator 108 may be provided with an interface, such as Figure 6 interface 600 shown in, to provide a threshold percentage 605 by which to filter content in the media set. For example, the operator 108 may only want to receive high-quality content messages (e.g., due to a large amount of content messages in the queue / media set). The operator 108 may enter a percentage (e.g., 50%) and submit the threshold percentage to the content processing server 124 (e.g., via "Apply" button 607).
[0086] In operation 510, the content processing server 124 may determine that a subset of the multiple content messages associated with the media set is available for the operator 108 (e.g., via the operator device 130) based on the threshold percentage received from the operator device 130 and the quality score for each message among the multiple messages. For example, the content processing server 124 may determine the top 50% of the content messages in the media set based on the quality score for each message among the multiple messages (e.g., the top 50% of the highest-scoring content messages).
[0087] In operation 512, the content processing server 124 may cause only a subset of the multiple content messages associated with the media set to be displayed on the operator device 130 for the media set. For example, if the content processing system 124 has received 10,000 content messages and the threshold is set to 30%, the content processing system 124 may cause only 3,000 content messages to be displayed on the operator device 130.
[0088] Since the content processing server 124 can continuously receive multiple content messages, the content processing server 124 can periodically recalculate a subset of the multiple content messages for the media set. For example, after causing an initial subset of the content messages to be displayed on the operator device 130, the content processing server 124 can determine a subset of the newly received content processing messages (e.g., since the last subset was determined) after a predetermined number of content messages have been received (e.g., 100, 1000, etc.) or after a predetermined amount of time (e.g., 30 seconds, 10 minutes, 30 minutes, 1 hour, etc.). Additionally, the operator 108 can change the threshold from a first value (e.g., 50%) to a second value (e.g., 30%). The content processing server 124 can receive the new threshold and use the new threshold to determine a subset of the multiple content messages to be received going forward. Additionally, or alternatively, the content processing server 124 can also adjust the values of the subset that has been made available to the operator device 130 (e.g., if the operator 108 increases the threshold percentage value, more content messages can be displayed on the operator device 130).
[0089] Input from the operator 108 can be used to improve the quality score algorithm. For example, the operator 108 may be able to flag or otherwise indicate when a content message is of low quality. The server system 120 can also keep track of when the operator 108 flags or accepts a content message each time, or indicate that the content message is related to a particular breaking news story, etc. For example, the content processing server 124 can analyze the content messages accepted by the operator 108 and the content messages not accepted by the operator 108 and use that data to create a model to determine the probability that the operator 108 will accept a particular content message. This factor (e.g., the probability of acceptance by the operator) can be used as a factor in calculating the quality score of the content message.
[0090] In another example embodiment, a client application 114 can be provided that includes media set creation and curation tools for an end user 106. The tools can allow the user 106 to create new media sets, view a list of media sets, view multiple content items or content messages associated with a predetermined media set, select and / or curate content into a media set for immediate, continuous, or scheduled publishing, etc. Multiple media contents may have been received by the server system 120 (e.g., via the client device 110) among multiple content messages from multiple users 106. For example, the user 106 may wish to create a new media set associated with a personal event such as a wedding reception, a child's birthday party, a family vacation, etc. The user 106 can use the client device 110 to establish an account, create a new media set (e.g., a media set for his wedding reception, a media set for his niece's birthday party, a media set for an upcoming family vacation, etc.), view existing media sets, view content messages (e.g., from friends and family) associated with the media sets, and select and / or curate content messages to be included in one or more media sets.
[0091] The user 106 can first provide identification information to establish an account to create a new media set, view existing media sets, view content messages associated with the media sets, and select and / or curate content messages to be included in one or more media sets. For example, the client device 110 can cause an interface to be displayed on the client device 110, such as Figure 7A the interface 700 shown in. Some examples of identification information 702 can include the name, username, mobile phone number, and email of the user 106. Other identification information 702 can include a home address, a work address, an alternate email address, an alternate phone number, etc. In some example embodiments, the interface 700 can also allow the user 106 to set an on or off 704 notification sound, manage additional services 706, specify who can send content messages 708 to the user 106, view one or more of his own media sets 710, and obtain help or support 712.
[0092] Then, user 106 can submit identification information 702 (along with any other information) to establish his account. Client device 110 can receive the identification information 702 from user 106 and send the identification information 702 to server system 120 to establish the account. Server system 120 can receive the identification information 702 and verify the identification information 702 (e.g., confirm that there is no existing account with the same information, ensure that the information is legal, etc.). Once server system 120 has confirmed that the account can be established, server system 120 can create a new account and store the identification information 702 associated with the account in one or more databases 126. Server system 120 can send a notification to client device 110 that the account has been established. Client device 110 can display a message to user 106 that the account has been established.
[0093] The application 114 on client device 110 can provide mechanisms for user 106 to manage various aspects of his account. For example, client device 110 can display an interface 715 as shown in Figure 7B . User 106 can be able to manage filters 717 (e.g., media overlays), manage camera settings for image capture (such as front flash 719), and other features (such as replay 721, special text 723, power saving mode 725, best friend's number 729, etc.).
[0094] Interface 715 can further allow user 106 to create a new personal media set 727. User 106 can select an option to create a new personal media set (e.g., press or slide a menu item 727). Client device 110 can detect that user 106 has selected to create a new personal media set and request or allow user 106 to input various parameters associated with the media set.
[0095] One parameter can be the name of the personal media set. For example, client device 110 can display an interface such as interface 730 shown in Figure 7C to request the name of media set 732.
[0096] User 106 can be able to input additional parameters for the media set, as shown in Figure 7D . For example, client device 110 can display an interface such as interface 740 to request additional parameters from user 106 and allow user 106 to input additional information associated with an example media set 742 titled "Anchor Splash 2K15". The additional parameters can include selecting a thumbnail 744 to associate with the media set (e.g., a custom thumbnail created by user 106, or a default composition of images in the media set, etc.).
[0097] Another parameter may include setting a boundary or geofence to indicate the area within which the user must be located to submit a content message for a media set or within which the user must be located to view a media set. Application 114 may include a predefined maximum geofence or boundary size. If user 106 wants to increase the maximum boundary size, user 106 may need to pay an additional fee for this, as Figure 7E shown in interface 750 in Figure 7F . 7G and as shown in interface 760 in
[0098] Return Figure 7D , another parameter may be the lifespan length of the media set (e.g., the duration of an event, 6 hours, 24 hours, 1 day, 1 week, etc.). There may be options presented to user 106 to increase the length 748 of the lifespan of the media set from a predefined amount of time (e.g., 6 hours, the duration of the event, etc.). In one example embodiment, if user 106 wishes to increase the length of a story to a length longer than the predefined amount of time, user 106 may need to pay an additional fee.
[0099] User 106 may also be able to specify one or more audience members. The audience members may be users 106 who have permission to view the media set. User 106 may also be able to specify a maximum audience size 749 for sharing the media set. In one example embodiment, there may be a predefined maximum size, and user 106 may need to pay an additional fee to increase the audience size to greater than the predefined maximum size. The audience may be users 106 located within the geofence associated with the media set, or users 106 in the general public who follow the media set. For example, user 106 may specify whether the media set is public or private. If user 106 specifies that the media set is public, then anyone can view the media set. If user 106 specifies that the media set is private, then the audience is restricted to a group or user 106 within a specific geofence.
[0100] User 106 may also be able to specify one or more contributors. The contributors may be users 106 who have permission to publish or submit content items or content messages to be included in the media set. In one example embodiment, the contributor may need to be within the geofence associated with the media set to publish or submit a content item or content message to be included in the media set. For example, if user 106 is within the geofence of the media set, then the option to send a content message to be included in the media set may only be given to user 106.
[0101] Once user 106 inputs the parameters of a media set, he can submit information to activate the media set (e.g., via the "Activate Media Set" button 741) or can save the information (e.g., via the "Save" button 743).
[0102] Figure 8 is a flowchart showing aspects of a method 800 according to some example embodiments. For illustrative purposes, method 800 is described for a Figure 1 networked system 100. It should be understood that in other embodiments, method 800 may be implemented with other system configurations.
[0103] In operation 802, the client device 110 (e.g., a first computing device) may receive a request from user 106 to activate a new media set. As described above, the request may include one or more parameters. For example, the request may include the name of the media set, a geofence associated with the media set, one or more contributors, one or more audience members, a maximum audience size, a thumbnail, the lifespan length of the media set, etc.
[0104] In operation 804, the client device 110 may send the request to a server computer (e.g., at server system 120) to activate the new media set. The server computer may receive and evaluate the request and information and create the new media set and store the associated information in one or more databases 126. The server computer may generate a message (e.g., a confirmation) indicating that the new media set has been created and send it to the client device 110. As shown in operation 806, the client device 110 may receive a confirmation that the new media set has been activated from the server computer.
[0105] The server computer may receive multiple content messages from multiple content sources (e.g., via user 106 of client device 110). The content messages may include media content (e.g., images, videos, audio, etc.) and may be associated with one or more media sets, as explained above. For each content message among the multiple content messages received by the server system 120 (e.g., by content processing server 124), the content processing server 124 may associate the content in the content message with one or more predetermined media sets, also as described above. The content processing server 124 may store the content messages associated with one or more media sets, and / or may forward the content messages associated with the appropriate client device 110.
[0106] The client device 110 can receive multiple content messages associated with a new media set, as shown in operation 808. The multiple content messages can be received from multiple users 106, as explained above. The client device 110 can display the multiple content messages to the user 106, and the user 106 can be able to select one or more content messages to include in the media set. For example, the user 106 can select a subset or all of the content messages. In operation 810, the client device 110 can receive from the user 106 a selection of the multiple content messages to include in the new media set.
[0107] In operation 812, the client device 110 can send an indication of the selection of the content messages to include in the new media set to the server computer. The server computer can store the selection of the media set and cause the selection of the content messages to be included in the new media set, and be displayed in response to a request from at least a second client device 110 (e.g., a second computing device) to view the media set. For example, an audience member (e.g., the user 106 or another user 106) can view the media set (e.g., the selection of the multiple content messages) on his client device 110. For example, the audience member can be within the geofence of the media set, or can enter a unique identifier (e.g., a username) or scan a code (e.g., a QR code, a barcode, etc.) to follow / view the media set. In another example, after the server determines that a second user associated with the second computing device is part of a predefined audience, the server computer can cause the new media set to be displayed in response to a request from at least the second computing device.
[0108] Figure 9 FIG. 900 is a block diagram showing the architecture of software 902 that can be installed on any one or more of the above devices. For example, in various embodiments, the client device 110, the operator device 130, the server system 120, and the web server 122, and the content processing server 124 can implement some or all of the elements of the software architecture 902. Figure 9 This is merely a non-limiting example of a software architecture, and it will be understood that many other architectures can be implemented to facilitate the functions described herein. In various embodiments, the software architecture 902 is implemented by hardware of a machine 1000 such as Figure 10 The machine 1000 includes a processor 1010, a memory 1030, and I / O components 1050. In this example architecture, the software architecture 902 can be conceptually regarded as a stack of layers, where each layer can provide a specific function. For example, the software architecture 902 includes layers such as an operating system 904, libraries 906, frameworks 908, and applications 910. Operationally, consistent with some embodiments, the application 910 makes application programming interface (API) calls 912 through the software stack and receives messages 914 in response to the API calls 912.
[0109] In various embodiments, the operating system 904 manages hardware resources and provides common services. The operating system 904 includes, for example, a kernel 920, services 922, and drivers 924. Consistent with some embodiments, the kernel 920 serves as an abstraction layer between the hardware and other software layers. For example, the kernel 920 provides functions such as memory management, processor management (e.g., scheduling), component management, network connectivity, and security settings. The services 922 may provide other common services for other software layers. According to some embodiments, the drivers 924 are responsible for controlling or interfacing with the underlying hardware. For example, the drivers 924 may include a display driver, a camera driver, or low-power a flash drive, a serial communication driver (e.g., a Universal Serial Bus (USB) driver), a driver, an audio driver, a power management driver, and the like.
[0110] In some embodiments, the library 906 provides a low-level common infrastructure utilized by the applications 910. The library 906 may include a system library 930 (e.g., the C standard library), which may provide functions such as memory allocation functions, string manipulation functions, mathematical functions, and the like. Additionally, the library 906 may include an API library 932, such as a media library (e.g., a library that supports the presentation and manipulation of various media formats (such as Moving Picture Experts Group-4 (MPEG4), High Efficiency Video Coding (H.264 or AVC), Moving Picture Experts Group-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR) audio codec, Joint Photographic Experts Group (JPEG or JPG), or Portable Network Graphics (PNG))), a graphics library (e.g., the OpenGL framework for presenting two-dimensional (2D) and three-dimensional (3D) graphics content on a display), a database library (e.g., SQLite that provides various relational database functions), a web library (e.g., WebKit that provides web browsing functionality), and the like. The library 906 may also include a variety of other libraries 934 to provide many other APIs to the applications 910.
[0111] According to some embodiments, the framework 908 provides a high-level common architecture that can be utilized by the applications 910. For example, the framework 908 provides various Graphical User Interface (GUI) functions, high-level resource management, high-level location nodes, and the like. The framework 908 may provide a wide range of other APIs that can be utilized by the applications 910, some of which may be specific to a particular operating system 904 or platform.
[0112] In an example embodiment, the applications 910 include a home page application 950, a contacts application 952, a browser application 954, a book reader application 956, a location application 958, a media application 960, a messaging application 962, a gaming application 964, and other widely classified applications such as third-party applications 966. According to some embodiments, the applications 910 are programs that execute functions defined in a program. One or more applications 910 can be created using various programming languages and structured in various ways, such as object-oriented programming languages (e.g., Objective-C, Java, or C++) or procedural programming languages (e.g., C or assembly language). In a specific example, the third-party application 966 (e.g., an application 910 developed using the ANDROID TM or IOS TM software development kit (SDK) by an entity other than the vendor of a particular platform) can be mobile software that runs on a mobile operating system such as IOS TM 、ANDROID TM 、 Phone or other mobile operating systems). In this example, the third-party application 966 can call the API calls 912 provided by the operating system 904 to facilitate the execution of the functions described herein.
[0113] Some embodiments can particularly include a curation application 967. In certain embodiments, this can be a stand-alone application that operates to manage communication with a server system such as the server system 120. In other embodiments, this function can be integrated with another application, such as the media application 960 or another such application. The curation application 967 can use the camera device of the machine 1000 to manage a collection of content, communicate with the server system via the I / O component 1050, and receive and store the received media set in the memory 1030. The presentation of the content and the user input associated with the content can be managed by the curation application 967 using different frameworks 908, library 906 elements, or operating system 904 elements operating on the machine 1000.
[0114] Figure 10 is a block diagram showing the components of a machine 1000 that can read instructions from a machine-readable medium (e.g., a machine-readable storage medium) and execute any one or more of the methods discussed herein. Specifically, Figure 10FIG. 0 shows a schematic diagram of a machine 1000 in the example form of a computer system within which instructions 1016 (e.g., software, program, application 910, applet, application program, or other executable code) can be executed to cause the machine 1000 to perform any one or more of the methods discussed herein. In alternative embodiments, the machine 1000 operates as a stand-alone device or can be coupled (e.g., network-connected) to other machines. In a networked deployment, the machine 1000 can operate in the capacity of a server machine 122, 124 or a client 110, 130 in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 1000 can 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 smartphone, a mobile device, a wearable device (e.g., a smartwatch), a smart home device (e.g., a smart appliance), other smart devices, a network device, a network router, a network switch, a network bridge, or any machine capable of executing the instructions 1016 that specify actions to be taken by the machine 1000, either sequentially or otherwise. Further, although only a single machine 1000 is shown, the term "machine" can also be regarded as including a collection of machines 1000 that individually or jointly execute the instructions 1016 to perform any one or more of the methods discussed herein.
[0115] In various embodiments, the machine 1000 includes a processor 1010, a memory 1030, and I / O components 1050 that can be configured to communicate with each other via a bus 1002. In an example embodiment, the processor 1010 (e.g., 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), another processor, or any suitable combination thereof) includes, for example, a processor 1012 and a processor 1014 that can execute the instructions 1016. The term "processor" is intended to include a multi-core processor 1010 that can include more than two independent processors 1012, 1014 (also referred to as "cores") that can execute the instructions 1016 simultaneously. Although Figure 10 multiple processors 1010 are shown, the machine 1000 can include a single processor 1010 with a single core, a single processor 1010 with multiple cores (e.g., a multi-core processor 1010), multiple processors 1012, 1014 with a single core, multiple processors 1010, 1012 with multiple cores, or any combination thereof.
[0116] According to some embodiments, the memory 1030 includes a main memory 1032, a static memory 1034, and a storage unit 1036 accessible to the processor 1010 via a bus 1002. The storage unit 1036 may include a machine-readable medium 1038 having stored thereon instructions 1016 embodying any one or more of the methods or functions described herein. The instructions 1016 may also reside, completely or at least partially, within at least one of the main memory 1032, the static memory 1034, the processor 1010 (e.g., within a cache of the processor) or any suitable combination during execution thereof by the machine 1000. Accordingly, in various embodiments, the main memory 1032, the static memory 1034, and the processor 1010 are considered to be machine-readable media 1038.
[0117] As used herein, the term "memory" refers to a machine-readable medium 1038 capable of storing data temporarily or permanently and may be considered to include, but not be limited to, random access memory (RAM), read-only memory (ROM), cache, flash memory, and buffer memory. While the machine-readable medium 1038 is shown as a single medium in the exemplary embodiments, the term "machine-readable medium" should be considered to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) capable of storing the instructions 1016. The term "machine-readable medium" may also be regarded as including any medium or combination of media capable of storing or carrying instructions (e.g., instructions 1016) for execution by a machine (e.g., machine 1000) such that the instructions 1016, when executed by one or more processors (e.g., processor 1010) of the machine 1000, cause the machine 1000 to perform any one or more of the methods described herein. Thus, the "machine-readable medium" refers to a single storage device or apparatus, as well as a "cloud-based" storage system or storage network including multiple storage devices or apparatuses. Accordingly, the term "machine-readable medium" may be considered to include, but not be limited to, one or more data repositories in the form of solid-state memory (e.g., flash memory), optical media, magnetic media, other non-volatile memory (e.g., erasable programmable read-only memory (EPROM)), or any suitable combination thereof. The term "machine-readable medium" encompasses non-statutory signals.
[0118] The I / O components 1050 include a variety of components for receiving input, providing output, generating output, transmitting information, exchanging information, taking measurements, and so forth. In general, it is understood that the I / O components 1050 may include Figure 10Many other components not shown. The I / O components 1050 are grouped according to function only for the sake of simplifying the following discussion, and the grouping is in no way restrictive. In various example embodiments, the I / O components 1050 include output components 1052 and input components 1054. The output components 1052 include visual components (e.g., a display such as a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), auditory components (e.g., speakers), tactile components (e.g., a vibration motor), other signal generators, and the like. The input components 1054 include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, an optoelectronic keyboard, or other alphanumeric input components), point-based input components (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or other pointing instruments), haptic input components (e.g., physical buttons, a touch screen that provides the location and force of a touch or touch gesture, or other tactile input components), audio input components (e.g., a microphone), and the like.
[0119] In some additional example embodiments, the I / O components 1050 include biometric components 1056, motion components 1058, environmental components 1060, or location components 1062 among various other components. For example, the biometric components 1056 include components that detect expressions (e.g., hand expressions, facial expressions, vocal expressions, body postures, or eye tracking), measure biometric signals (e.g., blood pressure, heart rate, body temperature, sweat, or brain waves), identify people (e.g., voice recognition, retina recognition, face recognition, fingerprint recognition, or electroencephalogram-based recognition), and the like. The motion components 1058 include acceleration sensor components (e.g., an accelerometer), gravity sensor components, rotational sensor components (e.g., a gyroscope), and the like. The environmental components 1060 include, for example, lighting sensor components (e.g., a photometer), temperature sensor components (e.g., one or more thermometers that detect ambient temperature), humidity sensor components, pressure sensor components (e.g., a barometer), acoustic sensor components (e.g., one or more microphones that detect background noise), proximity sensor components (e.g., an infrared sensor that detects nearby objects), gas sensor components (e.g., a machine olfactory detection sensor, a gas detection sensor for detecting the concentration of a hazardous gas for safety or measuring pollutants in the atmosphere), or other components that may provide an indication, measurement, or signal corresponding to the surrounding physical environment. The location components 1062 include location sensor components (e.g., a global positioning system (GPS) receiver component), altitude sensor components (e.g., an altimeter or a barometer that can detect the air pressure from which an altitude can be derived), orientation sensor components (e.g., a magnetometer), and the like.
[0120] Communication can be implemented using a variety of technologies. The I / O component 1050 can include a communication component 1064 that is operable to couple the machine 1000 to the network 1080 or the device 1070 via the coupler 1082 and the coupler 1072, respectively. For example, the communication component 1064 includes a network interface component or another suitable device that interfaces with the network 1080. In another example, the communication component 1064 includes a wired communication component, a wireless communication component, a cellular communication component, a near field communication (NFC) component, components (e.g., low power ), components, and other communication components that provide communication via other modes. The device 1070 can be any one of another machine 1000 or a variety of peripheral devices (e.g., peripheral devices coupled via a universal serial bus (USB)).
[0121] In addition, in some embodiments, the communication component 1064 detects an identifier or includes a component operable to detect an identifier. For example, the communication component 1064 includes 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 a universal product code (UPC) barcode, multi-dimensional barcodes such as a quick response (QR) code, Aztec code, data matrix, digital graphic, maxi code, PDF417, hypercode, unified commerce code reduced space symbol (UCC RSS)-2D barcode, and other optical codes), an acoustic detection component (e.g., a microphone for identifying an audio signal of a tag), or any suitable combination thereof. In addition, various information such as a location via Internet protocol (IP) geolocation, a location via signal triangulation, a location via detecting or an NFC beacon signal, etc. can be derived via the communication component 1064 that can indicate a specific location.
[0122] In various example embodiments, one or more portions of the network 1080 can be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), the Internet, a portion of the Internet, a portion 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, network 1080 or a portion of network 1080 may include a wireless or cellular network, and coupling 1080 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, coupling 1082 may implement any one of a variety of data transmission technologies, such as Single-Carrier Radio Transmission Technology (1xRTT), Evolution-Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, GSM Enhanced Data Rates for GSM Evolution (EDGE) technology, 3rd Generation Partnership Project (3GPP) including 3G, Fourth Generation Wireless (4G) network, Universal Mobile Telecommunications System (UMTS), High-Speed Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiMAX), Long Term Evolution (LTE) standard, other standards defined by various standards-setting organizations, other remote protocols, or other data transmission technologies.
[0123] In an example embodiment, instructions 1016 are sent or received via network 1080 using a transmission medium (e.g., a network interface component included in communication component 1064) via a network interface device, and any one of a plurality of well-known transmission protocols (e.g., Hypertext Transfer Protocol (HTTP)) is utilized. Similarly, in other example embodiments, instructions 1016 are sent or received to or from device 1070 via coupling 1072 (e.g., a peer-to-peer coupling) using a transmission medium. The term "transmission medium" may be regarded as including any non-transitory medium that is capable of storing, encoding, or carrying instructions 1016 executed by machine 1000, and includes digital or analog communication signals or other non-transitory media for facilitating the communication implementation of such software.
[0124] Furthermore, machine-readable medium 1038 can be transient (in other words, having a transient signal) because it can implement a propagation signal or a transient medium carrying a signal or instructions. The fact that machine-readable medium 1038 is marked as "non-transitory" should not be construed to mean that the medium cannot move; medium 1038 should be considered to be capable of being transferred from one physical location to another physical location. Additionally, since machine-readable medium 1038 is tangible, medium 1038 can be regarded as a machine-readable device.
[0125] The following numbered examples include embodiments.
[0126] 1. A method, comprising:
[0127] receiving, at a server computer, a plurality of content messages from a plurality of content sources, each content message including media content;
[0128] for each content message of the plurality of received content messages:
[0129] Associate media content with a predetermined media set; and
[0130] Store the content message in a database;
[0131] Cause a plurality of content messages to be displayed on an operator device having other content messages associated with the media set;
[0132] Determine that a predetermined trigger associated with the media set has been activated;
[0133] Update the identifier of the media set from a first indicator to a second indicator indicating an action to be taken on the media set; and
[0134] Cause the updated identifier with the second indicator to be displayed on the operator device.
[0135] 2. The method according to Example 1, wherein the plurality of content messages are sent by a plurality of individual users.
[0136] 3. The method according to Example 1 or Example 2, wherein the media content includes at least one of a combination including: photos, videos, and audio.
[0137] 4. The method according to any one of Examples 1 to 3, wherein the predetermined media set is associated with a geographical location, an event, a theme, or a common user interest.
[0138] 5. The method according to any one of Examples 1 to 4, wherein the media set includes media content from a plurality of individual users.
[0139] 6. The method according to any one of Examples 1 to 5, wherein the identifier of the media set includes at least one of a combination including: the theme of the media set, the number of content items to be reviewed in the media set, the time when the operator last viewed the media set, the color associated with the first indication, and the color associated with the second indication.
[0140] 7. The method according to any one of Examples 1 to 6, further comprising:
[0141] Receiving a selection of content to be included in the media set from the operator device; and
[0142] Including the selection of content in the media set.
[0143] 8. The method according to Example 7, further comprising:
[0144] Receiving a request for the media set from a client device; and
[0145] Providing the media set in response to the request, wherein the media set is displayed on the client device.
[0146] 9. The method according to any one of Examples 1 to 8, wherein the trigger comprises a predetermined amount of time that has elapsed since media content associated with the media set was viewed on the operator device.
[0147] 10. The method according to any one of Examples 1 to 9, wherein the trigger comprises a predetermined number of content messages that have not been viewed on the operator device.
[0148] 11. The method according to any one of Examples 1 to 10, wherein the trigger comprises a predetermined amount of time that has elapsed since any media content associated with the media set was pushed in real time for the user to view.
[0149] 12. A server computer, comprising:
[0150] a processor; and
[0151] a computer-readable medium coupled to the processor, the computer-readable medium comprising instructions stored thereon that are executable by the processor to cause the computing device to:
[0152] receive a plurality of content messages from a plurality of content sources, each content message comprising media content;
[0153] for each of the plurality of received content messages:
[0154] associate the media content with a predetermined media set; and
[0155] store the content message in a database;
[0156] cause the plurality of content messages to be displayed on an operator device having other content messages associated with the media set;
[0157] determine that a predetermined trigger associated with the media set has been activated;
[0158] update the identifier of the media set from a first indicator to a second indicator indicating an action to be taken on the media set; and
[0159] cause the updated identifier with the second indicator to be displayed on the operator device.
[0160] 13. The server computer according to Example 12, wherein the predetermined media set is associated with a geographical location, an event, a topic, or a common user interest.
[0161] 14. The server computer according to Example 12 or Example 13, wherein the media set comprises media content from a plurality of individual users.
[0162] 15. The server computer according to any one of Examples 12 to 14, wherein the computer-readable medium further comprises instructions stored thereon that are executable by a processor to cause the computing device to:
[0163] Receive a selection of content to be included in a media set from an operator device; and
[0164] Include the selection of content in the media set.
[0165] 16. The server computer according to Example 15, wherein the computer-readable medium further comprises instructions stored thereon that are executable by a processor to cause the computing device to:
[0166] Receive a request for the media set from a client device; and
[0167] Provide the media set in response to the request, wherein the media set is displayed on the client device.
[0168] 17. The server computer according to any one of Examples 12 to 16, wherein the trigger comprises a predetermined amount of time that has elapsed since media content associated with the media set was viewed on the operator device.
[0169] 18. The server computer according to any one of Examples 12 to 17, wherein the trigger comprises a predetermined number of content messages that have not been viewed on the operator device.
[0170] 19. The server computer according to any one of Examples 12 to 18, wherein the trigger comprises a predetermined amount of time that has elapsed since any media content associated with the media set was pushed in real time for the user to view.
[0171] 20. A computer-readable medium comprising instructions stored thereon that are executable by at least one processor to cause a computing device to:
[0172] Receive a plurality of content messages from a plurality of content sources, each content message comprising media content;
[0173] For each content message of the plurality of received content messages:
[0174] Associate the media content with a predetermined media set; and
[0175] Store the content message in a database;
[0176] Cause the plurality of content messages to be displayed on an operator device having other content messages associated with the media set;
[0177] Determine that a predetermined trigger associated with the media set has been activated;
[0178] Updating an identifier of a media set from a first indicator to a second indicator that indicates an action to be taken on the media set; and
[0179] Causing an updated identifier with the second indicator to be displayed on an operator device.
[0180] 21. A computer-readable medium carrying instructions that, when executed by at least one processor, cause a computing device to perform the method according to any one of claims 1 to 11.
[0181] The following numbered examples include additional embodiments.
[0182] 1. A method, comprising:
[0183] Receiving, at a first computing device, a request from a user to activate a new media set;
[0184] Sending, by the first computing device, a request to a server computer to activate the new media set;
[0185] Receiving, by the first computing device, confirmation that the new media set has been activated;
[0186] Receiving, at the first computing device, a plurality of content messages associated with the new media set;
[0187] Receiving, at the first computing device, from the user a selection of a plurality of the content messages to be included in the new media set;
[0188] Sending an indication of the selection of the content messages to be included in the new media set to the server computer; and
[0189] Wherein the server computer causes the selection of the content messages to be included in the new media set and to be displayed in response to a request to view the new media set from at least a second computing device.
[0190] 2. The method according to example 1, wherein the plurality of content messages are received from a plurality of users.
[0191] 3. The method according to example 1 or example 2, wherein the selection of the plurality of content messages to be included in the new media set is a subset of the plurality of content messages.
[0192] 4. The method according to any one of examples 1 to 3, wherein the request to activate the new media set includes a name of the new media set and a geofence of the new media set.
[0193] 5. The method according to example 4, wherein only users within the geofence will be given the option to send content messages to be included in the new media set.
[0194] 6. A method according to Example 4 or Example 5, wherein the request to activate the new media set includes at least one contributor, and wherein at least one contributor is a user located within the geofence of the new media set.
[0195] 7. A method according to any one of Examples 1 to 6, wherein the request to activate the new media set includes at least one contributor, and wherein at least one contributor is a user having permission to send content messages to be included in the new media set.
[0196] 8. A method according to any one of Examples 1 to 7, wherein the request to activate the new media set includes at least one audience member, and wherein at least one audience member is a user having permission to view the new media set.
[0197] 9. A method according to any one of Examples 1 to 8, wherein the user is a first user, and wherein the server computer displays the new media set after determining that a second user associated with the at least second computing device is part of a predefined audience in response to a request from the at least second computing device.
[0198] 10. A method according to any one of Examples 1 to 9, wherein the request to activate the new media set includes a request to increase the boundary of the geofence of the new media set to a boundary greater than a predefined maximum boundary.
[0199] 11. An apparatus, comprising:
[0200] a processor; and
[0201] a computer-readable medium coupled to the processor, the computer-readable medium including instructions stored thereon, the instructions executable by the processor to cause the computing device to:
[0202] receive a request from a user to activate a new media set;
[0203] send the request to a server computer to activate the new media set;
[0204] receive confirmation that the new media set has been activated;
[0205] receive a plurality of content messages associated with the new media set;
[0206] receive a selection from the user of a plurality of the content messages to be included in the new media set;
[0207] send an indication of the selection of the content messages to be included in the new media set to the server computer; and
[0208] wherein the server computer causes the selection of the content messages to be included in the new media set and to be displayed in response to a request to view the new media set from at least a second computing device.
[0209] 12. The apparatus according to Example 11, wherein a plurality of content messages are received from a plurality of users.
[0210] 13. The apparatus according to Example 11 or Example 12, wherein the selection of the plurality of content messages to be included in the new media set is a subset of the plurality of content messages.
[0211] 14. The apparatus according to any one of Examples 11 to 13, wherein the request to activate the new media set includes the name of the new media set and a geofence of the new media set.
[0212] 15. The apparatus according to Example 14, wherein only users within the geofence will be given the option to send content messages to be included in the new media set.
[0213] 16. The apparatus according to Example 14 or Example 15, wherein the request to activate the new media set includes at least one contributor, and wherein at least one contributor is a user located within the geofence of the new media set.
[0214] 17. The apparatus according to any one of Examples 11 to 16, wherein the request to activate the new media set includes at least one contributor, and wherein at least one contributor is a user having permission to send content messages to be included in the new media set.
[0215] 18. The apparatus according to any one of Examples 11 to 17, wherein the request to activate the new media set includes at least one audience member, and wherein at least one audience member is a user having permission to view the new media set.
[0216] 19. The apparatus according to any one of Examples 11 to 18, wherein the user is a first user, and wherein the server computer displays the new media set after determining that a second user associated with a second computing device is part of a predefined audience in response to a request from at least the second computing device.
[0217] 20. A computer-readable medium comprising instructions stored thereon that are executable by at least one processor to cause a computing device to:
[0218] Receive a request from a user to activate a new media set;
[0219] Send the request to a server computer to activate the new media set;
[0220] Receive confirmation that the new media set has been activated;
[0221] Receive a plurality of content messages associated with the new media set;
[0222] Receive from the user a selection of the plurality of content messages to be included in the new media set;
[0223] Send an indication of a selection of content messages to be included in a new media set to a server computer; and
[0224] wherein the server computer causes the selection of content messages to be included in the new media set and to be displayed in response to a request to view the new media set from at least a second computing device.
[0225] 21. A computer-readable medium carrying instructions that, when executed by at least one processor, cause a computing device to perform the method of any one of Examples 1 to 10.
[0226] Throughout the specification, multiple instances may implement components, operations, or structures described as a single instance. Although the separate operations of one or more methods are shown and described as separate operations, one or more of the separate operations may be performed concurrently, and the operations need not be performed in the order shown. Structures and functions presented as separate components in an example configuration may be implemented as a combined structure or component. Similarly, structures and functions presented as a single component may be implemented as separate multiple components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.
[0227] While the subject matter of the present invention has been described with reference to specific example embodiments, various modifications and changes can be made to these embodiments without departing from the broader scope of the disclosed embodiments. Such embodiments of the subject matter of the present invention may herein be referred to individually or collectively by the term "invention," solely for convenience, and are not intended to limit the scope of the present application to any single disclosure or inventive concept if more than one is in fact disclosed.
[0228] The embodiments shown herein are described in sufficient detail to enable those skilled in the art to practice the disclosed teachings. Other embodiments may be used and derived therefrom, such that structural and logical substitutions and changes can be made without departing from the scope of the present disclosure. Accordingly, the detailed description should not be considered limiting, and the scope of various embodiments is defined only by the appended claims and the full scope of equivalents given by those claims.
[0229] As used herein, the term "or" may be interpreted in an inclusive or exclusive manner. In addition, multiple instances may be provided for resources, operations, or structures described herein as a single instance. Further, the boundaries between various resources, operations, modules, engines, and data stores are somewhat arbitrary and particular operations are illustrated in the context of a particular illustrative configuration. Other allocations of functionality are envisioned and these other allocations may fall within the scope of various embodiments of the present disclosure. Generally, structures and functionality presented as separate resources in example configurations may be implemented as a combined structure or resource. Similarly, structures and functionality presented as a single resource may be implemented as separate resources. These and other variations, modifications, additions, and improvements fall within the scope of the embodiments of the present disclosure as expressed by the appended claims. Accordingly, the specification and drawings are to be regarded as illustrative rather than restrictive.
Claims
1. A method for generating, curating, and presenting a media collection, comprising: Receive a request from a user at a first computing device to activate a new media set, the new media set being accessible only within a predetermined time window and including a default geographical boundary size of the origin of the media content of the new media set; Receive, at the first computing device, an input to decrease or increase the default geographical boundary size of the origin of the media content of the new media set; Send, by the first computing device, a request to activate the new media set to a server computer, the request including the input to decrease or increase the default geographical boundary size of the origin of the media content; Receive, at the first computing device, confirmation of activation of the new media set for a decrease or increase in the geographical boundary size of the origin of the media content; Cause a plurality of content messages including media content from the decreased or increased geographical boundary size to be included in the new media set and displayed in response to a request from at least a second computing device to view the new media set based on determining that the request occurs within the predetermined time window in which the new media set is accessible; 2. The method according to claim 1, wherein, The new media set is no longer accessible after the predetermined time window; 3. The method according to claim 1, further comprising: Receive, from one or more computing devices, a plurality of content messages originating from the decreased or increased geographical boundary size and associated with the new media set for selection to be included in the new media set, the content messages including photos and videos; Cause the plurality of content messages including photos and videos to be displayed for selection to be included in the new media set; Receive a selected subset of the plurality of displayed content messages to be included in the new media set; Send an indication of the selected subset of the plurality of content messages to be included in the new media set to a server computer; wherein the server computer causes the selected subset of the plurality of content messages to be included in the new media set.
4. The method according to claim 3, wherein, The selected subset of the plurality of content messages to be included in the new media set includes at least one content message from the second computing device.
5. The method according to claim 1, wherein, Only users within a geofence associated with the geographical boundary size will be given the option to send content messages to be included in the new media set.
6. The method according to claim 5, wherein, The request to activate the new media set includes at least one contributor, and wherein the at least one contributor is a user located within the geofence of the new media set.
7. The method according to claim 1, wherein, The request to activate the new media set includes at least one contributor, and wherein the at least one contributor is a user having permission to send content messages to be included in the new media set.
8. The method according to claim 1, wherein, The request to activate the new media set includes at least one audience member, and wherein the at least one audience member is a user having permission to view the new media set.
9. The method according to claim 1, further comprising: Receive a specified maximum audience that can share the new media set; wherein the maximum audience includes users located within a geofence associated with the new media set and users located outside the geofence associated with the new media set.
10. An apparatus for generating, curating, and presenting a media collection, comprising: A memory that stores instructions; At least one hardware processor configured by the instructions to perform operations, the operations including: Receive a request from a user to activate a new media set, the new media set being accessible only within a predetermined time window and including a default geographic boundary size of the origin of the media content of the new media set; Receive an input to decrease or increase the default geographic boundary size of the origin of the media content of the new media set; Send a request to the server computer to activate the new media set, the request including the input to decrease or increase the default geographic boundary size of the origin of the media content; Receive confirmation of the activation of the new media set for a decrease or increase in the geographic boundary size of the origin of the media content; Cause a plurality of content messages including media content from the decreased or increased geographic boundary size to be included in the new media set and displayed in response to a request from at least a second computing device to view the new media set based on determining that the request occurs within an increased predetermined time window during which the new media set is accessible; 11. The apparatus according to claim 10, wherein, The new media set is no longer accessible after the predetermined time window; 12. The apparatus according to claim 10, the operation further comprising: Receive from one or more computing devices a plurality of content messages originating from the decreased or increased geographic boundary size and associated with the new media set for selection to be included in the new media set, the content messages including photos and videos; Cause the plurality of content messages including photos and videos to be displayed for selection to be included in the new media set; Receive a selected subset of the plurality of displayed content messages to be included in the new media set; Send an indication of the selected subset of the plurality of content messages to be included in the new media set to the server computer; Wherein the server computer causes the selected subset of the plurality of content messages to be included in the new media set; 13. The apparatus according to claim 12, wherein, The selected subset of the plurality of content messages to be included in the new media set includes at least one content message from the second computing device; 14. The apparatus according to claim 10, wherein, Only users within a geofence associated with the geographic boundary size will be given the option to send content messages to be included in the new media set; 15. The apparatus according to claim 14, wherein, The request to activate the new media set includes at least one contributor, and wherein the at least one contributor is a user located within the geofence of the new media set; 16. The apparatus according to claim 10, wherein, The request to activate the new media set includes at least one contributor, and wherein the at least one contributor is a user having permission to send content messages to be included in the new media set; 17. The apparatus according to claim 10, wherein, The request to activate the new media set includes at least one audience member, and wherein the at least one audience member is a user having permission to view the new media set; 18. The apparatus according to claim 10, wherein the operation further comprises: Receive a specified maximum audience that can share the new media set; Wherein the maximum audience includes users located within a geofence associated with the new media set and users located outside the geofence associated with the new media set; 19. A non - transitory computer - readable medium comprising instructions stored thereon, the instructions being executable by at least one processor to cause a computing device to perform operations, the operations comprising: Receive a request from a user to activate a new media set, the new media set being accessible only within a predetermined time window and including a default geographic boundary size of the origin of the media content of the new media set; Receive an input to decrease or increase the default geographic boundary size of the origin of the media content of the new media set; Send a request to the server computer to activate the new media set, which includes the input for reducing or increasing the size of the default geographical boundary from which the media content originates; Receive confirmation for activating the new media set for reducing or increasing the geographical boundary size of the media content origin; Cause a plurality of content messages including media content originating from the reduced or increased geographical boundary size to be included in the new media set and displayed in response to a request from at least a second computing device to view the new media set based on determining that the request occurs within an increased predetermined time window during which the new media set is accessible.
20. The computer - readable medium according to claim 19, wherein the operation further comprises: Receive, from one or more computing devices, a plurality of content messages originating from the reduced or increased geographical boundary size and associated with the new media set for selection to be included in the new media set, the content messages including photos and videos; Cause the plurality of content messages including photos and videos to be displayed for selection to be included in the new media set; Receive a selected subset of the plurality of displayed content messages to be included in the new media set; Send an indication of the selected subset of the plurality of content messages to be included in the new media set to the server computer; wherein the server computer causes the selected subset of the plurality of content messages to be included in the new media set.
Citation Information
Patent Citations
A geography fence based on geography mark media
CN102930107A
Geographic location based licensing system
CN1954543A