DATA PROCESSING SYSTEM FOR MANAGING ACTIVITIES LINKED TO MULTIMEDIA CONTENT
An activity management system is configured to allow users to access multimedia content where the multimedia content is divided into segments. While a user is viewing or interacting with the multimedia content, the user can submit one or more activities (e.g., comments, questions, replies, or reactions) using an interface. The system is operable to electronically link the activity provided by the user with the particular segment of multimedia content in which the activity was captured by the system. The system is also configured to curate activities that are displayed to a user for any given segment based on (1) viewers linked to the user (e.g., groups, social media groups, etc.), (2) viewers that influence the user, (3) a threshold number of activities set by the viewer or the system; (4) group membership of either the viewer or the user; etc.
Latest Understory, LLC Patents:
- DATA PROCESSING SYSTEM FOR MANAGING ACTIVITIES LINKED TO MULTIMEDIA CONTENT
- Data processing system for managing activities linked to multimedia content
- Data processing system for managing activities linked to multimedia content
- DATA PROCESSING SYSTEM FOR MANAGING ACTIVITIES LINKED TO MULTIMEDIA CONTENT
- Data processing system for managing activities linked to multimedia content
This application is a continuation of U.S. patent application Ser. No. 16/706,568, filed Dec. 6, 2019, which claims priority from U.S. Provisional Patent Application Ser. No. 62/776,762, filed Dec. 7, 2018, and is also a continuation-in-part of U.S. patent application Ser. No. 16/557,601, filed Aug. 30, 2019, which is a continuation-in-part of U.S. patent application Ser. No. 15/988,878, filed May 24, 2018, now U.S. Pat. No. 10,402,918, issued Sep. 3, 2019, which is a continuation of U.S. patent application Ser. No. 15/785,002, filed Oct. 16, 2017, now U.S. Pat. No. 9,984,426, issued May 29, 2018, which is a continuation of U.S. patent application Ser. No. 15/619,481, filed Jun. 10, 2017, now U.S. Pat. No. 9,852,480, issued Dec. 26, 2017, which claims priority to U.S. Provisional Patent Application Ser. No. 62/448,674, filed Jan. 20, 2017 and U.S. Provisional Patent Application Ser. No. 62/348,555, filed Jun. 10, 2016. The disclosures of all of the above patents and patent applications are hereby incorporated herein by reference in their entirety.
BACKGROUNDCreators of content and consumers of the content (e.g., lessons, video, presentations, news articles, questionnaires, etc.) may desire better ways to collaborate with other content creators and consumers. Content creators may further desire to receive more detailed feedback from consumers of their content in order to improve the content. Accordingly, there is a need for improved systems and methods that address these and other desires.
SUMMARYIn various embodiments, a computer-implemented data processing method for electronically curating and mapping one or more user activities to a respective segment of a piece of media content and electronically displaying the one or more activities in association with the respective segment of the piece of media content, the method comprising: (1) identifying, by one or more processors, a plurality of segments that make up the piece of media content; (2) electronically receiving, by one or more processors, a plurality of activities associated with the piece of media content from a plurality of different users; (3) processing each of the plurality of activities, by one or more processors, by: (A) digitally storing each of the plurality of activities in memory; (B) mapping each of the plurality of activities to a respective segment of the plurality of segments based at least in part on each of the plurality of activities; (C) identifying a respective group identifier for each of the plurality of activities, the group identifier indicating a respective group from a plurality of groups to which each of the plurality of different users belongs; and (D) electronically associating each of the plurality of activities, the respective segment, the respective group identifier, and the piece of media content in memory; (4) evaluating activity information, by one or more processors, for each of the plurality of activities to determine a curation score for each of the one or more activities; (5) automatically selecting, by one or more processors, a first portion of the plurality of activities associated with at least a particular segment of the plurality of segments; and (6) displaying, by one or more processors, on at least one computing device, the first portion of the plurality of activities in association with the at least the particular segment to at least one member of a second group.
In any embodiment described herein, the computer-implemented data processing method may, for example, (1) further comprise generating a respective sentiment value for each of the plurality of activities; and (2) evaluate the activity information for each of the plurality of activities to determine the curation score for each of the one or more activities comprises determining the curation score based at least in part on the respective sentiment value. In any embodiment described herein, the computer-implemented data processing method may, for example, include a plurality of segments that is defined by a plurality of distinct time segments that make up the piece of media content. In any embodiment described herein, the plurality of distinct time segments comprise a plurality of time slice segments and/or a plurality of discrete times.
In any embodiment described herein, evaluating the activity information to determine the curation score for each of the one or more activities may comprise determining the curation score based at least in part on the respective group identifier for each of the plurality of activities. In still other embodiments, the plurality of activities may include, for example: (1) one or more free-form text comments; (2) one or more video comments; (3) one or more text comments; and (4) one or more predefined comments.
In any embodiment described herein, analyzing the activity information to determine the curation score for each of the one or more activities may comprise determining the curation score based at least in part on receiving, from a facilitator of at least one of the plurality of groups, the curation score for a particular activity of the plurality of activities. In such embodiments, the first portion of the plurality of activities may comprise the particular activity.
In particular embodiments, an electronic data processing system for electronically managing a conversation that is linked to one or more segments of multimedia content divided into a plurality of segments, and for electronically analyzing activities that make up the conversation, may comprise: one or more processors; one or more databases coupled to the one or more processors; and a plurality of electronic data records stored in the one or more databases. In any embodiment described herein, the plurality of electronic data records: are linked to one or more segments of multimedia content; corresponds to an activity submitted by a viewer of the multimedia content; comprises an identifier for the multimedia content; comprises an identifier for the viewer who submitted the activity; comprises a group identifier for a group to which the viewer belongs; and comprises one or more data fields.
In any embodiment described herein, the one or more data fields may comprise one or more of: text associated with the activity when the activity is a comment submitted by the viewer; a time stamp for when the activity was initiated; a time stamp for when the activity was submitted; the number of words in the text associated with the activity; a reply count; an activity count; a question flag; an answer flag; an activity type; and an identifier for a related comment. In particular embodiments, the one or more processors may be configured for: determining the type of activity contained in each one of the one or more selected electronic data records; generating a sentiment value for each one of the plurality of electronic data records based on the type of activity associated with the electronic data record; transforming the sentiment value for at least some of the plurality of electronic data records into one or more sentiment scores; analyzing the plurality data records to identify at least one activity stored in a particular electronic data record based at least in part on the one or more sentiment scores; and generating, by the one or more processors, and storing, in computer memory, a new electronic record, where the new electronic record: is linked to one or more segments of multimedia content; corresponds to the at least one activity; comprises the identifier for the multimedia content; comprises the identifier for the viewer who submitted the at least one activity; and comprises a second group identifier for a group to which the viewer does not belong.
In particular embodiments, a computer-implemented data-processing method of providing one or more activities to consumers of a piece of multimedia that are in a particular group based on an activity map comprises: identifying, by one or more activity management servers, a plurality of segments that make up a piece of multimedia; receiving, by the one or more activity management servers, a plurality of activities from one or more users, each particular activity of the plurality of activities being associated with a respective particular segment of the plurality of segments, and each particular user of the one or more users belonging to a respective group of a plurality of groups; and generating, by the one or more activity management servers, an activity map for the piece of multimedia based at least in part on the plurality of segments. In any embodiment described herein, the activity map may indicate: the association between each particular activity of the plurality of activities and the respective particular segment of the plurality of segments; one or more associations between one or more particular activities of the plurality of activities and one or more other activities of the plurality of activities; and the respective group of the plurality of groups to which each of the one or more users that submitted each particular activity belongs.
In still other embodiments, the method may further comprise: receiving, by the one or more activity management servers, one or more additional activities, each particular one of the one or more additional activities being associated with a respective particular segment of the plurality of segments; as the system receives each particular one of the one or more additional activities, substantially continuously updating, by the one or more activity management servers, the activity map to indicate: the association between each particular one of the one or more additional activities and the respective particular segment; one or more associations between the one or more additional activities and the plurality of activities; and the respective group of the plurality of groups to which each of the one or more users that submitted each particular one of the one or more additional activities belongs. In any embodiment described herein, the method may further comprise: providing, by the one or more activity management servers: first data indicating each particular segment of the plurality of segments that is associated with: at least one activity of the plurality of activities; or the one or more additional activities; and second data indicating: the one or more associations between the one or more particular activities of the plurality of activities and the one or more other activities of the plurality of activities; and the one or more associations between the one or more additional activities and the plurality of activities; analyzing activity information for each of the plurality of activities and the one or more additional activities to determine a curation score for each of the one or more activities; automatically selecting, based at least in part on the curation score, a first portion of activities from the plurality of activities and the one or more additional activities based at least in part on the curation score; in response to selecting the first portion of activities, modifying the activity map to indicate: an association between each particular activity of the first portion of activities and the respective particular segment of the plurality of segments; and an association to a particular group other than the respective group of the plurality of groups to which each of the one or more users that submitted each particular activity of the first portion of activities belongs; receiving, by the one or more activity management servers, from a client device, a first request to display one or more activities associated with the piece of multimedia; and in response to receiving the first request: identifying the respective group to which a user of the client device belongs; and providing, by the one or more activity management servers, the plurality of activities for display on the client device along with the piece of multimedia according to the activity map based on the respective group to which the user of the client device belongs.
In any embodiment described herein, a computer-implemented data processing method for electronically managing a conversation that is linked to one or more segments of multimedia content that is divided into a plurality of segments, and for filtering the displayed conversation based on various criteria, comprises the steps of (1) determining, by one or more processors, one or more throttling criteria associated with a first viewer, (2) at least partially in response to determining one or more throttling criteria for the first viewer, identifying, by one or more processors, one or more of the electronic data records that are associated with segments of the multimedia content based at least in part on the one or more filtering criteria, and (3) displaying, by one or more processors, on a display interface the identified one or more of the plurality of activities as a segment of the multimedia content associated with the identified one or more of the plurality of activities is displayed to the first viewer. In various embodiments, the identified one or more of the plurality of activities are activities associated with one or more viewers preselected by the first viewer. In other embodiments, the identified one or more of the plurality of activities are activities associated with one or more viewers that belong to a group to which the first viewer belongs. In still other embodiments, the identified one or more of the plurality of activities are activities associated with one or more viewers that have previously influenced the first viewer. In some embodiments, a viewer previously influences the first viewer when the first viewer previously submitted an activity in response to another viewer's activity. In still other embodiments, the identified one or more of the plurality of activities are activities that contain subject matter that are similar to the subject matter of the first viewers activities that have been previously submitted by the first viewer. In some embodiments, the method further comprises the step of allowing the first viewer to switch to a display view where the first viewer can view all of the activities associated with a particular segment of the multimedia content. In yet other embodiments, filtering the plurality of electronic data records based at least in part on the one or more activity display criteria further comprises limiting the number of activities that are displayed for a particular segment of the multimedia content to a predefined threshold value.
A computer-implemented data processing method for electronically mapping one or more user or activities to a respective segment of a piece of media content and electronically displaying the one or more activities in association with the respective segment of the piece of media content, according to various embodiments, comprises: (1) providing a user interface for submitting the one or more user activities regarding the piece of media content, the one or more user activities comprising a first activity and a second activity; (2) identifying a plurality of segments that make up the piece of media content; (3) electronically receiving, via the user interface, the first activity at a first time; (4) processing the first activity; (5) displaying, at a second time subsequent to the first time the first activity in association with the first segment of the piece of media content; (6) electronically receiving, via the user interface, the second activity at a third time, wherein the third time is subsequent to the first time; (7) processing the second activity; (8) displaying, at a fourth time subsequent to the second time and the third time, the first activity in association with the first segment of the piece of media content and the second activity in association with the second segment of the piece of media content.
In some embodiments, processing the first activity comprises: (1) digitally storing the first activity in memory; (2) mapping the first activity to a first segment of the plurality of segments based at least in part on the first activity; and (3) electronically associating the first activity, the first segment, and the piece of media content in memory. In various other embodiments, processing the second activity comprises: (1) digitally storing the second activity in memory; (2) mapping the second activity to a second segment of the plurality of segments based at least in part on the first activity; and (4) electronically associating the second activity, the second segment, and the piece of media content in memory.
In particular embodiments, the plurality of segments comprise one or more time segments and/or one or more location segments. In some embodiments, the second activity comprises a response and/or a reply to the first activity.
A computer-implemented method of providing one or more activities to subsequent viewers of a piece of multimedia in a time-shifted manner according to an activity map, according to various embodiments comprises: (1) identifying, by one or more activity management servers, a plurality of segments that make up a piece of multimedia; (2) receiving, by the one or more activity management servers, a plurality of activities from one or more users prior to a first time, each particular activity of the plurality of activities being associated with a respective particular segment of the plurality of segments; (3) generating, by the one or more activity management servers, an activity map for the piece of multimedia based at least in part on the plurality of segments. In particular embodiments, the activity map is configured to indicate: (1) the association between each particular activity of the plurality of activities and the respective particular segment of the plurality of segments; and (2) one or more associations between one or more particular activities of the plurality of activities and one or more other activities of the plurality of activities.
In some embodiments, the method further comprises: (1) receiving, by the one or more activity management servers, one or more additional activities at one or more times subsequent to the first time, each particular one of the one or more additional activities being associated with a respective particular segment of the plurality of segments; (2) as the system receives each particular one of the one or more additional activities, substantially continuously updating, by the one or more activity management servers, the activity map to indicate: (A) the association between each particular one of the one or more additional activities and the respective particular segment; and (B) one or more associations between the one or more additional activities and the plurality of activities.
In various embodiments, the method further comprises providing, by the one or more activity management servers: (1) first data indicating each particular segment of the plurality of segments that is associated with at least one activity of the plurality of activities or the one or more additional activities; and (2) second data indicating the one or more associations between the one or more particular activities of the plurality of activities and the one or more other activities of the plurality of activities and the one or more associations between the one or more additional activities and the plurality of activities
In further embodiments, the method further comprises: (1) receiving, at the first time, by the one or more activity management servers, from a client device, a first request to display one or more activities associated with the piece of multimedia; (2) in response to the first request, providing, by the one or more activity management servers, the plurality of activities for display on the client device along with the piece of multimedia according to the activity map; (3) receiving, at a second time subsequent to the first time, by the one or more activity management servers, from a client device, a second request to display the one or more activities associated with the piece of multimedia; and (4) in response to the second request, providing, by the one or more activity management servers, the plurality of activities and the one or more additional activities received prior to the second time for display on the client device along with the piece of multimedia according to the activity map.
A computer-implemented method of facilitating asynchronous conversation between one or more consumers of a plurality of pieces of multimedia, in various embodiments, comprises storing a plurality of activities, each of the plurality of activities being associated, in memory, with a segment identifier identifying a particular segment of a particular one of the plurality of pieces of multimedia; (2) receiving a first activity associated with a first piece of multimedia of the plurality of pieces of multimedia; and (3) performing one or more actions in response to receiving the first activity. In various embodiments, the one or more actions comprise: (1) digitally storing the first activity in memory; (2) mapping the first activity to a first segment of the first piece of multimedia; and (3) electronically associating the first activity, the first segment, and the first piece of multimedia in memory. In some embodiments, the plurality of pieces of multimedia comprise a plurality of pieces of multimedia that are at least partially related to one another. For example, the plurality of pieces of media may comprise a plurality of different types of multimedia that form a single piece of multimedia. In other embodiments, the plurality of pieces of multimedia may make up a particular lesson or course (e.g., online course, class, etc.).
A computer-implemented method of facilitating asynchronous conversation between one or more consumers of multimedia, according to various embodiments, comprises storing a plurality of activities, each of the plurality of activities being associated, in memory, with a segment identifier identifying a particular segment of the multimedia. In some embodiments, the plurality of activities comprise a first activity associated with a first segment of the multimedia. In such embodiments, the method may further comprise: (1) receiving a second activity, the second activity being associated with the first segment and comprising a reply to the first activity; (2) generating one or more alerts; (3) transmitting the one or more alerts to one or more individuals; and (4) enabling the one or more individuals to view the second activity without having to view the multimedia. In various embodiments, the one or more individuals may include, for example: (1) a facilitator of the multimedia; (2) a creator of the multimedia (e.g., a content creator); (3) a user that submitted the first activity; (4) one or more individuals that had previously consumed (e.g., viewed, watched, read, etc.) the multimedia). In various embodiments, the method further comprises enabling the one or more individuals to respond to the second activity without viewing the multimedia.
A computer-implemented data processing method of facilitating a plurality of asynchronous conversations between/among one or more consumers of multimedia and displaying a graphical representation of the plurality of conversations, in various embodiments, comprises: (1) storing a plurality of activities, each of the plurality of activities being associated, in memory, with a particular segment identifier identifying a particular segment of a plurality of segments that make up the multimedia; (2) generating a graphical display of activity associated with the multimedia, wherein generating the graphical display comprises determining the activity based at least in part one: (A) an activity density for each of the plurality of segments; (B) a type of activity that makes up the activity density for each of the plurality of segments; and/or (C) any other suitable factor.
In various embodiments, the computer-implemented data processing method of facilitating a plurality of asynchronous conversations between/among one or more consumers of multimedia and displaying a graphical representation of the plurality of conversations, further comprises: (1) a request to view one or more activities associated with a particular segment; and (2) in response to the request, displaying the one or more activities associated with the particular segment. In other embodiments, the method comprises: (1) receiving a request to filter the graphical display based at least in part on an activity term; (2) in response to the response to the request, identifying one or more of the plurality of activities that comprise the term; and (3) displaying, adjacent the graphical display, each of the identified activities that comprise the term in association with an associated particular segment. In still other embodiments, the method comprises: (1) receiving selection of a particular user; (2) in response to the response to the request, identifying one or more of the plurality of activities made by the particular user; (3) modifying the graphical display to reflect only those one or more of the plurality of activities made by the particular user; and (4) displaying, adjacent the modified graphical display, each of the one or more of the plurality of activities made by the particular user.
In various embodiments, a computer-implemented data processing method for electronically linking one or more activities to a respective segment of multimedia content so that at least two users can create an asynchronous conversation that is linked to the segments of the multimedia content. The method comprises the steps of (1) providing, by an activity management system, a first graphical user interface comprising a first segment display, wherein each segment on the first segment display is associated with a respective segment of multimedia content being viewed by a first viewer, (2) receiving at a first time, via the first graphical user interface, a first activity from the first viewer of the multimedia content, (3) electronically linking, by the activity management system, the received first activity to a first segment of the multimedia content, (4) creating a first electronic record that comprises one or more of the first activity, a multimedia identifier for the multimedia content, a first viewer identifier, and a first segment identifier for the first segment, and digitally storing the first electronic record, and (5) presenting, on the first graphical user interface, a first representation of the first activity on the first segment display in association with a point on the first segment display corresponding to the first segment of the multimedia content.
In various embodiments, the step of electronically linking, by the activity management system, the received first activity to a first segment of the multimedia content further comprises one of (1) linking the first activity with a particular segment being viewed by the first viewer when the first viewer begins to enter the first activity, (2) linking the first activity with (a) a first particular segment being viewed by the first viewer when the first viewer begins to enter the first activity, (b) a second particular segment being viewed by the first viewer when the first viewer submits the first activity, or (c) all segments positioned intermediate the first particular segment and the second particular segment, and (3) linking the first activity with a first particular segment that is determined by (a) counting the number of segments from a segment being viewed when the first viewer begins to enter the first activity to a segment being viewed when the first viewer submits the first activity, (b) determining a predefined percentage of the counted number of segments, and (c) calculating the first particular segment by subtracting the predefined percentage of the of the counted number of segments from the segment being viewed when the first viewer began to enter the first activity, or (4) linking the first activity with a first particular segment that is manually selected by the first user.
In preferred embodiments, the first segment display comprises (1) a first plurality of segments, wherein each one of the first plurality of segments represent a unit of time of video or audio file contained as part of the multimedia content, and (2) a second plurality of segments, wherein each one of the second plurality of segments represent a position in a document. In some embodiments, the document is selected from a group consisting of a word processing file, a spreadsheet file, an image file, a portable document format (PDF) file, or a website page.
In various embodiments, the method further comprises the steps of presenting, at a second time that occurs before the first time, on the first graphical user interface a representation of one or more activities received from other users, wherein each of the one or more activities is linked to a respective segment of the multimedia content, and each of the one or more activities is also associated with the first viewer. In some embodiments, the first activity is an activity selected from a group consisting of (1) a reply to a particular one of the one or more activities, (2) a question entered via the first user interface in free form text, and (3) a reaction entered via the first user interface, wherein a reaction further comprises an emoticon selected from one or more emoticons displayed on the first user interface. In particular embodiments, when the first activity is a reply to a particular one of the one or more activities, the first electronic record further comprises an identifier for the particular one of the one or more activities, and the first segment identifier is the same as a segment identifier for the respective segment linked to the particular one of the one or more activities. In other embodiments, at least one of the one or more activities is selected from a group consisting of (1) a pre-seeded question, comment or reply that is presented to elicit a response from the first viewer, (2) pre-seeded surveys, and (3) a discussion point pre-seeded by the multimedia content owner.
In various embodiments, the method further comprises the steps of (1) generating, by the activity management system, a plurality of segment displays, each one of the plurality of segment displays being presented on a respective one of a plurality of graphical user interfaces, wherein each segment on each of the plurality of segment displays is associated with a corresponding segment of the multimedia content being viewed by a plurality of viewers, (2) presenting on each one of the plurality of graphical user interfaces the first representation of the first activity at a point on each one of the plurality of segment displays that corresponds to the segment of the multimedia content that is associated with the first activity, (3) receiving at a plurality of times that are each after the first time, via each respective one of the plurality of graphical user interfaces, one or more activities from each one of the plurality of viewers of the multimedia content, (4) electronically linking, by the activity management system, each received one or more activities to a respective segment of the multimedia content, (5) creating a corresponding electronic record for each received one or more activities from the plurality of viewers, each corresponding electronic record comprising a respective activity from the one or more activities, the multimedia identifier for the multimedia content, an identifier of the viewer from the plurality of viewers, and a segment identifier for the respective segment linked to the respective activity, and digitally storing each corresponding electronic record, and (6) presenting, on each one of the plurality of graphical user interfaces, a representation of each one of the one or more activities at a point on the plurality of segment displays that corresponds to the respective segment of the multimedia content that is linked with each respective activity. In some embodiments, at least one of the one or more activities from the plurality of viewers is a reply to the first activity. In other embodiments, the electronic record for the at least one of the one or more activities further comprises an identifier for the first activity, and the segment identifier for the at least one of the one or more activities is the same as the first segment identifier for the first activity.
In various embodiments, the method further comprises the steps of (1) receiving at one or more times that are each after the first time, via the first graphical user interface, one or more activities from the first viewer, (2) electronically linking, by the activity management system, each received one or more activities to a respective segment of the multimedia content, (3) creating a plurality of electronic records for each received one or more activities, each one of the plurality of electronic records comprising one or more of the respective activity of the one or more activities, the multimedia identifier for the multimedia content, an identifier of the viewer, and segment information associated with the respective activity, and digitally storing each one of the plurality of electronic records, and (4) presenting, on the first graphical user interface, a representation of each one of the one or more activities at a point on the segment display that corresponds to the respective segment of the multimedia content that is associated with each respective activity of the one or more activities. In some embodiments, each one of the one or more activities is selected from a group consisting of (a) a predefined text activity that the first viewer can select via the first graphical user interface, (b) a custom text entry that is entered by the first viewer via the first graphical user interface, and (c) a plurality of reactions that the first viewer can select from via the first graphical user interface. In these embodiments, the computer-implemented data processing method further comprises the steps of (1) generating a sentiment value for each one of the one or more activities, wherein each predefined text activity is assigned a corresponding predefined sentiment value, each type of reaction from the plurality of reactions has a corresponding predefined sentiment value and each custom text entry is passed through a sentiment filter that determines a sentiment value based on the contents of the custom text, and (2) transforming the sentiment value for each of the one or more activities into a sentiment score for the first viewer.
In various embodiments, the method further comprises the steps of (1) receiving at a plurality of times that are after the first time, via the first graphical user interface, one or more additional activities from the first viewer of the multimedia content, (2) electronically linking, by the activity management system, each of the received one or more additional activities to a respective one or more segments of the multimedia content that is associated with each of the received one or more activities, (3) and creating a corresponding electronic record for each of the one or more activities, wherein each corresponding electronic record comprises a respective additional activity, the multimedia identifier for the multimedia content, an identifier of the first viewer, and a segment identifier for the respective one or more segments of the multimedia content that is linked with the respective activity, and digitally storing each corresponding electronic record. In some embodiments, the method further comprises one or more steps selected from a group consisting of (a) determining a length of time that the first viewer spends viewing each segment of the multimedia content, (b) determining a total number of activities submitted by the first viewer for the multimedia content, (c) determining a total number of activities submitted by the first viewer for all multimedia content viewed by the first viewer, (d) determining a total number of activities submitted by the first viewer for each type of content that is contained in the multimedia content, wherein the type of content comprises one or more of audio content, video content, and documents, (e) determining a total number of activities submitted by the first viewer that elicited a conversation with one or more other viewers, (f) determining a total number of activities submitted by the first viewer that were in reply to an activity submitted by another viewer, (g) determining a total number of activities submitted by the first viewer that were questions, (h) determining a total number of activities submitted by the first viewer that were questions that elicited a response from other viewers, (i) determining a total number of reactions and/or type of reactions that were elicited from other viewers in response to activities submitted by the first viewer, (j) determining a total number of reactions and/or type of reactions that were submitted by the first viewer, (k) determining a total number of reactions and/or types of reactions that were submitted by other users, (l) determining a day and/or a time of day for each activity submitted by the first viewer, (m) determining a total number of words in each activity submitted by the first viewer, (n) assigning a sentiment value to each one of the activities, wherein (i) each predefined text activity is assigned a corresponding predefined sentiment value, (ii) each type of reaction from the plurality of reactions has a corresponding predefined sentiment value, and (iii) each custom text entry is passed through a sentiment filter that determines a sentiment value based on the contents of the custom text, and (o) determining a total number of activities submitted for each segment of content for the multimedia content. In various embodiments, the system can calculate an engagement score for the first viewer from one or more of the above data points. In various embodiments, the system can also calculate an influence score for the first viewer based on one or more of the above data points, in addition to other activities.
In various embodiments, the system may be configured to determine the learning characteristics of the first viewer based on one or more of (1) the length of time that the first viewer spends viewing each segment of multimedia content, (2) the day and/or the time of day for each activity submitted by the first viewer, (3) the number of activities submitted by the first viewer for each type of content that was viewed by the first viewer, (4) the number of activities submitted by the first viewer for each segment of multimedia content viewed by the first viewer, (5) the total number of activities submitted by the first viewer that were in reply to an activity submitted by another viewer, and (6) the total number of activities submitted by the first viewer that were questions. The learning characteristics for the first viewer may comprise (1) the type of content that best suits the learning style of the first viewer, wherein the types of content are selected from a group consisting of audio content, video content, documents, image content, and logical problem content, (2) the day and/or time of day that the first viewer is most engaged, and (3) whether the first viewer is easily influenced by others.
In preferred embodiments of a computer-implemented data processing method for electronically managing a conversation that is linked to one or more segments of multimedia content that is divided into a plurality of segments, and for electronically analyzing the activities that make up the conversation, the method comprises (1) selecting one or more electronic data records from a plurality of electronic data records that are linked to one or more segments of a particular multimedia content, wherein each one of the selected one or more electronic data records comprises activity information that is part of a conversation related to one or more segments of a particular multimedia content, an identifier of the particular multimedia content and one or more data fields selected from a group consisting of (i) an identifier of the viewer that submitted the activity, (ii) segment information for a segment of the particular multimedia content associated with the activity, (iii) an identifier of a type of activity, (iv) an identifier for a related activity, (v) a time stamp for when the activity was initiated, (vi) a time stamp for when the activity was submitted, (vii) a length of the activity, (viii) a reaction type, (ix) a reply count, (x) an activity count, (xi) a question flag, (xii) an answer flag, and (xiv) an activity type, (2) generating a sentiment value for each one of the one or more electronic data records selected from the plurality of electronic data records, and (3) transforming the sentiment values for the one or more electronic data records into at least one sentiment score. In some embodiments, generating a sentiment value for each one of the one or more electronic data records further comprises (a) evaluating the activity information for each particular one of the one or more electronic data records to determine the type of activity contained therein, wherein the type of activity is selected from a group consisting of (i) a predefined text activity that the first viewer can select via the first graphical user interface, (ii) a plurality of reactions that a viewer can select from via a graphical user interface when viewing the particular multimedia content, and (iii) a custom text entry that is entered by the viewer via the graphical user interface in response to the content of the particular multimedia content or to an activity made by another viewer, and (b) calculating a sentiment value for each activity type, wherein (i) each predefined text activity is assigned a corresponding predefined sentiment value, (ii) each type of reaction from the plurality of reactions has a corresponding predefined sentiment value, and (iii) each custom text entry is passed through a sentiment filter that determines a sentiment value based on the contents of the custom text. In some embodiments, the step of selecting one or more electronic data records from a plurality of electronic data records that are linked to one or more segments of a particular multimedia content further comprises selecting the one or more electronic data records for a particular viewer. Additionally, the step of transforming the sentiment values for the one or more electronic data records into at least one sentiment score further comprises generating a sentiment score for each segment of the particular multimedia content based on each of the one or more electronic data records linked to the respective each segment of the particular multimedia content.
In particular embodiments, the method further comprises one or more steps selected from a group consisting of (a) determining, from the selected one or more electronic data records for the particular viewer, a length of time that the particular viewer spends viewing each of the one or more segments of the particular multimedia content, (b) determining, from the selected one or more electronic data records for the particular viewer, a total number of activities submitted by the particular viewer for the particular multimedia content, (c) determining, from the selected one or more electronic data records for the particular viewer, a total number of activities submitted by the particular viewer for each type of content that is contained in the particular multimedia content, wherein the type of content comprises one or more of audio content, video content, and documents, (d) determining, from the selected one or more electronic data records for the particular viewer, a total number of activities submitted by the particular viewer that elicited a conversation with one or more other viewers, (e) determining, from the selected one or more electronic data records for the particular viewer, a total number of activities submitted by the particular viewer that were in reply to an activity submitted by another viewer, (f) determining, from the selected one or more electronic data records for the particular viewer, a total number of activities submitted by the particular viewer that were questions, (g) determining, from the selected one or more electronic data records for the particular viewer, a total number of activities submitted by the particular viewer that were questions that elicited a response from other viewers, (h) determining, from the selected one or more electronic data records for the particular viewer, a total number of reactions and/or type of reactions that were elicited from other viewers in response to activities submitted by the particular viewer, (i) determining, from the selected one or more electronic data records for the particular viewer, a total number of reactions and/or type of reactions that were submitted by the particular viewer, (j) determining, from the selected one or more electronic data records for the particular viewer, a day and/or a time of day for each activity submitted by the particular viewer, and (k) determining, from the selected one or more electronic data records for the particular viewer, a total number of words in each activity submitted by the particular viewer. In some of these embodiments, the system can calculate an engagement score for the particular viewer with respect to the particular multimedia content based on one or more of the above data points. In some of these embodiments, the system can calculate an influence score for the particular viewer based on one or more of the above data points.
In various embodiments, the method further comprises the steps of (1) filtering the selected one or more electronic data records by a segment identifier for one segment of the particular multimedia content, (2) generating a sentiment value for each electronic data record of the filtered, selected one or more electronic data records, and (3) transforming the generated sentiment values for each electronic data record of the filtered, selected one or more electronic data records into a sentiment score for the one segment of the particular multimedia content. In other embodiments the method further comprises (1) separating the selected one or more electronic data records into a first plurality of electronic data records that are associated with a first segment of the particular multimedia content, and a second plurality of electronic data records that are associated with a second segment of the particular multimedia content, (2) generating a sentiment value for each electronic data record in the first plurality of electronic data records and each electronic data record in the second plurality of electronic data records, (3) transforming the sentiments values for the first plurality of electronic data records into a first sentiment score, and the second plurality of electronic data records into a second sentiment score, and (4) displaying the first sentiment score and the second sentiment score on a graphical user interface. In some of these embodiments, the step of displaying the first sentiment score and the second sentiment score on a graphical user interface further comprises generating a histogram of the first and second sentiment scores versus the corresponding first and second segments.
Preferred embodiments of an electronic data processing system for electronically managing a conversation that is linked to one or more segments of multimedia content divided into a plurality of segments, and for electronically analyzing the activities that make up the conversation comprises (1) one or more processors, (2) one or more databases coupled to the one or more processors, and (3) a plurality of electronic data records stored in the one or more databases, each one of the plurality of electronic data records corresponding to an activity submitted by a viewer and comprising a content of the activity, an identifier for the multimedia content, an identifier for the viewer who submitted the activity, and one or more data fields selected from a group consisting of (i) a time stamp for when the activity was initiated, (ii) a time stamp for when the activity was submitted, (iii) a length of the activity, (iv) a reaction type, (v) a reply count, (vi) an activity count, (vii) a question flag, (viii) an answer flag, (ix) an activity type, and (x) an identifier for a related activity. In preferred embodiments, the one or more processors are configured for (a) evaluating the activity information for each of one or more of the plurality of electronic data records to determine the type of activity contained therein, wherein the type of activity is selected from a group consisting of (i) a predefined text activity that the first viewer can select via the first graphical user interface, (ii) a plurality of reactions that a viewer can select from via a graphical user interface when viewing the particular multimedia content, and (iii) a custom text entry that is entered by the viewer via the graphical user interface in response to the content of the particular multimedia content or to an activity made by another viewer, (b) calculating a sentiment value for each activity type, wherein (i) each predefined text activity is assigned a corresponding predefined sentiment value, (ii) each type of reaction from the plurality of reactions has a corresponding predefined sentiment value, and (iii) each custom text entry is passed through a sentiment filter to determine a sentiment value based on the contents of the custom text, and (c) transforming the generated sentiment values for the one or more of the plurality of electronic data records into one or more sentiment scores.
In some preferred embodiments, the one or more of the plurality of electronic data records belong to either a first plurality of electronic data records linked to a first segment of the multimedia content or to a second plurality of electronic data records linked to a second segment of the multimedia content. In some of these embodiments, (a) the step of transforming the generated sentiment values for the one or more of the plurality of electronic data records into one or more sentiment scores further comprises calculating (i) a first sentiment score for the first segment of the multimedia content, and (ii) a second sentiment score for the second segment of multimedia content, and (b) wherein the one or more processors are further configured to display a graph of the first sentiment score and the second sentiment score versus the first and second segment. In some embodiments, the first and second pluralities of electronic data records are linked to a particular viewer. In other embodiments, the first and second pluralities of electronic data records are for all viewers of the multimedia content. In still other embodiments, the first and second pluralities of electronic data records are linked a particular group of viewers.
In an embodiment of a computer-implemented method of facilitating asynchronous conversation between one or more consumers of a plurality of pieces of multimedia, the method comprises the steps of (1) storing a plurality of activities, each of the plurality of activities being associated, in memory, with a segment identifier identifying a particular segment of a particular one of the plurality of pieces of multimedia, (2) receiving a first activity associated with a first piece of multimedia of the plurality of pieces of multimedia, (3) in response to receiving the first activity (a) digitally storing the first activity in memory, (b) mapping the first activity to a first segment of the first piece of multimedia, and (c) electronically associating the first activity, the first segment, and the first piece of multimedia in memory, wherein the plurality of pieces of multimedia comprise a plurality of pieces of multimedia selected from the group consisting of (i) a plurality of different types of multimedia, and (ii) a plurality of different pieces of multimedia that make up a particular lesson or course.
In an embodiment of a computer-implemented method of facilitating asynchronous conversation between one or more consumers of multimedia, the method comprising (1) storing a plurality of activities, each of the plurality of activities being associated, in memory, with a segment identifier identifying a particular segment of the multimedia, wherein the plurality of activities comprise a first activity associated with a first segment of the multimedia that was received from a first user, (2) receiving a second activity from a user, the second activity being associated with the first segment and comprising a reply to the first activity, (3) generating one or more alerts, (4) transmitting the one or more alerts to one or more individuals selected from the group consisting of (i) a facilitator of the multimedia, (ii) a creator of the multimedia, and (iii) the first user, and (5) enabling the one or more individuals to view the second activity without having to view the multimedia. In some embodiments, the method further comprises enabling the one or more individuals to respond to the second activity.
In an embodiment of a computer-implemented data processing method of facilitating a plurality of asynchronous conversations between/among one or more consumers of multimedia and displaying a graphical representation of the plurality of conversations, the method comprises (1) storing a plurality of activities, each of the plurality of activities being associated, in memory, with a particular segment identifier identifying a particular segment of a plurality of segments that make up the multimedia, and (2) generating a graphical display of activity associated with the multimedia, wherein generating the graphical display comprises determining the activity based at least in part on one or more factors selected from the group consisting of (i) an activity density for each of the plurality of segments, and (ii) a type of activity that makes up the activity density for each of the plurality of segments. In some of these embodiments the method further comprises (a) receiving a request to view one or more activities associated with a particular segment, and (b) in response to the request, displaying the one or more activities associated with the particular segment. In other embodiments, the method further comprises (a) receiving a request to filter the graphical display based at least in part on an activity term; (b) in response to the response to the request, identifying one or more of the plurality of activities that comprise the term, and (c) displaying, adjacent the graphical display, each of the identified activities that comprise the term in association with an associated particular segment. In other embodiments, the method further comprises (a) receiving selection of a particular user, (b) in response to the response to the request, identifying one or more of the plurality of activities made by the particular user, (c) modifying the graphical display to reflect only those one or more of the plurality of activities made by the particular user, and (d) displaying, adjacent the modified graphical display, each of the one or more of the plurality of activities made by the particular user.
In an embodiments of a computer-implemented data processing method of facilitating a plurality of asynchronous conversations between/among one or more consumers of multimedia and displaying at least a portion of one or more activities that make up the conversations along with the multimedia, the method comprises (1) storing a plurality of activities, each of the plurality of activities being associated, in memory, with a particular segment identifier identifying a particular segment of a plurality of segments that make up the multimedia, (2) receiving one or more activity display criteria, (3) filtering the plurality of activities based at least in part on the criteria, and (4) displaying the filtered activities along with the multimedia based at least in part on an associated segment identifier of each particular filtered activity.
In an embodiments of a computer-implemented data processing method of facilitating a plurality of asynchronous conversations between/among one or more consumers of multimedia, fragmenting the multimedia based in part on sentiment data derived from the conversations; and displaying one or more resulting fragments of the multimedia, the method comprises (1) storing a plurality of activities, each of the plurality of activities being associated, in memory, with a particular segment identifier identifying a particular segment of a plurality of segments that make up the multimedia, (2) generating one or more ratings for at least one of (i) a user viewing the multimedia, and (ii) one or more of the plurality of segments, (3) identifying one or more sequences based at least in part on the one or more ratings, (4) receiving, from the user, a request to view the multimedia on a client device, (5) providing, data indicating the identified one or more sequences, (6) receiving a request for sequences of the multimedia from the client device, the requested sequences corresponding to a first subset of the multimedia indicated in the data, and a second subset of the multimedia that is not indicated in the data, (8) providing the requested sequences to the client device for playback on the client device.
In various embodiments, an electronic data processing system for electronically managing a conversation that is linked to one or more segments of multimedia content divided into a plurality of segments, and for syncing certain activities to one or more segments of the multimedia content comprises (1) one or more processors, (2) memory coupled to the one or more processors, and (3) a plurality of electronic data records stored in the memory, each one of the plurality of electronic data records corresponding to an activity submitted by a viewer of a particular multimedia content and comprising an identifier for the particular multimedia content, information associated with the activity, information regarding the segment of the multimedia content the activity is associated with, and one or more data fields selected from a group consisting of text contained in the activity, a time stamp for when the activity was initiated, a time stamp for when the activity was submitted, a length of the activity, a number of words contained in the activity, a reaction type, a reply count, an activity count, a question flag, an answer flag, an activity type, an identifier for the viewer who submitted the activity, and an identifier for a related activity that is linked to the activity. In various embodiments, the one or more processors are configured for (a\) receiving one or more activity display criteria, (b) filtering the plurality of electronic data records based at least in part on the one or more activity display criteria, and (3) displaying activities associated with the one or more of the filtered electronic data records along with the multimedia based at least in part on an associated segment identifier of each of the one or more particular filtered electronic data records.
In some embodiments, receiving one or more activity display criteria further comprises determining one or more characteristics associated with a first viewer of the particular multimedia content. In various embodiments, filtering the plurality of electronic data records based at least in part on the one or more activity display criteria further comprises reducing the number of electronic data records to be displayed based on one or more characteristics selected from the group consisting of (1) a relationship between the first viewer and one or more other viewers that viewed the particular multimedia content, (2) one or more other viewers selected by the first viewer, (3) one or more other viewers whose activities the first viewer has reacted to in the past, and (4) one or more other viewers whose activities the first viewer has reacted to in a positive manner. In particular embodiments, the one or more processors are further configured for displaying an indicator that notifies the first viewer that the displayed activities are being filtered, and at least partially in response to the indicator being selected by the first viewer, displaying an unfiltered plurality of activities. In other embodiments, the displayed activities associated with the one or more of the filtered electronic data records comprise activities that are associated with other viewers of the particular multimedia content that are considered high influencers with respect to the particular multimedia content. In other embodiments, the displayed activities associated with the one or more of the filtered electronic data records comprise activities that are associated with other viewers of the particular multimedia content that the viewer has elected to follow. In still other embodiments, filtering the plurality of electronic data records based at least in part on the one or more activity display criteria further comprises limiting the number of activities that are displayed for a particular segment of the multimedia content to a predefined threshold value.
In another embodiment an electronic data processing system for electronically managing a conversation that is linked to one or more segments of multimedia content divided into a plurality of segments, and for throttling the displayed conversation based on various criteria comprises (1) one or more processors, (2) one or more databases coupled to the one or more processors, and (3) a plurality of electronic data records stored in the one or more databases. Each one of the plurality of electronic data records (a) are linked to one or more segments of multimedia content, (b) corresponds to an activity submitted by a viewer of the multimedia content, (c) comprises an identifier for the multimedia content, (d) comprises an identifier for the viewer who submitted the activity, and (e) comprises one or more data fields selected from a group consisting of (i) text associated with the activity when the activity is a comment submitted by the viewer, (ii) a time stamp for when the activity was initiated, (iii) a time stamp for when the activity was submitted, (iv) the number of words in the text associated with the activity, (v) a reply count, (vi) an activity count, (vii) a question flag, (viii) an answer flag, (ix) an activity type, and (xi) an identifier for a related comment. In various embodiments, in the one or more processors are configured for determining one or more filtering criteria associated with a first viewer, at least partially in response to determining the one or more filtering criteria for the first viewer, identifying one or more of the plurality of electronic data records that are associated with segments of the multimedia content and that satisfy the one or more filtering criteria, and displaying, on a display interface, an activity associated with each one of the identified one or more of the plurality of electronic data records as a respective segment of the multimedia content is displayed to the first viewer.
Various embodiments of an activity Management System and Method are described below. In the course of this description, reference will be made to the accompanying drawings, which are not necessarily drawn to scale and wherein:
Various embodiments will now be described in greater detail. It should be understood that the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.
Exemplary Technical PlatformsAs will be appreciated by one skilled in the relevant field, the present systems may be, for example, embodied as a computer system, a method, or a computer program product. Accordingly, various embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, particular embodiments may take the form of a computer program product stored on a computer-readable storage medium having computer-readable instructions (e.g., software) embodied in the storage medium. Various embodiments may take the form of web-implemented computer software. Any suitable computer-readable storage medium may be utilized including, for example, hard disks, compact disks, DVDs, optical storage devices, and/or magnetic storage devices.
Various embodiments are described below with reference to block diagrams and flowchart illustrations of methods, apparatuses (e.g., systems), and computer program products. It should be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by a computer executing computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus to create means for implementing the functions specified in the flowchart block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner such that the instructions stored in the computer-readable memory produce an article of manufacture that is configured for implementing the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.
Accordingly, blocks of the block diagrams and flowchart illustrations support combinations of mechanisms for performing the specified functions, combinations of steps for performing the specified functions, and program instructions for performing the specified functions. It should also be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, can be implemented by special purpose hardware-based computer systems that perform the specified functions or steps, or combinations of special purpose hardware and other hardware executing appropriate computer instructions.
Example System ArchitectureAs may be understood from
The one or more computer networks 115 may include any of a variety of types of wired or wireless computer networks such as the Internet, a private intranet, a public switch telephone network (PSTN), or any other type of network. The communication link between the Activity Management Server 110 and one or more databases 140 may be, for example, implemented via a Local Area Network (LAN) or via the Internet.
In particular embodiments, the computer 200 may be connected (e.g., networked) to other computers in a LAN, an intranet, an extranet, and/or the Internet. As noted above, the computer 200 may operate in the capacity of a server or a client computer in a client-server network environment, or as a peer computer in a peer-to-peer (or distributed) network environment. The computer 200 may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a server, a network router, a switch or bridge, or any other computer capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that computer. Further, while only a single computer is illustrated, the term “computer” shall also be taken to include any collection of computers that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
An exemplary computer 200 includes a processing device 202, a main memory 204 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), static memory 206 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage device 218, which communicate with each other via a bus 232.
The processing device 202 represents one or more general-purpose processing devices such as a microprocessor, a central processing unit, or the like. More particularly, the processing device 202 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or processor implementing other instruction sets, or processors implementing a combination of instruction sets. The processing device 202 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The processing device 202 may be configured to execute processing logic 226 for performing various operations and steps discussed herein.
The computer 120 may further include a network interface device 208. The computer 200 also may include a video display unit 210 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 212 (e.g., a keyboard), a cursor control device 214 (e.g., a mouse), and a signal generation device 216 (e.g., a speaker).
The data storage device 218 may include a non-transitory computer-accessible storage medium 230 (also known as a non-transitory computer-readable storage medium or a non-transitory computer-readable medium) on which is stored one or more sets of instructions (e.g., software instructions 222) embodying any one or more of the methodologies or functions described herein. The software instructions 222 may also reside, completely or at least partially, within main memory 204 and/or within processing device 202 during execution thereof by computer 200—main memory 204 and processing device 202 also constituting computer-accessible storage media. The software instructions 222 may further be transmitted or received over a network 115 via network interface device 208.
While the computer-accessible storage medium 230 is shown in an exemplary embodiment to be a single medium, the term “computer-accessible storage medium” should be understood to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-accessible storage medium” should also be understood to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the computer and that cause the computer to perform any one or more of the methodologies of the present invention. The term “computer-accessible storage medium” should accordingly be understood to include, but not be limited to, solid-state memories, optical and magnetic media, etc.
OverviewAn Activity Management System, according to particular embodiments, is configured to provide a platform in which viewers may access multimedia content (e.g., one or more videos files, audio files, document files, image files, etc.). In various embodiments, particular viewers may be members of one or more organization, group, social networks, etc. that exist within the system. In other embodiments viewers do not need to be members of the system.
The Activity Management System is operable to present viewers with multimedia content (e.g., video, document, presentation, etc.) where the multimedia content is divided in to segments (e.g., time periods of video content, location coordinates of a document, individual slides of a slideshow, etc.). While a user is viewing or interacting with multimedia content, the user can provide one or more activities (e.g., comments, questions, replies, reactions, etc.) within a conversation area of a graphical user interface.
The Activity Management System is operable to electronically link the activity provided by (e.g., submitted by, or associated with) the user with the particular segment of multimedia content in which the activity was captured by the system. For example, if the multimedia content were a video, when a first user provides a first activity in the video at ten seconds, then the user's activity may be electronically linked to that particular segment of the video. In turn, when the same user or a different user views the multimedia content at a later time, the video will display the first user's activity when the multimedia presents the segment that is electronically linked to the first user's activity (i.e., ten seconds into the video). The user that watches the video at a later time can also provide activities or reactions to the first user's activities, as further described below. The Activity Management System is also operable to electronically link one or more activities associated with the user to one or more particular segments of multimedia content to which the activity is associated. For example, if the user is viewing the multimedia content and the user interface loses focus because the user clicked on a browser window to search the internet, the system will link the loss of focus to the one or more segments being viewed during the loss of focus.
The Activity Management System is also operable to provide a segment display for displaying a representation of each of the one or more segments of the multimedia content. Representations may be provided at points on the segment display that correspond to segments of the multimedia content associated with discussions among one or more users. Additionally, survey questions may be included along with particular segments of the multimedia content.
The Activity Management System also enables facilitators to provide and create multimedia content (e.g., videos, courses, lessons within courses, text files, slideshows, presentations, etc.) for viewers. The system enables facilitators to organize content for one or more groups of users. The facilitator may be enabled to see additional information regarding how particular users engage with the multimedia content. For example, the facilitator may be enabled to determine that a particular viewer is confused with respect to certain segments of the multimedia content.
The system is operable to display or provide one or more activities to a viewer that views the multimedia content after the one or more activities were made. This viewer is also enabled to provide activities with regard to the multimedia content. For example, the system may receive one or more activities, as previously described, from a first user while the user is viewing a video, and in turn the system may associate each activity from the first user with the particular video segment, as described above, in which it was provided. Further, the system may store each association in a database, and when a second user selects to view the video at a later time, the system will display the activities of the first user at the time that its associated segment of the multimedia is presented to a second user (which may be the first user viewing the multimedia content at a later time). Moreover, the second user can also provide activities with regard to the multimedia content, and when a current user (e.g., the first user, the second user, or a different user) views the multimedia content at a time after the second user provided their activities, the system will display the activities of the first user and the second user at the time that its associated segment of the multimedia is presented to the current user.
The system is also configured to determine a sentiment score for particular multimedia content, one or more segments of a particular multimedia content, a viewer, a group, or an organization, among others. The sentiment score may, for example, be related to determining a general mood (e.g., confused, happy, bored) of one or more viewers when viewing one or more particular segments of multimedia content. In turn, the sentiment score information may be provided to a facilitator or content creator to provide feedback on their content or enable them to update or improve particular segments of their multimedia content. For example, the system may store electronic data records that indicate viewer's activities with respect to multimedia segments provided to the viewers. The system may then calculate a sentiment value for each activity found in a respective electronic record. For example, when a survey questionnaire is presented, each potential answer of the survey questionnaire may be preassigned a sentiment value. Additionally, each type of reaction may have a corresponding predefined sentiment value assigned. In turn, the system is enabled to calculate a sentiment score for particular segments of multimedia content or for one or more particular viewers in relation to the multimedia content.
Further, the system may be configured to provide an alert to one or more individuals when a second activity is received by the system that is provided in reply to a first activity. For example, a first user may provide an activity in the form of a question that is associated with a particular segment of a video. In turn, the first user or another individual (e.g., the facilitator) may be provided with an alert (e.g., via a mobile computing application) when a user provides a reply to the first activity (i.e., the first user's question in the example). Additionally, after being provided with the alert, the system may enable the first user or other individual to view the reply to the first activity without being required to view the video (or other multimedia content) associated with the first activity. Further, the system may generate a graphic display (e.g., a visual representation) of the plurality of stored activities for the piece of multimedia, and the user may be enabled to filter the graphic display based on terms, segments, and/or particular viewers. Additionally, the system may throttle or otherwise limit the number of activities a given user may be presented with based on a number of activities received per segment, or the user's relationship or connection to the individuals providing activities (e.g., a social network connection), among others.
Moreover, the system may also be configured to automatically determine which sequences of a piece of multimedia content to display to a viewer and which sequences to skip, based on for example, a user's engagement score with the piece of multimedia content, or a sentiment score associated with the content, among others. For example, if a user is presented with a video, and with respect to one or more sequence of the video, the user has a low engagement score, the user is asking a lot of questions, or the user has struggled understanding that type of sequence in the past, among others, then the system may indicate the particular one or more sequences. In response, the system may add one or more additional pieces of multimedia (e.g., one or more sequences from one or more additional pieces of multimedia), or link to one or more additional pieces of multimedia to provide to the viewer.
In various embodiments, the Activity Management System 100 may be implemented to create synchronous or asynchronous conversations wherein each activity of the conversation is linked to respective segment of multimedia that makes up the multimedia content. For purposes of this disclosure, the term “multimedia content” should be broadly construed to mean any and all types of video files (e.g., standard video, 3D video, immersive video, spherical video, etc.), audio files, document files (e.g., word processing documents, spreadsheet documents, presentation documents, PDF documents, drawing documents, and any other suitable types of documents), image files, etc.
For purposes of this disclosure, the term “segment” should be broadly construed to mean dividing the multimedia in any suitable manner. For example, video content may be segmented by one or more of (1) discrete time segments (e.g., each second, each tenth of a second, by one or more video frames, etc.), (2) discrete time period segments (e.g., every 5 seconds), (3) location segments (e.g., by one or more of (a) x, y, and/or z-coordinate space, (b) by page, (c) by paragraph, (d) by line number, (e) by word, (f) by letter, (g) by pixel location, (h) etc.) or by any other suitable segmentation of the multimedia content.
Additionally, the term “activity” as used in this disclosure, should broadly be interpreted to include, for example: (1) one or more free form text comments (e.g., typed or otherwise provided by the first user); (2) one or more video comments (e.g., one or more videos recorded by the first user, one or more links to one or more videos, or any other suitable video comment); (3) one or more audio comments (e.g., one or more audio comments record by the first user, a link to one or more audio comments, or any other suitable audio comment; (4) one or more image comments (e.g., one or more uploaded images; one or more links to one or more images; one or more images created by the first user, etc.), which may include, for example, one or more graphics interchange format (GIF) images: (5) one or more predefined comments (e.g., one or more predefined text comments, one or more predefined image comments, one or more predefined video comments, one or more predefined audio comments, etc.); (6) one or more emoticons (e.g., one or more smilies, one or more emoticons, one or more ideograms, etc.), which may, for example, comprise one or more predefined emoticons and/or one or more user-submitted emoticons; (7) an initial comment made by a viewer with regard to multimedia being viewed by the viewer, (8) a question submitted by a viewer regarding the content of multimedia being viewed by the viewer, (9) a reaction (e.g., a predefined comment that expresses a viewer's sentiment such as like, dislike, agree, disagree, confusion, anger, etc.) to multimedia being viewed by the viewer, (10) a reply in the form of an comment, question or reaction to one or more comments, questions or reactions submitted by a prior viewer of the multimedia content, (11) one or more user activities when they are interacting with the video content including, but not limited to, mouse and/or touch events (e.g., mouse is moving, not moved, etc.), content viewing events (e.g., pausing, seeking, rewinding, stopping, playing the video content, etc.), user interface changes (e.g., loss of focus, resizing the user interface, muting the client device, etc.), change of orientation of the client device on which the user interface is being display, and/or (12) any other suitable viewer comment, activity, type of activity, combination of activities, or combination of activity types.
Finally, the term “user” as used in the present disclosure should be broadly interpreted to include any one or more of (1) content creators, (2) organizations, (3) facilitators, (4) groups of viewers, (5) individual viewers, (6) advertisers, and/or (7) other businesses or individuals associated with multimedia content as presented herein.
Exemplary embodiments of the Activity Management System 100 are discussed more fully below.
Exemplary System PlatformVarious embodiments of an Activity Management System 100 may be implemented in the context of any suitable system (e.g., a mobile computing system, a desktop computing system, etc.) that allows users (e.g., content creators, organizations and their end users (e.g., employees, members, etc.), facilitators (e.g., users that facilitate the viewing of one or more pieces of multimedia content by answering questions and ensuring that viewer questions, activities or concerns are addressed), advertisers, and others associated with multimedia content) to create asynchronous conversations between consumers of the multimedia content so that the users of the system can facilitate collaborative experiences when consuming the multimedia content.
For example, a business may want to have their sales staff take a course on selling. In various embodiments, the Activity Management System 100 is configured to provide a platform in which the business may enable access to content (e.g., courses) to one or more end users (e.g., sales staff). In various embodiments, the system comprises a plurality of organizations, each having its own end users. In various embodiments, particular end users may be members of more than one organization within the system. In various embodiments, each end user may have a unique login to the system for each organization of which they are a member. In other embodiments, each particular user may utilize a universal system login to access each organization of which they are a member.
Advantages of the Activity Management System 100 described herein include, but are not limited to, the linking of conversations and activities to segments of multimedia content being viewed. For example, the Activity Management System 100 allows for collaborative remote learning by building a conversation around the viewing of (1) a live streamed event (e.g., multimedia content), (2) a time-shifted live streamed event, or (3) prerecorded multimedia content. In various embodiments, activities that are submitted during live streaming of the event are linked to the relevant segments of the event associated with the activity. The activities form a live conversation between at least two participants of the event (e.g., two viewers, a viewer and a presenter, a viewer and a facilitator of the live event, etc.). Moreover, when a viewer views the event at a time after the live streaming of the event (e.g., time shifted) the viewer can participate in an asynchronous conversation that produces a collaborative viewing experience for the viewer. If the later viewer submits activity (e.g., comments, reactions, replies to prior comments, etc.) participants of the live streaming event can be notified of later activities and review and respond to the later submitted activities, as described in greater detail below. Other advantages of the Activity Management System 100 include, but are not limited to, providing the opportunity for remote interactive learning, remote interactive learning that can be conducted by the viewer at their own pace, the ability of content creators to obtain feedback on multimedia content through asynchronous conversations, etc.
In various embodiments, the system is configured to provide a collaborative platform for members of a particular group or organization in which, for example: (1) the system facilitates group conversations between or among group members; (2) the system enables collaboration between/among users within the group (e.g., create a synchronous and/or asynchronous conversation that is linked to the multimedia content); (3) the system tracks activity performed by each member of the group and makes this activity data available to other members of the group (e.g., by displaying which members of the group have viewed particular content, displaying activities left by other members of the group for particular pieces of content, the sentiment of each viewer, how engaged a viewer is with the multimedia content, how one viewer influences another viewer, etc.); (4) the system enables collaboration between end users of a first group that are subscribed to particular content (e.g., lessons) with other end uses that are subscribed to the same content but not part of the first group; (5) etc.
In various embodiments, the system is configured to arrange particular media content into courses or lessons (e.g., for consumption by one or more particular groups). In various embodiments, the system is configured to enable a content creator to organize course content (e.g., to organize various pieces of multimedia content in a particular order) for consumption by the one or more end users in the group.
Various aspects of the system's functionality may be executed by certain system modules, including an activity Management Module 300, a Multimedia Activity Mapping Module 400, a Sentiment Scoring Module 500, a Multimedia Activity Management Module 600, or Multimedia Branching Module 700. These modules are discussed in greater detail below. Although these modules are presented as a series of steps, it should be understood in light of this disclosure that various embodiments of the modules described herein may perform the steps described below in an order other than in which they are presented. In still other embodiments, the module may omit certain steps described below. In various other embodiments, the module described herein may perform steps in addition to those described in the various system modules.
Activity Management Module
Providing a First Graphical User Interface to a User on a Client Device
In particular embodiments, when executing the Activity Management Module 300, the system begins, at Step 310, by providing a first graphical user interface (e.g., graphical user interface 1500 (
In various embodiments, the graphical user interface 1500 may be part of a client application that runs on the client device 130. In other embodiments, the graphical user interface 1500 may be a client-server software application in which the graphical user interface runs in a web browser. In still other embodiments, the graphical user interface 1500 may be a browser plugin that acts as an add-on to a web browser and gives the browser additional functionality.
In particular embodiments where the activity management system 100 manages activities related to third party multimedia content (e.g., YouTube® videos, etc.), the graphical user interface 1500 may by in the form of browser plugin that creates a graphical user interface overlay for a webpage so that multimedia can be played by a third party media player, where the graphical user interface containing the segment display 1520, the conversation area 1530 and other features of the graphical user interface 1500 overlay on the third party media player. In these embodiments, the segment display 1520 contains representations of segments that are related to (e.g., the same as) the native segmenting of the third party multimedia content. Continuing with the YouTube® video example, the segment display contains a segment representation (e.g., a time line display) that matches the time line display of the YouTube® video. In other embodiments, the segment display 1520 may be different as compared to native segment display. For example, the segment display for the graphical user interface may show discrete time period representations of, for example, 5 seconds, while the native time line for the third party multimedia content is shown in tenths of a second segments.
Presenting, at a Second Time that Occurs Before the First Time, a Representation of One or More Activities Received from Other Users
In particular embodiments, the system continues to Step 320 at which the system 100 prepopulates the conversation area 1530 and the segment display 1520 with one or more representations of activities that were received by the system prior to the time when the current viewer is viewing the multimedia content. In various embodiments, the one or more activities may comprise an activity made by a prior viewer, one or more comments, one or more questions, one or more discussions, one or more reactions selected from a group of emoticons 1540 consisting of a smiley face 1541 to convey sentiment of agreement, an annoyed face 1542 to convey the sentiment of disagreement, a sad face 1543 to convey the sentiment of dislike, a surprised face 1544 to convey the sentiment of surprise, a confused faced 1545 to convey the sentiment of confusion, and a heart 1546 to convey the sentiment of liking something, one or more replies, one or more discussions, or any other suitable communications that can be part of a conversation. It should be understood that the reactions are predefined activities that the viewer may select and submit while watching the multimedia content.
In various embodiments, and referring to
Additionally, in various embodiments, representations of reactions 1622, 1624, among others, that were submitted by prior viewers are displayed along the timeline proximate to a respective segment of the display segment that corresponds to the segment of the multimedia content that was being displayed when the prior viewer submitted the reaction. In addition to a representation of the reaction, the system may be configured to display an avatar associated with the viewer who submitted the reaction. The avatar may include a picture of the viewer or any other representation associated with the viewer. Finally, discussions that are associated with the multimedia content are displayed by representations 1630, 1632, 1634, and 1636 at points on the segment display that correspond to (electronically linked) segments of the multimedia content associated with the discussions.
Receiving, at a First Time that Occurs after the Second Time, an Activity from the Current Viewer of the Multimedia Content
The system 100 continues at Step 330 by receiving, at a first time that occurs after a second time, an activity (e.g., the first activity) from the current viewer (e.g., the first viewer) of the multimedia content. In various embodiments, the activity may be an activity to the multimedia content that is currently being viewed by the viewer. In various embodiments, the activity may be a reply to another viewer's comment, an activity submitted as part of a discussion, a question, a reaction to the multimedia content, a reaction to another viewer's activity, a reaction to another viewer's reply, or any other suitable communication.
For example and referring to
If, instead, the viewer wants to submit a reaction to an activity that was made by a prior viewer, referring to
Referring to
Should the viewer wish to submit a reply as an comment to a prior viewer's comment, question or reply, referring to
In various embodiments and referring to
Referring to
Referring to
In other embodiments and referring to
In other embodiments, the Activity Management System 100 may be configured to allow the viewer to only view activities from particular viewers that are associated with the viewer. For example, the Activity Management System 100 may only show activities from viewers that are in the same group as the viewer, activities from other viewers that are in the viewers contact list, activities from other viewers that are associated with the viewer through a social media platform (e.g., friends on Facebook®, a connection on LinkedIn®, etc.) and/or other viewers that the viewer manually sets up using the settings in the viewer's profile for the Activity Management System 100. It should be understood that activities from particular viewers can be shown or filtered based on any number of suitable characteristics (e.g., keywords, search terms, common interests, etc.) that are manually selected by the user, the organization that the user belongs to, or by any other suitable user of the system.
Referring to
In various embodiments, the Activity Management System 100 may be configured to keep playing the multimedia content when the viewer initiates the submission of an activity. For example, when the viewer hovers over the reaction 1710 (
Electronically Linking the Received First Activity to a First Segment of the Multimedia Content
Continuing at Step 340, the system 100 electronically links the received activity (e.g., the first activity) from the viewer to at least a segment of the multimedia content that the viewer was viewing when they submitted the received activity. Furthermore, if the activity was in response to one or more activities submitted by one or more other viewers, the activity may also be electronically linked to the one or more prior activities (e.g., a reply to a comment, a reaction to a prior comment, a reply to a comment in a discussion, etc.). Additionally, the received activity may also be electronically linked to the viewer (e.g., one or more of the identity of the viewer, one or more groups associated with the viewer, one or more organizations associated with the viewer, etc.).
Electronically Linking Received Activities to One or More Segments of Multimedia Content
In preferred embodiments, the system 100 may electronically link the received activity to a segment of the multimedia content (e.g., an audio or video file) that was being viewed when the viewer began to enter the received activity. In preferred embodiments, the received activity is electronically linked to the segment of the multimedia content using a unique identifier associated with the multimedia content. In various embodiments, the received activity is electronically linked to the multimedia content using specific segment information for the segment of the multimedia content that was being viewed when the first activity was received. In still other embodiments, the received activity is electronically linked to the multimedia content using both the unique identifier for the multimedia content and segment information for one or more segments of the multimedia content associated with the activity.
In some embodiments, the system 100 may electronically link the received activity to a segment of the multimedia content that is being viewed when the viewer begins to initiate (e.g., begins to type in a comment, hovers over the reaction bar, selects a prior comment, etc.) the activity. In some embodiments, the system may electronically link the received activity to a segment of the multimedia content that is being viewed when the viewer submits (e.g., clicks the submit button, etc.) the received activity. In still other embodiments, the system 100 may electronically link the received activity to one or more segments of the multimedia content that is positioned intermediate the segment of multimedia content being viewed when the viewer initiates the received activity to the segment of multimedia content being viewed when the viewer submits the received activity (e.g., including the first and last segments, not including the first and last segments, only including some of the intermediate segments, including all of the intermediate segments). In some embodiments, the system may electronically link the received activity to a segment of the multimedia content that is prior in time to a segment of the multimedia content being viewed either when the activity was initiated or when the activity was submitted. In this way, the activity gets associated with a segment of the multimedia content that likely motivated the viewer to initiate the activity, which likely passed in time by the time the viewer begins to initiate the submission of the activity.
In particular embodiments, the received activity (e.g., the first activity) may be linked to the multimedia content (e.g., a spatial video file, a document, an image, etc.) based on a location segment of the multimedia content currently being viewed by the viewer (e.g., the first viewer) when the activity was submitted. In some embodiments, the system 100 may electronically link the received activity to one or more location segments associated with the multimedia content based on one or more of an x, y, and z-coordinate system associated with the multimedia content. In other embodiments, the system 100 may electronically link the received activity to one or more location segments associated with the multimedia content based on one or more pages, one or more paragraphs, one or more lines, words, characters, etc. associated with the multimedia content.
Electronically Linking Received Activities to One or More Prior Received Activities (e.g., Reply Comments)
In preferred embodiments, when the received activity (e.g., the first activity) is made in response to another viewer's prior activity (e.g., one or more comments, one or more questions, one or more reactions, one or more replies, one or more of the prior listed activities in a discussion conversation, etc.), the received activity may also be electronically linked to the prior activity, in addition to being linked to the segment of the multimedia associated with the activity. In some embodiments, the received activity may be electronically linked to the prior activity by a unique identifier that is associated with the prior activity. It should be understood that the received activity may be linked to the prior activity in any suitable manner that allows the system 100 to identify all activities that are linked with one another.
Electronically Linking Received Activities to the Viewer Submitting the Activity
In various embodiments, the received activity may also be electronically linked to the viewer submitting the activity based on one or more unique identifiers (e.g., a viewer ID no., etc.) associated with the viewer. For example, an activity may be electronically linked with a viewer using a unique identifier assigned to the viewer based on login information submitted by the viewer to system 100. Additionally, when the viewer is viewing the multimedia content as part of a group, the activity may be electronically linked to the viewer by a unique group identifier. Furthermore, if the multimedia content was assigned to the viewer by an organization to which the viewer belongs, the activity may be electronically linked to the viewer by a unique identifier assigned to the organization. In various embodiments where the actual identification of the viewer is not known, but non-personal identifying information is known (e.g., browser cookie information, geographical location information for the viewer, etc.) the non-personal identifying information may be used to electronically link the viewer to the activity.
Creating a First Electronic Record that Comprises One or More of the First Activity, a Multimedia Identifier for the Multimedia Content, a First Viewer Identifier, and a First Segment Identifier for the First Segment, and Digitally Storing the First Electronic Record
Continuing at Step 350, the Activity Management System 100 is configured to create an electronic record for the received activity and store the electronic record in the one or more databases 140 (
In various embodiments, the electronic records for the activities may all be stored in a single database table. In this way, the system 100, when receiving a request from a viewer to view multimedia content, can search the database table for all records containing the multimedia content identifier. The system 100 may then filter the activities based on any one or more of various information associated with the viewer. For example, if the viewer was assigned the multimedia content by an organization, the system can filter all activities submitted by other viewers that are not part of the organization. If the viewer is part of a group under the organization, then the results of the prior filter can be further filtered by a group identifier so that the conversation presented in conjunction with the multimedia content only contains activities from other viewers that are part of the group. Organizing all of the electronic records for the activities in a single database table helps to expedite the operation of the system 100 since filtering of the electronic records can be accomplished in an efficient manner thereby reducing the number of operations performed by the system in creating electronic records and serving the conversations as the multimedia content is presented to the viewer.
In other embodiments, the electronic records for a conversation may be stored in a database table assigned to a particular course. In this configuration, when a viewer assigned to the course requests a particular multimedia content from the course, all of the activities associated with the particular multimedia content in the course may be served to the graphical user interface as the multimedia content is played for the viewer. While such an arrangement requires more database tables for the received activity, it reduces the time necessary to filter the activities to be served to the user interface. It should be understood to one of skill in the art that the electronic records may be stored in any suitable manner to meet the requirements of various configurations of the Activity Management System 100, all of which are contemplated by the disclosure herein.
Presenting a First Representation of the First Activity on the First Segment Display in Association with a Point on the First Segment Display Corresponding to the First Segment of the Multimedia
At Step 360, activities received by the Activity Management System 100 are added to the appropriate point in a conversation associated with multimedia content. For example, in various embodiments when a received activity (e.g., a question, comment or reaction) is associated with the content of the multimedia content being viewed by the viewer, the activity may either be added to the conversation area 1530 (
Multimedia Activity Mapping Module
In particular embodiments, a Multimedia Activity Mapping Module 400 is configured to: (1) receive one or more activities from one or more users that view (e.g., are viewing) a particular piece of multimedia (e.g., a video, slideshow, PDF, or other suitable piece of multimedia such as any suitable piece of multimedia described herein); (2) associate each particular activity with a particular segment of the piece of multimedia (e.g., a particular time segment of a video, audio file, slideshow, etc.; a particular location segment on an image, video, document, etc.; or any other suitable segment; (3) store the one or more activities; and (4) display, provide, or otherwise make the one or more activities available to a viewer or consumer of the multimedia that views or consumes the multimedia after the one or more activities was made. In various embodiments, the system is configured to display or provide the one or more activities such that the system displays the one or more activities in association with each respective associated segment of the multimedia while the viewer is viewing the multimedia. In further embodiments, the system is configured to display (e.g., or provide for display), the one or more activities such that the system displays the one or more activities in association with any associated other activities.
In particular embodiments, by electronically linking the one or more activities to a respective segment of the multimedia, the system may enable a more contextual discussion of a particular segment (e.g., timestamp, portion, etc.) of the multimedia, rather than limiting activity and discussion generically to the multimedia as a whole. As may be understood by one skilled in the art, in this way, a particular piece of multimedia may comprise a plurality of activity threads each electronically linked to (e.g., associated with) different segments of the multimedia. In this way, the system may provide different viewers that view or otherwise consume the multimedia at different times with substantially different user-submitted activities depending on, for example: (1) how many comments have been submitted prior to the time at which the viewer is viewing the multimedia; (2) how many responses have been made to those comments; (3) which particular segments of the multimedia those comments have been directed toward, etc. By enabling viewers to provide activities directed toward particular segments of the multimedia and respond directly to activities made by other viewers that relate to particular segments, the system may be configured to simulate to a first user and a second user that are viewing the multimedia in a time-shifted, asynchronous manner (e.g., at different times) that they are viewing the multimedia together and discussing different segments in virtually real time (even though they may be viewing the multimedia at drastically different times).
Although various embodiments of the Multimedia Activity Mapping Module 400 may be described below as relating to a single piece of multimedia, it should be understood that other embodiments may include a plurality of pieces of multimedia, one more pieces of mixed media (e.g., include one or more videos, one or more still images, one or more text files, etc.), or any other suitable combination or media or other content.
Identify a Plurality of Segments that Make Up the Piece of Multimedia
When executing the Multimedia Activity Mapping Module 400, the system begins, at Step 410, by identifying a plurality of segments that make up a piece of multimedia. In various embodiments, the piece of multimedia may comprise, for example: (1) one or more videos; (2) one or more lessons; (3) one or more text files (e.g., such as one or more PDF or other documents; (4) one or more slideshows; (5) one or more presentations; (6) one or more articles; (7) one or more questionnaires; (8) one or more webpages; and/or (9) any other suitable piece of media, content or other item that an individual may view, listen to, read, or otherwise consume or experience (e.g., via one or more of their five senses).
In various embodiments, the plurality of segments comprises a plurality of distinct location segments that make up the piece of multimedia. For example, the piece of multimedia may define a coordinate system that breaks the piece of multimedia into a plurality of discrete location segments that each defines a particular portion of the piece of multimedia. The system may, for example, identify the plurality of segments as comprising a grid of location segments defined by the coordinate system (e.g., with each location segment having an associated row and column number within the grid, having an ‘x’ and ‘y’ coordinate within the coordinate system, etc.). In some embodiments, the piece of multimedia comprises a piece of three-dimensional multimedia (e.g., a 3D video). In such embodiments, the plurality of segments may be defined by a three dimensional coordinate system, with each particular location segment having an ‘x’, ‘y’, and ‘z’ coordinate that indicates the particular location segment's location within the piece of multimedia.
As a particular example, a piece of multimedia comprising an image may identify a discrete number of location segments that make up the image such that the image comprises a four segment by four segment grid of location segments (e.g., totally sixteen segments). Each segment may be identified by number, by location (e.g., 1,3), etc.
In various embodiments, each particular location segment may have any suitable shape (e.g., rectangular, square, circular, etc.) and any suitable size (e.g., based on a height and width of the piece of multimedia, based on a resolution of a display of a computing device viewing the multimedia, etc.). In some embodiments, a particular location segment comprises a single pixel on a display screen displaying the multimedia.
In particular embodiments, each particular segment may be defined, for example, by a particular page, column, line, word, letter, sentence, paragraph, section, cell, etc. of a piece of multimedia (e.g., such as a spreadsheet, word processing document, presentation, PDF, etc.). In other embodiments, each particular segment may be defined in any other suitable manner.
In some embodiments, a particular piece of multimedia comprises one or more location segments such that every portion of the particular piece of multimedia comprises (e.g., is associated with) a particular portion of at least one of the one or more location segments. In various embodiments, a particular point on a piece of multimedia may comprise a plurality of location segments. In still other embodiments, at least one portion of the piece of multimedia does not comprise any location segments.
In particular other embodiments, the plurality of segments comprises a plurality of distinct time segments that make up the piece of media content. In various embodiments in which the plurality of segments comprises a plurality of time segments, the piece of multimedia may comprise, for example, a video, audio file, slideshow, or other piece of multimedia having a particular playtime. In some embodiments, each particular time segment may comprise a discrete time segment (e.g., a particular time stamp of the piece of multimedia such as 3:15 for a discrete time segment at 3 minutes, 15 seconds into the piece of multimedia).
In other embodiments in which the plurality of segments comprises a plurality of time segments, each of the plurality of time segments may comprise a particular time slice of the complete runtime of the piece of multimedia. For example, each time segment may define a particular time range of the piece of multimedia. A particular video may, for example, be broken into a plurality of time segments that each includes ten second increments of the video. In the case of a 60 second video, for example, the video would include six ten second time segments spanning from: (1) the 0 second mark to the 10 second mark; (2) the 10 second mark to the 20 second mark; (3) the 20 second mark to the 30 second mark; (4) the 30 second mark to the 40 second mark; (5) the 40 second mark to the 50 second mark; and (6) the 50 second mark to the 60 second mark.
In various embodiments in which the plurality of distinct time segments comprise a plurality of time slice segments, the plurality of time segments may not overlap with any of the other time segments (e.g., a first time segment may end at a time that immediately proceeds the beginning time of the immediate next second time segment). In such embodiments, a beginning and an end time of each particular segment may be determined by a resolution of the multimedia (e.g., a number of frames per second) or a particular precision with which time is delineated within the piece of multimedia (e.g., by the second, millisecond, etc.). In other embodiments, the plurality of time segments may be substantially the same length. In other embodiments, the plurality of time segments may vary in length. For example, in particular embodiments, each particular time segment may coincide with a section, chapter, scene, topic, or other suitable aspect of the piece of multimedia that delineates different portions of the piece of multimedia.
In particular embodiments, the plurality of segments may comprise a plurality of time segments and a plurality of location segments. For example, in particular embodiments, the plurality of segments may include a time segment within a video in addition to a location segment at the particular time segment. In such embodiments, a piece of multimedia may be broken down by a plurality of time segments where each time segment comprises a plurality of respective location segments. As may be understood in the light the above, a particular segment of a plurality of segments may point to both a time (e.g., a timestamp, timeframe, etc.) within a piece of multimedia, as well as a location in or portion of the piece of multimedia. In a particular video, for example, that comprises six ten second time segments, the video may further comprise sixteen location segments (e.g., in a four by four grid). In such an embodiment, the system may be configured to identify both the time and location segments, and associate any activities with one or both of the time and location segments as appropriate. The association of activities with segments (e.g., time and/or location segments) will be discussed more fully below.
In particular embodiments identifying the plurality of segments that make up the piece of multimedia comprise retrieving one or more predefined segments for the piece of multimedia. In particular embodiments, the system is configured to receive a breakdown of the plurality of time segments from a user (e.g., an owner and/or creator of the piece of multimedia, a facilitator of one or more lessons or courses that is utilizing the piece of multimedia in the context of the one or more lessons or course, or any other suitable user). In such embodiments, the system may be configured to store data related to the definition of the plurality of segments in memory and associate the stored data with the piece of multimedia.
In other embodiments, identifying the plurality of segments that make up the piece of multimedia comprises substantially automatically breaking the piece of multimedia into a plurality of segments. In some embodiments, the system is configured to break the piece of multimedia down into the plurality of segments based at least in part on a type of the piece of multimedia. In particular embodiments, for example, the system may be configured to break down video, audio, or slideshow media content into a plurality of time segments. The system may do this based on, for example, a length of the video, audio, number of slides in a slideshow, etc., or any other suitable factor. In other embodiments, for example, the system may be configured to break down video, image, PDF files, articles and other content into a plurality of location segments. The system may break the multimedia into a plurality of location segments based on, for example, one or more dimensions of the piece of multimedia, a resolution of the piece of multimedia, a resolution of a display on which the piece of multimedia is being displayed, and/or any other suitable factor.
Electronically Receive a First Activity at a First Time
Returning to step 420, the system is configured to electronically receive a first activity at a first time. In various embodiments, the system is configured to receive the first activity via any suitable user interface, for example, on a computing device associated with a first user. In some implementations, the first activity may be received via the graphical user interface 1500 shown in
In various embodiments, the system is configured to provide the software plugin or software application via a suitable centralized software application repository (e.g., the Apple App Store, Google Play store, etc.). In still other embodiments, the system is configured to provide the software plugin or software application for download via a suitable website or server. In various embodiments, the system is configured to provide the software plugin for installation on any suitable computing device (e.g., desktop computer, laptop computer, smartphone, tablet, etc.). In various embodiments, the software plugin is configured to serve as an add-on to an existing software application on the computing device (e.g., computing device 130), facilitate provision of one or more activities, and display of those activities in association with particular segments of a piece of multimedia.
In other embodiments, the system comprises a stand-alone multimedia viewer configured to display, play, and/or otherwise provide access to the piece of multimedia. In such embodiments, the system may be configured to receive one or more activities (e.g., the first activity) via the stand-alone multimedia viewer or other suitable software application, as described above.
In various embodiments, the first activity is an activity regarding the piece of multimedia. In particular embodiments, the first activity is a first activity regarding a particular segment of the piece of multimedia from the plurality of segments identified at Step 410. In particular embodiments, the first activity comprises an identification of the particular segment.
In particular embodiments, the first time is any suitable time during which the first user is viewing, listening to, reading, or otherwise consuming the piece of multimedia. In other embodiments, the first time is a time subsequent to the first user's consumption of the piece of multimedia (e.g., after the user has watched, read, etc. the piece of multimedia).
Process the First Activity by: (1) Digitally Storing the First Activity in Memory; (2) Mapping the First Activity to a First Segment of the Plurality of Segments Based at Least in Part on the First Activity; and (3) Electronically Associating the First Activity, the First Segment, and the Piece of Multimedia in Memory
Continuing to Step 430, the system is configured to process the first activity by: (1) digitally storing the first activity in memory; (2) mapping the first activity to a first segment of the plurality of segments based at least in part on the first activity; and (3) electronically associating (or electronically linking) the first activity, the first segment, and the piece of multimedia in memory. In this way, the system may, for example, be configured to provide for future retrieval of the first activity and identification of the piece of media and the particular first segment of the piece of multimedia with which the first activity is associated.
In particular embodiments, the system is configured to digitally store the first activity in memory. In some embodiments, the system is configured to store the first activity in a suitable database (e.g., the one or more databases 140 shown in
In particular embodiments, the system is configured to modify the piece of multimedia to include the first activity. In such embodiments, the system may be configured to store the first activity along with the piece of multimedia in a single file. In still other embodiments, the system is configured to store the first activity independent of the piece of multimedia (e.g., such as in one or more embodiments in which the piece of media is hosted by one or more third parties).
In any embodiment described herein, the system may be further configured to map the first activity to a first segment of the plurality of segments that make up the piece of multimedia. In particular, the system may be configured to map the first activity to the first segment based at least in part on the first activity. For example, the system may be configured to map the first activity to the first segment based at least in part on: (1) a time at which the first activity was received (e.g., the first time); (2) a segment selected by the first user and provided as part of the first activity; (3) an elapsed time into the total length of a piece of multimedia having a particular runtime at which the user begins submitting the first activity (e.g., a time corresponding to a time at which the user began typing the activity; moused over one or more predefined activities; etc.); (4) an elapsed time into the total length of a piece of multimedia having a particular runtime at which the user submitted the first activity; (5) a location on the piece of multimedia that the user clicked or otherwise selected when submitting the first activity (6) one or more contents of the first activity (e.g., a reference to a particular video timestamp, a reference to a particular feature, page number, line number, word, image, etc. in the piece of multimedia, etc.); and/or (6) any other suitable characteristic related to the first activity.
The system may, for example: (1) identify the first segment of the plurality of segments as being a segment with which the first activity is associated; and (2) map the first activity to the first segment in memory. In particular embodiments, mapping the first activity to the first segment comprise associating, or electronically linking, the first activity with a first segment identifier (e.g., a unique identifier that identifies the first segment from the plurality of segments). In particular, the first segment identifier may include any suitable identifier such as, for example a string, marker, pointer, timestamp, coordinate location, time range, tracker, etc.
The system may further be configured to electronically associate the first activity, the first segment (e.g., the first segment identifier), and the piece of multimedia in memory. In various embodiments, by associating the first activity with both the piece of multimedia and the first segment, the system is configured to store the first activity remotely from the piece of multimedia and use the identifying information associated with the first activity to display the first activity along with the piece of multimedia in association with the first segment, as discussed more fully below. In particular embodiments, this storage and association arrangement may enable the system to provide the first activity for display along with the proper piece of multimedia at the proper segment, for example: (1) for a first activity made on a piece of multimedia hosted by the system (e.g., in a multimedia viewer or player hosted by the system); (2) for a first activity made on a piece of multimedia hosted by a third party, on a third party site, or through a third party application (e.g., as in one or more embodiments in which the system comprises one or more overlays); and/or (3) regardless of a manner in which the system received the first activity or the piece of multimedia is provided, stored, etc.
In such embodiments, the system is configured to improve a call time of the first activity when providing the first activity for display with the piece of multimedia because the system may, for example, only need to store the first activity itself in addition to the associated segment and multimedia identifiers (e.g., rather than storing the multimedia itself, which may include one or more video or other files of a relatively large size).
Electronically Receive a Second Activity at a Second Time
Continuing to Step 440, the system is configured to electronically receive a second activity at a second time. In various embodiments, the system is configured to receive the second activity via any suitable user interface, for example, on a computing device associated with a second user. In some embodiments, the system is configured to receive the second activity from the second user. In various embodiments, the system is configured to receive the second activity in any suitable manner, such as in any manner described above with respect to the first activity at Step 420. In various embodiments, the second user is the first user.
In particular embodiments, as described above with regard to the first activity, the second activity may comprise, for example: (1) one or more free form text comments (e.g., typed or otherwise provided by the second user); (2) one or more video comment (e.g., one or more videos recorded by the second user, one or more links to one or more videos, or any other suitable video comment); (3) one or more audio comment (e.g., one or more audio comment record by the second user, a link to one or more audio comment, or any other suitable audio comment; (4) one or more image comment (e.g., one or more uploaded images; one or more links to one or more images; one or more images created by the second user, etc.), which may include, for example, one or more graphics interchange format (GIF) images: (5) one or more predefined comment (e.g., one or more predefined text comment, one or more predefined image comment, one or more predefined video comment, one or more predefined audio comment, etc.); (6) one or more reactions (e.g., one or more smilies, one or more emoticons, one or more ideograms, etc.), which may, for example, comprise one or more predefined emoticons and/or one or more user-submitted emoticons; and/or (7) any other suitable activity, type of activity, combination of activities, or combination of activity types.
In various embodiments, the second activity is an activity regarding the piece of multimedia. In particular embodiments, the second activity is a second activity regarding a particular segment of the piece of multimedia from the plurality of segments identified at Step 410. In particular embodiments, the second activity comprises an identification of the particular segment. In particular embodiments, the second activity is a response to the first activity (e.g., a reply to a first comment, a response to a question that makes up the first activity, etc.). In particular embodiments, the first activity and the second activity make up an activity thread. In other embodiments, the first and second activities define a conversation (e.g., between one or more users).
In particular embodiments, the second time is any suitable time contemporaneous with a time in which the second user is viewing, listening to, reading, or otherwise consuming the piece of multimedia. In other embodiments, the second time is a time subsequent to the second user's consumption of the piece of multimedia (e.g., after the user has watched, read, etc. the piece of multimedia). In some embodiments, the second time occurs after the first time (e.g., is a time later than the first time).
Process the Second Activity by: (1) Digitally Storing the Second Activity in Memory; (2) Mapping the Second Activity to a Second Segment of the Plurality of Segments Based at Least in Part on the Second Activity; (3) Optionally Mapping the Second Activity to the First Activity; and (4) Electronically Associating the Second Activity, the Second Segment, and the Piece of Multimedia in Memory
Continuing to Step 450, the system is configured to process the second activity by: (1) digitally storing the second activity in memory; (2) mapping the second activity to a second segment of the plurality of segments based at least in part on the second activity; (3) optionally mapping the second activity to the first activity; and (4) electronically associating the first activity, the first segment, and the piece of multimedia in memory. In this way, the system may, for example, be configured to provide future retrieval of the second activity and identification of the piece of media, and additionally, the system may be configured to provide the particular second segment of the piece of multimedia with which the second activity is associated (e.g., in addition to one or more additional activity with which the second activity may be associated).
In particular embodiments, the system is configured to digitally store the second activity in memory. In some embodiments, the system is configured to store the second activity in a suitable database (e.g., the one or more databases 140 shown in
In particular embodiments, the system is configured to modify the piece of multimedia to include the second activity. In such embodiments, the system may be configured to store the second activity along with the piece of multimedia in a single file. In still other embodiments, the system is configured to store the second activity independent of the piece of multimedia (e.g., such as in one or more embodiments in which the piece of media is hosted by one or more third parties).
In any embodiment described herein, the system may be further configured to map the second activity to a second segment of the plurality of segments that make up the piece of multimedia. In particular, the system may be configured to map the second activity to the second segment based at least in part on the second activity. For example, the system may be configured to map the second activity to the second segment based at least in part on: (1) a time at which the second activity was received (e.g., the second time); (2) a segment selected by the second user and provided as part of the second activity; (3) an elapsed time into the total length of a piece of multimedia having a particular runtime at which the user begins submitting the second activity (e.g., a time corresponding to a time at which the user began typing the activity; mouse over (e.g., placed a pointer device or mouse over) one or more predefined activities; etc.); (4) an elapsed time into the total length of a piece of multimedia having a particular runtime at which the user submitted the second activity; (5) a location on the piece of multimedia that the user clicked or otherwise selected when submitting the second activity (6) one or more contents of the second activity (e.g., a reference to a particular video timestamp, a reference to a particular feature, page number, line number, word, image, etc. in the piece of multimedia, etc.); and/or (6) any other suitable characteristic related to the second activity. In some embodiments, the second segment is the first segment.
The system may, for example: (1) identify the second segment of the plurality of segments as being a segment with which the second activity is associated; and (2) map the second activity to the second segment in memory. In particular embodiments, mapping the second activity to the second segment comprises associating the second activity with a second segment identifier (e.g., a unique identifier that identifies the second segment from the plurality of segments). In particular, the second segment identifier may include any suitable identifier such as, for example a string, pointer, timestamp, coordinate location, time range, tracker, memory address, etc.
In particular embodiments, such as one or more embodiments in which the second activity is a reply to, response to, or otherwise associated with the first activity, the system is configured to map the second activity to the first activity. In some embodiments, the system may be configured to store the first activity with the second activity (e.g., in memory) and associate the first activity with the second activity. In still other embodiments, mapping the second activity to the first activity comprises associating the second activity with a first activity identifier (e.g., a unique identifier that identifies the first activity, a storage location of the first activity, etc.). In particular, the first segment activity may include any suitable identifier such as, for example, a string, pointer, timestamp, coordinate location, time range, tracker, memory address, etc.
The system may further be configured to electronically associate the second activity, the second segment (e.g., the second segment identifier), and the piece of multimedia in memory. The system may, for example: (1) generate an electronic record for the second activity; (2) store the second activity with the electronic record for the second activity; and (3) store one or more identifiers for each of the second segment, the piece of multimedia, and any associated other activities (e.g., the first activity) in the electronic record.
Display, at a Third Time, at Least One of: (1) the First Activity in Association with the First Segment of the Piece of Multimedia; and (2) the Second Activity in Association with the Second Segment of the Piece of Multimedia
Returning to Step 460, the system is configured to display, at a third time, at least one of: (1) the first activity in association with the first segment of the piece of multimedia; and (2) the second activity in association with the second segment of the piece of multimedia. In particular embodiments, as may be understood in light of this disclosure, the system is configured display any of a plurality of activities that have been received for a piece of multimedia for any subsequence consumers of that piece of multimedia.
For example, in any embodiment described herein, if the third time occurs after the first time at which the system receives the first activity but before the second time at which the system receives the second activity, the system would be configured to display the first activity in association with the first segment of the piece of multimedia (e.g., by not the second activity as the system would not have received the second activity at that point). As another example, in any embodiment described herein, if the third time occurs after both the first time, at which the system receives the first activity, and the second time, at which the system receives the second activity, the system would be configured to display both the first activity in association with the first segment of the piece of multimedia and the second activity in association with the second segment of the piece of multimedia. In embodiments in which the first and second activities are related (e.g., one is a reply and/or response to the other), the system is configured to display the first and second activities in association with one another (e.g., substantially simultaneously).
In various embodiments, displaying the first activity in association with the first segment comprises displaying the first activity (e.g., or providing the first activity for display) such that the first activity is visually associated with the first segment. For example, in an embodiment in which the first segment is a time segment, the system may display the first activity along a video or audio scrub bar that corresponds to the first time segment (e.g., the time in the video or piece of audio in which the first activity was made). In other embodiments, the system may display a first indicia adjacent the video or audio scrub bar that corresponds to the first time segment (e.g., such as a symbol, avatar of the first user, letter, number etc.), and display the first activity adjacent the piece of multimedia along with (e.g., or adjacent to) a second indicia that is identical to the first indicia. In this way, the system may create a visual association between the first activity and the first time segment.
As a particular example, if the piece of multimedia comprises a video, the system may display a star indicia along the video scrub bar at the 1:00 minute mark (e.g., which may correspond to a time at which the first user made the first activity when viewing the video). When displaying the first activity at a later time, the systems may be configured to display the star indicia (e.g., or any other suitable indicia) at the 1:00 minute mark, and further configured to display the first activity adjacent to (e.g., next to, below, etc.) the video with a second star indicia adjacent to the first activity.
Similarly, in an embodiment in which the particular segment comprises a location segment, the system may display a particular indicia in a location on the piece of media that corresponds to the location segment and display the same particular indicia along with the first activity adjacent the piece of multimedia. The system may further use any other suitable technique to indicate the association, or electronic link, between the first activity and the first segment (e.g., by visually connecting the first activity and the first segment with a line or other marking, by highlighting the first activity and the first segment in one or more similar colors, etc.).
The system may be configured to display the second activity in association with the second segment in any suitable manner, such as any manner described above regarding the visual association of the first activity with the first segment. In particular embodiments, the system is configured to display the first and second activities in association with their respective segments as an overlay to the piece of multimedia (e.g., as an overlay to a third party media player). In other embodiments, the system may be configured to display the activities as part of a multimedia player and/or viewer. In still other embodiments, the system may display the activities as part of a software plugin or other suitable software application. In other embodiments the system may technically display (e.g., or provide for display) the activities in any other suitable manner. For example, the system may provide the first activity and the second activity in addition to their respective segment identifiers and associated activity identifiers for display by a mobile computing device, or other remote computing device.
In other embodiments, such as an embodiments in which the second activity is a response to the first activity, the system is configure to display (e.g., or provide for display) the first and second activities in a manner such that there is a visual association between the first and second activities (e.g., by connecting respective boxes in which the first and second activities are displayed with one or more lines or other indicia, by placing the second activity adjacent the first activity such as below or logically following the first activity, etc.).
Although the above module is described in the context of two distinct activities, it should be understood that the system may receive any number of activities for any number of segments of a particular piece of multimedia (e.g., a plurality of activities). Each particular activity may, for example, be stored, mapped to a particular segment, mapped to one or more other activities, associated with the piece of multimedia, etc. as generally described above or in any other suitable manner. It should be understood in light of this disclosure that the system is configured to display any of the plurality of activities that the system has received prior to the point at which the system is displaying the plurality of activities (e.g., providing the plurality of activities for display).
Scoring Module
In various embodiments of the Activity Management System 100, determining a sentiment score for (1) a particular multimedia content, (2) one or more segments of a particular multimedia content, (3) a viewer, (4) one or more viewers (e.g., a group, an organization, etc.), (5) etc. provides valuable information to users (e.g., content creators, facilitators, organizations, etc.) of the Activity Management System 100. For example, in various embodiments, a viewer's sentiment (e.g., mood) with respect to the multimedia content can guide a content creator to improve the overall multimedia content. In preferred embodiments, a viewer's sentiment with respect to one or more other viewers helps either a user to manually group viewers or allows the Activity Management System 100 to automatically group viewers. In some embodiments, a viewer's sentiment can also be used to determine how a viewer best consumes multimedia content in collaborative learning environments.
In various embodiments, calculating an engagement score for one or more viewers of the multimedia content allows content providers and facilitators to determine how viewers engage with content. Additionally, engagement scores help to determine which content drives engagement. For example, viewers may be more engaged with video type content as opposed to audio type content. In addition to engagement scores, calculating influence scores show how teams and individuals interact. Influence scores allow facilitators and the system to determine which viewers influence a group, how influencers influence certain other viewers, and who makes contributions that cause engagement of others. This information is important when deciding which viewers to group together. Finally, calculating a facilitator score allows the system to determine how effective facilitators are with respect to the multimedia content. For example, facilitator scores can be used to determine if the facilitator is effectively driving the group and how the facilitator can improve learning. The various scores can help improve the learning of a viewer, but more importantly, can improve the overall learning experience for the group of viewers. That is, optimizing a group of viewers based on viewer sentiment, engagement and influence, and pairing the optimized group with the most optimum facilitator for the group, will result in the maximum learning experience for the group, as well as for the individual viewers in the group.
The scoring module 500 can be used alone, or in combination with any one or more of the Activity Management System 100 modules described herein.
Selecting One or More Electronic Data Records from a Plurality of Electronic Data Records that are Linked to One or More Segments of a Particular Multimedia Content
In particular embodiments, when executing a scoring module 500, the system begins at Step 500, by selecting one or more electronic data records from a plurality of electronic data records that are linked to one or more segments of a particular multimedia content. The particular multimedia content can be of a single type of multimedia or it may consist of multiple types of multimedia content. Each one of the selected one or more electronic data records is stored in a database, in one or more database tables. Each electronic data record comprises activity information that is part of a conversation related to one or more segments of the particular multimedia content, an identifier of the particular multimedia content and one or more additional data fields. The one or more additional data fields may be selected from (1) an identifier of the viewer that submitted the activity, (2) segment information for a segment of the particular multimedia content associated with the activity, (3) an identifier of a type of activity, (4) an identifier for a related activity, (5) a time stamp for when the activity was initiated, (6) a time stamp for when the activity was submitted, (7) a length of the activity, (8) a reaction type, (9) a reply count, (10) an activity count, (11) a question flag, (12) an answer flag, (13) an activity type, and (14) any other suitable data field necessary for tracking an activity submitted to the system.
In various embodiments, the one or more electronic data records may be generated as one or more viewers consume the particular multimedia content and submit activities in response to the content of the particular multimedia content. In some embodiments, the one or more electronic data records may be generated as one or more viewers consume the particular multimedia content and submit activities in response to activities submitted by prior viewers. In still other embodiments, the one or more electronic data records may be generated as one or more viewers consume the particular multimedia content and submit activities in response to activities or discussions pre-seeded by (1) the creator of the particular multimedia content or (2) the facilitator assigned to the viewer or group of viewers.
In particular embodiments, such as shown in
Generating a Sentiment Value for Each One of the One or More Electronic Data Records Selected from the Plurality of Electronic Data Records
Continuing at Step 520, the system 100 evaluates activity information for each particular one of the one or more selected electronic data records to determine the type of activity contained therein. In various embodiments, activities consist of one or more of (1) a predefined text activity (e.g., a response to a survey question, etc.) that the first viewer can select via the first graphical user interface, (2) a plurality of reactions that a viewer can select from via a graphical user interface in response to the content of the particular multimedia content or to an activity made by another viewer, (3) a custom text entry that is entered by the viewer via the graphical user interface in response to the content of the particular multimedia content or to an activity made by another viewer, (4) pausing of the content, (5) skipping content, (6) mouse movements or touches on a touch screen, (7) etc.
Calculating a Sentiment Value for Each Activity Type
Continuing at Step 530, the system is configured to calculate a sentiment value for each activity type found in a respective electronic record. In various embodiments, each predefined text activity is assigned a corresponding predefined sentiment value. For example, when a survey questionnaire is presented, each potential answer of the survey questionnaire is preassigned a sentiment value. Additionally, each type of reaction has a corresponding predefined sentiment value assigned. For example, the one or more reactions (shown in
Transforming the Sentiment Values for the One or More Electronic Data Records into at Least One Sentiment Score
Continuation at Step 540, the system 100 is configured to transform the sentiment values calculated for each one of the electronic data records into at least one sentiment score. For example, in various embodiments, the system may be configured to calculate the sentiment score for each segment of the particular multimedia content. In this way, a content creator can view the overall sentiment score for all viewers of the multimedia content to determine which one or more segments are highly regarded and which one or more segments are negatively regarded. The content creator can then determine which segments of the multimedia content should be changed.
In some embodiments, the system may calculate the sentiment score for each segment of the particular multimedia content for a particular viewer. In this way, a facilitator of the particular multimedia content can evaluate how the viewer is reacting to the multimedia content. For example, the facilitator may determine that the particular viewer is confused with respect to certain segments of the multimedia content. The facilitator may then work with the particular viewer to help them better understand the content related to those segments where there sentiment scores indicate confusion.
In other embodiments, the system may calculate a sentiment score for each segment of the particular multimedia content for all viewers in a group. The sentiment of the group may allow the facilitator to direct the group's conversations associated with the particular multimedia content in a different direction that is more positive or conducive for group learning.
In still other embodiments, the sentiment scores for a particular viewer may also be used to evaluate the particular viewer in regard to their engagement with the multimedia content and their ability to influence others. For example, a viewer's sentiment score may be used in determining a viewer's ability to influence others through their activities submitted in a conversation for the multimedia content, as described in more detail herein.
Calculating a Viewer's Engagement Score and Influence Score
In various embodiments, the system 100 may be configured to determine from the selected one or more electronic data records for the particular viewer, a length of time that the particular viewer spends viewing each of the one or more segments of the particular multimedia content. In some embodiments, the system 100 may be configured to capture and store a segments start and stop time. The system may also be configured to determine from the electronic data records the number of times the particular viewer reviews the same segments of the multimedia content. In some embodiments, the system can determine: (1) a total number of activities submitted by the particular viewer for the particular multimedia content, (2) a total number of activities submitted by the particular viewer for each type of content that is contained in the particular multimedia content, (3) a total number of activities submitted by the particular viewer that elicited a conversation with one or more other viewers, (4) a total number of activities submitted by the particular viewer that were in reply to an activity submitted by another viewer, (5) a total number of activities submitted by the particular viewer that were questions, (6) a total number of activities submitted by the particular viewer that were questions that elicited a response from other viewers, (7) the total number of activities submitted by the particular viewer that were in reply to an activity submitted by another viewer, (8) a total number of reactions and/or type of reactions that were elicited from other viewers in response to activities submitted by the particular viewer, (9) a total number of reactions and/or type of reactions that were submitted by the particular viewer, (10) a total number of words in each activity submitted by the particular viewer, (11) a total number of words for each reply made by another viewer to the particular viewer's activity, (12) the sentiment score for one or more activities submitted by the particular viewer, (13) the sentiment score for one or more activities submitted in reply to an activity made by the particular viewer, (14) the role of the viewer within an organization, (15) the expertise of the viewer in the category of the multimedia content, (16) the viewer's history of published multimedia content, and/or (17) any other suitable characteristic of the particular viewer, captured activities of the viewer, a response to the viewer or the viewer's environment. One or more of the above data points can be used to determine a viewer's engagement score for the particular multimedia content (e.g., the multimedia content in general, the types of multimedia content, etc.) and/or the viewer's influence score with respect to other viewers.
Referring to
Referring to
Using the Sentiment, Engagement and Influence Scores to Determine the Learning Characteristics for a Viewer
In preferred embodiments, the system 100 is configured to determine, from a selected one or more electronic data records for the particular viewer, a day and/or a time of day that each activity was submitted by the particular viewer. This data in combination with engagement, sentiment and influence scores for a viewer can be used to determine how to optimize the learning for a viewer. In particular, the system may be configured to determine the optimum day and time of day that a viewer gets the most from consuming the multimedia content. For example, the system 100 can determine that a particular viewer's engagement score is highest on Saturday between the hours of 11 am-3 pm, and the viewer shows high engagement scores when interacting with visual and auditory multimedia content. Thus, in various embodiments, the system may build a learning characteristics assessment for each viewer based on viewer history that can be used by the facilitator or automatically by the system when grouping viewers and assigning multimedia content to particular groups of viewers. For example, the system may be configured to automatically group visual and audio learners together and assign them multimedia content that contains more audio and visual content types.
Multimedia Management Mapping Module
In particular embodiments, a Multimedia Management Mapping Module 600 is configured to perform one or more additional steps to the Multimedia Activity Mapping Module 400 described above or any other module described herein. In various embodiments, each step of the Multimedia Management Mapping Module 600 may include one or more optional steps in various embodiments of any system described herein.
Receive a First Activity Associated with a First Piece of Multimedia of a Plurality Pieces of Multimedia and Process the First Activity by: (1) Digitally Storing the Activity in Memory; (2) Mapping the First Activity to a First Segment of the First Piece of Multimedia; and (3) Electronically Associating the First Activity, the First Segment, and the First Piece of Multimedia in Memory
When executing the Multimedia Management Mapping Module 600, the system beings, at optional Step 610, by receiving a first activity associated with a first piece of multimedia of a plurality pieces of multimedia and processing the first activity by: (1) digitally storing the activity in memory; (2) mapping the first activity to a first segment of the first piece of multimedia; and (3) electronically associating the first activity, the first segment, and the first piece of multimedia in memory.
In various embodiments, the system is configured for storing a plurality of activities, each of the plurality of activities being associated, in memory, with a segment identifier identifying a particular segment of a particular one of the plurality of pieces of multimedia. In such embodiments, the system may receive, map, and store such activities in any suitable manner described herein. In particular embodiments, the system receives a first activity associated with a first piece of multimedia of the plurality of pieces of multimedia, and performs one or more actions in response to receiving the first activity. In various embodiments, the one or more actions comprise: (1) digitally storing the first activity in memory; (2) mapping the first activity to a first segment of the first piece of multimedia; and (3) electronically associating, or electronically linking, the first activity, the first segment, and the first piece of multimedia in memory.
As may be understood in light of this disclosure, multimedia may comprise a plurality of pieces of multimedia. For example, in some embodiments, the plurality of pieces of multimedia combines to define a single piece of multimedia (e.g., such as a presentation that contains one or more slides, one or more videos, one or more questionnaires, etc.). In other embodiments, the plurality of pieces of multimedia may be associated with one another, for example, because: (1) the plurality of pieces of multimedia make up a particular lesson (e.g., portions of a lesson); (2) the plurality of pieces of multimedia make up a particular course (e.g., particular portions of or lessons that make up the course; and/or (3) they are associated or related in any other suitable way (e.g., chapters of a video, sections, of a piece of media, etc.).
Receive a Second Activity from a User that Comprises a Reply to the First Activity; Transmitting One or More Alerts to One or More Individuals; and Enabling the One or More Individuals to View the Second Activity without Having to View the First Piece of Multimedia.
When executing the Multimedia Management Mapping Module 600, the system continues, at optional Step 620, by receiving a second activity from a user that comprises a reply to a first activity; transmitting one or more alerts to one or more individuals; and enabling the one or more individuals to view the second activity without having to view the first piece of multimedia.
In various embodiments, the system is configured for storing a plurality of activities, each of the plurality of activities being associated, in memory, with a segment identifier identifying a particular segment of a particular one of the plurality of pieces of multimedia. In such embodiments, the system may receive, map, and store such activities in any suitable manner described herein. In some embodiments, the plurality of activities comprises the first activity associated with a first segment of the first piece of multimedia.
In various embodiments, the system is configured for: (1) receiving a second activity, the second activity being associated with the first segment and comprising a reply to the first activity; (2) generating one or more alerts; (3) transmitting the one or more alerts to one or more individuals; and (4) enabling the one or more individuals to view the second activity without having to view the multimedia. In various embodiments, the one or more individuals may include, for example: (1) a facilitator of the multimedia; (2) a creator of the multimedia (e.g., a content creator); (3) a user that submitted the first activity; (4) one or more individuals that had previously consumed (e.g., viewed, watched, read, etc.) the multimedia; (5) one or more users enrolled in a course that utilizes the multimedia; (6) etc. In various embodiments, the method further comprises enabling the one or more individuals to respond to the second activity without viewing the multimedia.
As may be understood from this figure, the system is configured to display the one or more replies 3205 independent of the piece of multimedia. In various embodiments, the system is configured to enable the user to provide a response to the one or more replies 3210 using a suitable text entry box and post button 3215. As may be understood from this figure, the system is configured to enable the user to post one or more additional replies without accessing the piece of multimedia. In this way, the system may facilitate a conversation between/among two or more viewers that are viewing the multimedia at different times. A first user may leave a first activity at a first time, and a second user may wish to engage with the first user by replying to that activity. In any embodiment described herein, the system may facilitate such a conversation by notifying the first user of the second user's reply and enabling the first user to reply further (e.g., even though the first user had already viewed the media at an earlier time, is not currently viewing the media, and may not wish to re-view the media or be required to re-view or otherwise access the media again).
Generate and Provide a Graphic Display Based on a Plurality of Activities Associated with the First Piece of Multimedia; and Enable the User to Filter the Graphic Display Based on One or More Terms, One or More Segments of the First Piece of Multimedia, and/or One or More Viewers.
When executing the Multimedia activity Management Module 600, the system continues, at optional Step 630, by generating and providing a graphic display based on a plurality of activities associated with the first piece of multimedia; and enabling the user to filter the graphic display based on one or more terms, one or more segments of the first piece of multimedia, and/or one or more viewers.
In various embodiments, the system is configured for storing a plurality of activities, each of the plurality of activities being associated, in memory, with a segment identifier that identifies a particular segment of a particular one of the plurality of pieces of multimedia. In such embodiments, the system may receive, map, and store such activities in any suitable manner described herein. The system may then generate a graphic display (e.g., a visual representation) of the plurality of stored activities for the piece of multimedia. In various embodiments, the system is configured to generate the graphic display based on, for example: (1) an activity density for each of the plurality of segments (e.g., a number of activities received for each segment); (2) a type of activity that makes up the activity density for each of the plurality of segments; and/or (3) any other suitable factor.
The graphic display 2500 further comprises a scrub bar 2507 which may depict a visual representation of a total runtime of a particular video. As may be understood from
In various embodiments, the system is further configured for: (1) receiving a request to filter the graphical display 2500 based at least in part on an activity term; (2) in response to the request, identifying one or more of the plurality of activities that comprise the term; and (3) displaying, adjacent the graphical display, each of the identified activities that comprise the term in association with an associated particular segment. The system may receive the request, for example, in response to selection of a particular term by the user in the word cloud 2515.
In various embodiments, the system is further configured for: (1) receiving request to view one or more activities associated with a particular segment (e.g., a particular time segment); and (2) in response to the request, displaying the one or more activities associated with the particular segment.
In response to selection, by the user, of the first particular discussion, the system may be configured to expand the first particular discussion 2532 to show a plurality of activities 2534 that make up the particular discussion as shown in
In still other embodiments, the system may be configured for: (1) receiving selection of a particular user; (2) in response to the response to the request, identifying one or more of the plurality of activities made by the particular user; (3) modifying the graphical display to reflect only those one or more of the plurality of activities made by the particular user; and (4) displaying, adjacent the modified graphical display, each of the one or more of the plurality of activities made by the particular user.
Filter One or More Activities for Display in Association with the First Piece of Multimedia Based at Least in Part on: (1) a Number of Activities Received for a Particular Segment; (2) One or More User Group Affiliations; (3) One or More Links Between Users; (4) an Influence Level of a User that Provided the One or More Activities; (5) an Engagement Level with One or More of the One or More Viewers; (6) Etc.
When executing the Multimedia Management Mapping Module 600, the system continues, at optional Step 640, by filtering one or more activities for display in association with the first piece of multimedia based at least in part on: (1) a number of activities received for a particular segment; (2) one or more user group affiliations; (3) one or more links between users; (4) an influence level of a user that provided the one or more activities; (5) an engagement level with one or more of the one or more activities; (6) meta or property data associated with users or groups (e.g., a branch ID, a region ID, etc.), (7) etc.
In various embodiments, the system is configured for storing a plurality of activities, each of the plurality of activities being associated, in memory, with a segment identifier that identifies a particular segment of a particular one of the plurality of pieces of multimedia. In such embodiments, the system may receive, map, and store such activities in any suitable manner described herein. In particular embodiments, the system is further configured for: (1) storing a plurality of activities, each of the plurality of activities being associated, in memory, with a particular segment identifier that identifies a particular segment of a plurality of segments that make up the multimedia; (2) receiving one or more activity display criteria; (3) filtering the plurality of activities based at least in part on the criteria; and (4) displaying the filtered activities along with the multimedia based at least in part on an associated segment identifier of each particular filtered activity.
In various embodiments, the one or more activity display criteria comprise, for example: (1) reducing a number of activities in response to determining that a threshold number of activities have been received by the system for a particular segment (e.g., a throttling criteria); (2) displaying only activities that are associated with a particular user; (3) displaying only activities that have been submitted by one or more users that are part of a particular group (e.g., course, course project group, club, social network connection, neighborhood association, etc.); (4) displaying only activities that have been submitted by one or more users that are connected via one or more links; (5) an engagement score of a particular segment of content (e.g., determined using any suitable technique described herein); (6) an engagement of a user viewing the plurality of activities to the multimedia or a segment thereof (e.g., determined using any suitable technique described herein); (7) an influence level of a user that submitted one or more of the plurality of activities; and/or (8) any other suitable factor.
For example, the system may be configured to filter and/or sort activities based on whether: (1) a first user viewing the activities is connected with one or more of the viewers on social media; (2) a first user viewing the activities is in the same class or course as the one or more viewers (e.g., and the multimedia is part of the course); (3) etc.
Multimedia Branching Module
In particular embodiments, when executing a Multimedia Branching Module 700, the system is configured to automatically determine which sequences of a piece of multimedia content to display to a viewer and which sequences to skip, based on for example, a user's engagement score with the piece of multimedia content, a sentiment score associated with the content, etc. This may, for example, result in branching of the piece of multimedia where particular portions are removed and/or other new pieces of multimedia are added in various locations and/or time locations of the multimedia during viewing. The system may be further configured to: (1) skip one or more sequences of content where a user's scores are low (e.g., the user has low engagement) or add new sequences of similar subject matter presented in a different format (e.g., a different type of multimedia) based on the viewer's learning preferences; (2) add one or more sequences of content in response to determining that a user appears confused or lost based on, for example, the user's activities, reactions, sentiment, questions or replies submitted, etc.; and/or (3) deviate to one or more new sequences of content based on a user's interests, engagement (e.g., score) line of questions, replies, etc.
Identify One or More Sequences (e.g., Fragments) of a Piece of Multimedia Based on One or More Criteria.
When executing the Multimedia Branching Module 700, the system begins, at Step 710, by identifying one or more sequences (e.g., fragments) of a piece of multimedia based on one or more criteria. In particular embodiments, the one or more criteria comprise, for example: (1) an engagement score of the user (e.g., determined using one or more suitable techniques described herein); (2) a volume of activities submitted by the user; (3) a volume of questions submitted by the user; (4) one or more preferred learning techniques of the user (e.g., determined using one or more suitable techniques described herein); (5) a sentiment score of the piece of multimedia, or one or more segments of the piece of multimedia (e.g., determined using one or more suitable techniques described herein); (6) content (e.g., one or more terms used in, a tone of, punctuation of, etc.) of the user's one or more activities, responses, or questions; (7) etc.
The system may, for example, identify the one or more sequences (e.g., fragments) of the piece of multimedia by identifying one or more sequences where: (1) the user has a low engagement score; (2) the user is asking a lot of questions; (3) the user has struggled understanding that type of sequence in the past; (4) the one or more sequences have a low sentiment score (e.g., are not well received by other users); and/or (5) for any other suitable reason.
In some embodiments, the system is configured to store an indication of the identified one or more sequences in computer memory. The system may, for example, store (e.g., in an electronic record associated with the user, one or more activities, the piece of multimedia, or any other suitable aspect of the system) metadata detailing which of the various sequences of a piece of multimedia were identified.
Provide Data Indicating the Identified One or More Sequences
When executing the Multimedia Branching Module 700, the system continues, at Step 720, by providing data indicating the identified one or more sequences. The system may be configured to provide the data to a suitable mobile computing device, software application, plugin, etc. that the user is using to view the multimedia. In other embodiments, the system is configured to provide the data indicating the identified one or more sequences to facilitate display of at least a subset of the multimedia in view of the one or more criteria as described more fully below.
Provide a First Subset of the Multimedia for Display that does not Include the Identified One or More Sequences.
When executing the Multimedia Branching Module 700, the system continues, at Step 730, by providing a first subset of the multimedia for display that does not include the identified one or more sequences. In various embodiments, the first subset of the multimedia comprises all portions of the multimedia other than at least one of the one or more sequences identified at Step 710. In particular, the first subset of the multimedia is indicated in the data provided at Step 720. In various embodiments, the first subset comprises at least a portion of the piece of multimedia. For example, the first subset may include some of the scenes of an entire video, or any other suitable portion.
The system may, for example, provide the metadata detailing which of the various sequences of a piece of multimedia should be played back during playback of the multimedia (e.g., in the case of a video).
Optionally Provide One or More Pieces of Additional Multimedia Based at Least in Part on the One or More Criteria
When executing the Multimedia Branching Module 700, the system continues, at Step 740, by optionally providing one or more pieces of additional multimedia based at least in part on the one or more criteria. In some embodiments, the system may add one or more additional pieces of multimedia (e.g., one or more sequences from one or more additional pieces of multimedia), or link to one or more additional pieces of multimedia to provide to the viewer. The system may, in various embodiments, identify an additional piece (e.g., or portion) of another piece of media content to add to the first subset of the multimedia based on the one or more criteria. The one or more criteria may include, for example: (1) a type of multimedia that the user learns better from (e.g., the user may learn better from worksheets or reading than from videos); (2) one or more pieces of multimedia related to a particular sequence of the multimedia that was giving the user trouble (e.g., they are having trouble understanding), which may, for example, replace an identified sequence that was not part of the first subset; and/or (3) any other suitable criteria.
In particular embodiments, the system may identify and replace one or more portions of a piece of multimedia using any suitable technique described herein. For example, the system may identify one or more segments to remove from the multimedia and/or one or more segments to add to the multimedia based at least in part on any factor, score (e.g., engagement score, learning score, etc.), activity, activity, type of activity, frequency of activity; volume of activities; content of activities; activity map; etc. described herein.
Livestream Comment ProcessingIn particular embodiments, an Activity Management System is configured to process one or more activities for one or more live-streamed events. As may be understood in light of this disclosure, an Activity Management System is operable to present viewers with multimedia content (e.g., video, document, presentation, etc.) where the multimedia content is divided into segments (e.g., time periods of video content, location coordinates of a document, individual slides of a slideshow, etc.). While a user is viewing or interacting with multimedia content, the user can provide one or more activities (e.g., comments, questions, replies, reactions, etc.) within a conversation area of a graphical user interface. In some embodiments, the Activity Management system is configured to present existing pieces of multimedia content (e.g., video, audio, slideshows, etc.) to which a user can submit the one or more activities. In still other embodiments, the system is configured to enable one or more users to provide one or more activities during a livestreamed piece of multimedia.
As may be understood by one skilled in the art, a livestreamed piece of multimedia may include the broadcasting of substantially real-time (e.g., real time), live video to an audience (e.g., over the Internet). In particular embodiments, the Activity Management System is configured to receive one or more activities, for example: (1) prior to the start time of a live stream; (2) during a live stream; (3) during one or more breaks in the livestream; and/or (4) after the livestream has ended. In particular embodiments, the system is configured to process the one or more activities, received at any suitable time prior to, during, and/or after the livestream for subsequent viewers of the livestreamed content. For example, as may be understood by one skilled in the art, particularly consumers of live-streamed content may view the livestreamed content at a time other than the initial broadcast of the content (e.g., at a time subsequent to an initial broadcast and recording of the content). In doing so, later viewers of the livestreamed content may be presented with a recorded version of the live-streamed event or content. For example, a live-streamed presentation of a college course or other live presentation may be recorded and stored (e.g., in computer memory) for later viewing by one or more individuals (e.g., one or more members of the college course). In processing the livestreamed content for later viewing, the system may be configured to: (1) process each particular activity received before, during, and after the initial broadcast of the livestream; and (2) electronically associate (e.g., in computer memory) each particular activity with a particular segment of the livestreamed content (e.g., with a particular segment that occurred during the livestream, with a particular segment that corresponds to activities received prior to the start of the livestream, with a particular segment that corresponds to activities received after completion of the livestream, with a particular segment that corresponds to activities received during one or more breaks during the livestream, etc.).
In particular embodiments, the system is configured to divide the livestreamed content into segments as the livestream is occurring. The system may, for example: (1) add time markers to the livestream as the livestream is streaming; (2) add segment markers (e.g., substantially equally divided segments) to the livestream as the livestream is streaming; etc. In various embodiments, the system is configured to store (e.g., in computer memory) incremental segment information for the livestreamed content as the livestream is streamlining. The system may then be configured to tie (e.g., electronically link) any activities received during a particular segment (e.g., and or time marker) back to the particular segment by electronically linking the received activities to the particular segment in computer memory.
In various embodiments, however, a particular piece of livestreamed content may include one or more segments that are not part of the actual livestreamed content. For example, prior to the beginning of the livestream, the activity management system may receive one or more activities from one or more users that are waiting for the livestream to begin. After the livestream has concluded, the system may receive one or more activities from one or more viewers of the livestream. In yet another example, the system may receive one or more activities during one or more breaks in the livestream (e.g., one or more planned breaks, one or more breaks that result from the livestream going down due to one or more connection issues, etc.).
The one or more activities received at a time other than the actual broadcast of the livestream may be tied (e.g., electronically linked) to one or more segments that do not make up the livestream itself. The system may be configured to process such activities for viewing by later viewers of the livestreamed content (e.g., recorded content) in any suitable manner. The system may, for example, condense one or more activities received prior to the start of the live-stream into an initial segment that corresponds to the beginning of the livestream. The system may condense one or more activities received after the completion of the live-stream into an end segment that corresponds to the end of the livestream. The system may condense one or more activities receive during a break in the livestream to a segment that corresponds to the break. As may be understood in light of this disclosure, the activities that are linked to the initial and end segments may have been received during a wider span of time than the actual segment to which they are linked. However, in doing so, the system may condense and/or compress these comments so they are still available to subsequent viewers without requiring the subsequent viewers to sit through blank screen time just to view the comments as they were received in real time.
In this way, the system may be configured to generate an activity stream for the content (e.g., subsequent viewers of the live-stream who are viewing the live-stream in an on-demand manner) that does not include one or more gaps (e.g., dead space during breaks, leading up to the start of the livestream, etc.). The system may be configured to maintain a record of all activities and present those activities to subsequent viewers of the content regardless of whether the activities were received during the actual livestream.
In particular embodiments, the system may be configured to take one or more activities from the end of a particular livestream, and pre-seed a subsequent livestream with one or more questions derived from the activities. In this way, the system may be configured to carry conversation and/or questions from one livestream to the next in order to ensure that issues, questions, etc. are resolved.
Multi-Facilitator and Multi-Group Functionality OverviewIn particular embodiments, the activity curation and segment mapping system (e.g., or any other suitable system or combination of systems described herein) may be configured for merging conversations for a presenter of content from multiple groups, which may, for example: (1) be viewing the same content; and (2) each have one or more respective facilitators associated with each respective group. The system may, for example, be configured to: (A) use natural language processing to identify common questions; and/or (B) flag questions based on effectiveness scores, facilitator scores, sentiment scoring, etc. The system may then be configured to generate one or more customized activity streams for each distinctive group of viewers of the content. In particular embodiments, the system may be configured to curate one or more activities from each of a plurality of distinctive content viewing groups (e.g., each having one or more respective facilitators) for display in an activity feed of an overall presenter of the content (e.g., or other facilitator of a particular selection of content viewing groups). In this way, the system may enable a large number of related groups that are viewing content to submit activities, and curate the activities in any suitable way described herein such that a facilitator or presenter of the content can view activities that are most relevant across a plurality of the viewing groups, without being inundated with an unmanageable number of activities to review, respond to, address, etc.
As may be understood in light of this disclosure, particular content (e.g., on demand content, livestreamed content, etc.) may be consumed by one or more different groups. Each particular group consuming the content may include one or more respective facilitators that may facilitate one or more activities submitted by one or more members of the respective groups.
In a particular example, a company may present a quarterly earnings livestream to discuss the previous quarter. The system may be configured to process activities submitted by various groups within the company such as, for example: (1) shareholders; (2) executives; (3) employees; etc. As may be understood in light of this disclosure, members of a particular group may view only activities submitted by members of their same respective group (e.g., using any suitable technique described herein.
In various embodiments, the system is configured to provide a collaborative platform for members of a particular group or organization in which, for example: (1) the system facilitates group conversations between or among group members; (2) the system enables collaboration between/among users within the group (e.g., create a synchronous and/or asynchronous conversation that is linked to the multimedia content); (3) the system tracks activity performed by each member of the group and makes this activity data available to other members of the group (e.g., by displaying which members of the group have viewed particular content, displaying activities left by other members of the group for particular pieces of content, the sentiment of each viewer, how engaged a viewer is with the multimedia content, how one viewer influences another viewer, etc.); (4) the system enables collaboration between end users of a first group that are subscribed to particular content (e.g., lessons) with other end uses that are subscribed to the same content but not part of the first group; (5) the system enables interaction between different particular groups and a presenter of the content (e.g., by selectively passing one or more activities from members of any particular group onto the presenter; (6) etc.
In a particular illustrative example of an activity management system implemented to include multi-group/multi-facilitator functionality, the activity management system may be implemented in the context of a monthly company livestream. The system may, for example, receive and store activities for each of a plurality of groups viewing the livestream including: (1) executives; (2) shareholders; (3) board of directors members; (4) accounting employees; (5) sales employees; (6) other employees; (7) etc. The groups may be further divided by time zone of particular members of the group. For example, in an international company, employees may be spread between North America, Europe, Asia, etc.
In particular embodiments, each group may have at least one associated facilitator. The system may be configured to enable the facilitator to pin one or more questions (e.g., activities from the group that they are facilitating that get passed on to the presenter. In this way, the system may be configured to enable interaction between the presenter and particular viewers, even in instances where there may be a very large number of viewers. By curating what activities the presenter sees through the use of group facilitators and sentiment and other scoring techniques, the system may enable the presenter to engage with the viewers without being overwhelmed by every single activity submitted by every viewer. The presenter may be able to, for example, view particular questions from viewers that have bubbled up through the filter of sentiment scoring and facilitator moderation. The facilitator (e.g., and the system) may, for example, act as an intermediary between the viewers and the presenter.
In particular embodiments, the system may automatically present particular activities (e.g., questions, comments, etc.) to the presenter from particular viewers. The system may, for example, automatically present activities from viewers with a particularly high influence score, present activities with a particular high sentiment and/or engagement score, etc. The system may, for example, automatically present the presenter with one or more activities that have been submitted by a plurality of viewers. For example, if a plurality of viewers (e.g., or at least a particular number of viewers) are asking the same or similar questions, the system may be configured to present the question to the presenter. If at least a particular number of viewers are indicating confusion during the presentation, the system may indicate that to the presenter to let the presenter know that they should explain in more detail what they are covering. In various embodiments, the system is configured to give a higher weight to particular groups (e.g., executives) when determining what activities to present to the presenter.
Example Activity Curation and Segment Mapping System ArchitectureIn particular embodiments, the Activity Curation and Segment Mapping System 3600 is configured to enable consumers of the multimedia content (e.g., end users, members of groups, members of the organization, etc.) to provide asynchronous and/or synchronouse conversations associated with the multimedia content from which the system is configured to derive viewer scoring and quality scoring for a particular piece of multimedia (e.g., content), for an overall group, for a multiple pieces of multimedia that are put together to form a course or lesson that is available to members within a particular group, etc. In still other embodiments, the Activity Curation and Segment Mapping System 3600 is configured to receive activities (e.g., any suitable activity described herein) from a plurality of different groups for a particular piece of content. The system may then be configured to curate the received activities from members of each of the plurality of different groups in order to generate a curated activity feed for the piece of content and provide the curated activity feed to at least one other individual, group, etc. In still other embodiments, the system is configured to display the curated activity feed along with the piece of content in any suitable manner described herein.
As may be understood from
The one or more computer networks 5315 may include any of a variety of types of wired or wireless computer networks such as the Internet, a private intranet, a public switch telephone network (PSTN), or any other type of network. The communication link between the Activity Management Server 110 and one or more databases 140 may be, for example, implemented via a Local Area Network (LAN) or via the Internet.
Exemplary Activity Curation and Segment Mapping System PlatformVarious embodiments of an Activity Curation and Segment Mapping System 3600 may be implemented in the context of any suitable system (e.g., a mobile computing system, a desktop computing system, etc.) that allows users (e.g., content creators, organizations and their end users (e.g., employees, members, etc.), facilitators (e.g., users that facilitate the viewing of one or more pieces of multimedia content by answering questions and ensuring that viewer questions, activities or concerns are addressed), presenters (e.g., users that provide content for viewing by other users), advertisers, and others associated with multimedia content to create asynchronous conversations between consumers of the multimedia content so that the users of the system can facilitate collaborative experiences when consuming the multimedia content and for any other suitable purpose.
Various aspects of the system's functionality may be executed by certain system modules, including an Activity Curation and Segment Mapping Module 3700. This module is discussed in greater detail below. Although this module is presented as a series of steps, it should be understood in light of this disclosure that various embodiments of the module(s) described herein may perform the steps described below in an order other than in which they are presented. In still other embodiments, the module(s) may omit certain steps described below. In various other embodiments, the module described herein may perform steps in addition to those described in the various system modules.
Activity Curation and Segment Mapping ModuleIn particular embodiments, when executing the Activity Curation and Segment Mapping Module 3700, the system begins, at Step 3710, by identifying a plurality of segments that make up a piece of content.
In various embodiments, the piece of content (e.g., piece of multimedia) may comprise, for example: (1) one or more videos; (2) one or more lessons; (3) one or more text files (e.g., such as one or more PDF or other documents; (4) one or more slideshows; (5) one or more presentations; (6) one or more articles; (7) one or more questionnaires; (8) one or more webpages; and/or (9) any other suitable piece of media, content or other item that an individual may view, listen to, read, or otherwise consume or experience (e.g., via one or more of their five senses). In still other embodiments, the piece of content may comprise one or more livestreamed pieces of media (e.g., video). In still other embodiments, the content may include an initial livestreamed piece of content that is at least temporarily preserved (e.g., saved in memory) for later viewing by one or more subsequent users).
In various embodiments, the plurality of segments comprises a plurality of distinct location segments that make up the piece of multimedia. For example, the piece of multimedia may define a coordinate system that breaks the piece of multimedia into a plurality of discrete location segments that each defines a particular portion of the piece of multimedia. The system may, for example, identify the plurality of segments as comprising a grid of location segments defined by the coordinate system (e.g., with each location segment having an associated row and column number within the grid, having an ‘x’ and ‘y’ coordinate within the coordinate system, etc.). In some embodiments, the piece of multimedia comprises a piece of three-dimensional multimedia (e.g., a 3D video). In such embodiments, the plurality of segments may be defined by a three dimensional coordinate system, with each particular location segment having an ‘x’, ‘y’, and ‘z’ coordinate that indicates the particular location segment's location within the piece of multimedia.
As a particular example, a piece of multimedia comprising an image may identify a discrete number of location segments that make up the image such that the image comprises a four segment by four segment grid of location segments (e.g., totally sixteen segments). Each segment may be identified by number, by location (e.g., 1,3), etc.
In various embodiments, each particular location segment may have any suitable shape (e.g., rectangular, square, circular, etc.) and any suitable size (e.g., based on a height and width of the piece of multimedia, based on a resolution of a display of a computing device viewing the multimedia, etc.). In some embodiments, a particular location segment comprises a single pixel on a display screen displaying the multimedia.
In particular embodiments, each particular segment may be defined, for example, by a particular page, column, line, word, letter, sentence, paragraph, section, cell, etc. of a piece of multimedia (e.g., such as a spreadsheet, word processing document, presentation, PDF, etc.). In other embodiments, each particular segment may be defined in any other suitable manner.
In some embodiments, a particular piece of multimedia comprises one or more location segments such that every portion of the particular piece of multimedia comprises (e.g., is associated with) a particular portion of at least one of the one or more location segments. In various embodiments, a particular point on a piece of multimedia may comprise a plurality of location segments. In still other embodiments, at least one portion of the piece of multimedia does not comprise any location segments.
In particular other embodiments, the plurality of segments comprises a plurality of distinct time segments that make up the piece of media content. In various embodiments in which the plurality of segments comprises a plurality of time segments, the piece of multimedia may comprise, for example, a video, audio file, slideshow, or other piece of multimedia having a particular playtime. In some embodiments, each particular time segment may comprise a discrete time segment (e.g., a particular time stamp of the piece of multimedia such as 3:15 for a discrete time segment at 3 minutes, 15 seconds into the piece of multimedia).
In other embodiments in which the plurality of segments comprises a plurality of time segments, each of the plurality of time segments may comprise a particular time slice of the complete runtime of the piece of multimedia. For example, each time segment may define a particular time range of the piece of multimedia. A particular video may, for example, be broken into a plurality of time segments that each includes ten second increments of the video. In the case of a 60 second video, for example, the video would include six ten second time segments spanning from: (1) the 0 second mark to the 10 second mark; (2) the 10 second mark to the 20 second mark; (3) the 20 second mark to the 30 second mark; (4) the 30 second mark to the 40 second mark; (5) the 40 second mark to the 50 second mark; and (6) the 50 second mark to the 60 second mark.
In various embodiments in which the plurality of distinct time segments comprise a plurality of time slice segments, the plurality of time segments may not overlap with any of the other time segments (e.g., a first time segment may end at a time that immediately proceeds the beginning time of the immediate next second time segment). In such embodiments, a beginning and an end time of each particular segment may be determined by a resolution of the multimedia (e.g., a number of frames per second) or a particular precision with which time is delineated within the piece of multimedia (e.g., by the second, millisecond, etc.). In other embodiments, the plurality of time segments may be substantially the same length. In other embodiments, the plurality of time segments may vary in length. For example, in particular embodiments, each particular time segment may coincide with a section, chapter, scene, topic, or other suitable aspect of the piece of multimedia that delineates different portions of the piece of multimedia.
In particular embodiments, the plurality of segments may comprise a plurality of time segments and a plurality of location segments. For example, in particular embodiments, the plurality of segments may include a time segment within a video in addition to a location segment at the particular time segment. In such embodiments, a piece of multimedia may be broken down by a plurality of time segments where each time segment comprises a plurality of respective location segments. As may be understood in the light the above, a particular segment of a plurality of segments may point to both a time (e.g., a timestamp, timeframe, etc.) within a piece of multimedia, as well as a location in or portion of the piece of multimedia. In a particular video, for example, that comprises six ten second time segments, the video may further comprise sixteen location segments (e.g., in a four by four grid). In such an embodiment, the system may be configured to identify both the time and location segments, and associate any activities with one or both of the time and location segments as appropriate. The association of activities with segments (e.g., time and/or location segments) will be discussed more fully below.
In particular embodiments identifying the plurality of segments that make up the piece of multimedia comprise retrieving one or more predefined segments for the piece of multimedia. In particular embodiments, the system is configured to receive a breakdown of the plurality of time segments from a user (e.g., an owner and/or creator of the piece of multimedia, a facilitator of one or more lessons or courses that is utilizing the piece of multimedia in the context of the one or more lessons or course, or any other suitable user). In such embodiments, the system may be configured to store data related to the definition of the plurality of segments in memory and associate the stored data with the piece of multimedia.
In other embodiments, identifying the plurality of segments that make up the piece of multimedia comprises substantially automatically breaking the piece of multimedia into a plurality of segments. In some embodiments, the system is configured to break the piece of multimedia down into the plurality of segments based at least in part on a type of the piece of multimedia. In particular embodiments, for example, the system may be configured to break down video, audio, or slideshow media content into a plurality of time segments. The system may do this based on, for example, a length of the video, audio, number of slides in a slideshow, etc., or any other suitable factor. In other embodiments, for example, the system may be configured to break down video, image, PDF files, articles and other content into a plurality of location segments. The system may break the multimedia into a plurality of location segments based on, for example, one or more dimensions of the piece of multimedia, a resolution of the piece of multimedia, a resolution of a display on which the piece of multimedia is being displayed, and/or any other suitable factor.
Returning to Step 3720, the system is configured to receive one or more activities from one or more members of one or more groups. In various embodiments, the system is configured to receive the one or more activities via any suitable user interface, for example, on a computing device associated with a first user. In some implementations, the one or more activities may be received via the graphical user interface 1500 shown in
In various embodiments, the system is configured to provide the software plugin or software application via a suitable centralized software application repository (e.g., the Apple App Store, Google Play store, etc.). In still other embodiments, the system is configured to provide the software plugin or software application for download via a suitable website or server. In various embodiments, the system is configured to provide the software plugin for installation on any suitable computing device (e.g., desktop computer, laptop computer, smartphone, tablet, etc.). In various embodiments, the software plugin is configured to serve as an add-on to an existing software application on the computing device (e.g., computing device 130), facilitate provision of one or more activities, and display of those activities in association with particular segments of a piece of multimedia.
In other embodiments, the system comprises a stand-alone multimedia viewer configured to display, play, and/or otherwise provide access to the piece of multimedia. In such embodiments, the system may be configured to receive one or more activities (e.g., the one or more activities) via the stand-alone multimedia viewer or other suitable software application, as described above.
In various embodiments, the one or more activities is an activity regarding the piece of multimedia. In particular embodiments, the one or more activities is a one or more activities regarding a particular segment of the piece of multimedia from the plurality of segments identified at Step 3710. In particular embodiments, the one or more activities comprises an identification of the particular segment.
In particular embodiments, the first time is any suitable time during which the first user is viewing, listening to, reading, or otherwise consuming the piece of multimedia. In other embodiments, the first time is a time subsequent to the first user's consumption of the piece of multimedia (e.g., after the user has watched, read, etc. the piece of multimedia).
As may be understood in light of this disclosure, particular content (e.g., on demand content, livestreamed content, etc.) may be consumed by one or more different groups. Each particular group consuming the content may include one or more respective facilitators that may facilitate one or more activities submitted by one or more members of the respective groups.
In a particular example, a company may present a quarterly earnings livestream to discuss the previous quarter. The system may be configured to process activities submitted by various groups within the company such as, for example: (1) shareholders; (2) executives; (3) employees; etc. As may be understood in light of this disclosure, members of a particular group may view only activities submitted by members of their same respective group (e.g., using any suitable technique described herein.
In various embodiments, the system is configured to provide a collaborative platform for members of a particular group or organization in which, for example: (1) the system facilitates group conversations between or among group members; (2) the system enables collaboration between/among users within the group (e.g., create a synchronous and/or asynchronous conversation that is linked to the multimedia content); (3) the system tracks activity performed by each member of the group and makes this activity data available to other members of the group (e.g., by displaying which members of the group have viewed particular content, displaying activities left by other members of the group for particular pieces of content, the sentiment of each viewer, how engaged a viewer is with the multimedia content, how one viewer influences another viewer, etc.); (4) the system enables collaboration between end users of a first group that are subscribed to particular content (e.g., lessons) with other end uses that are subscribed to the same content but not part of the first group; (5) the system enables interaction between different particular groups and a presenter of the content (e.g., by selectively passing one or more activities from members of any particular group onto the presenter; (6) etc.
In a particular illustrative example of an activity management system implemented to include multi-group/multi-facilitator functionality, the activity management system may be implemented in the context of a monthly company livestream. The system may, for example, receive and store activities for each of a plurality of groups viewing the livestream including: (1) executives; (2) shareholders; (3) board of directors members; (4) accounting employees; (5) sales employees; (6) other employees; (7) etc. The groups may be further divided by time zone of particular members of the group. For example, in an international company, employees may be spread between North America, Europe, Asia, etc.
In any embodiment described herein, using any technique described herein, the system may be configured to receive one or more activities from members of different groups described herein. In such embodiments, the system may enable members of distinct groups to interact with (e.g., in any suitable manner described herein) and provide activities for viewing by, for example, primarily members of the same group.
Continuing to Step 3730, the system is configured to process each of the one or more activities by: (1) digitally storing each of the one or more activities in memory; (2) mapping each of the one or more activities to a particular associated segment of the plurality of segments and a particular associated group of the one or more groups; and (3) electronically associated the one or more activities, the particular associated segment, and the particular associated group.
In particular embodiments, the system is configured to digitally store the first activity in memory. In some embodiments, the system is configured to store the first activity in a suitable database (e.g., the one or more databases 140 shown in
In particular embodiments, the system is configured to modify the piece of multimedia to include the one or more activities. In such embodiments, the system may be configured to store the one or more activities along with the piece of multimedia in a single file. In still other embodiments, the system is configured to store the one or more activities independent of the piece of multimedia (e.g., such as in one or more embodiments in which the piece of media is hosted by one or more third parties).
In any embodiment described herein, the system may be further configured to map the one or more activities to a first segment of the plurality of segments that make up the piece of multimedia. In particular, the system may be configured to map the one or more activities to the first segment based at least in part on each of the one or more activities. For example, the system may be configured to map each of the one or more activities to the first segment based at least in part on: (1) a time at which each of the one or more activities was received (e.g., the first time); (2) a segment selected by the one or more members and provided as part of each of the one or more activities; (3) an elapsed time into the total length of a piece of multimedia having a particular runtime at which a particular user begins submitting a first activity (e.g., a time corresponding to a time at which the user began typing the activity; moused over one or more predefined activities; etc.); (4) an elapsed time into the total length of a piece of multimedia having a particular runtime at which the user submitted the first activity; (5) a location on the piece of multimedia that the user clicked or otherwise selected when submitting the first activity (6) one or more contents of the first activity (e.g., a reference to a particular video timestamp, a reference to a particular feature, page number, line number, word, image, etc. in the piece of multimedia, etc.); and/or (6) any other suitable characteristic related to the first activity.
The system may, for example: (1) identify the first segment of the plurality of segments as being a segment with which the first activity is associated; and (2) map the first activity to the first segment in memory. In particular embodiments, mapping the first activity to the first segment comprise associating, or electronically linking, the first activity with a first segment identifier (e.g., a unique identifier that identifies the first segment from the plurality of segments). In particular, the first segment identifier may include any suitable identifier such as, for example a string, marker, pointer, timestamp, coordinate location, time range, tracker, etc.
The system may further be configured to electronically associate the first activity, the first segment (e.g., the first segment identifier), the piece of multimedia, and the group to which the first user belongs in memory. In various embodiments, by associating the first activity with both the piece of multimedia and the first segment, the system is configured to store the first activity remotely from the piece of multimedia and use the identifying information associated with the first activity to display the first activity along with the piece of multimedia in association with the first segment, as discussed more fully below. In particular embodiments, this storage and association arrangement may enable the system to provide the first activity for display along with the proper piece of multimedia at the proper segment to members of the appropriate group viewing the content, for example: (1) for a first activity made on a piece of multimedia hosted by the system (e.g., in a multimedia viewer or player hosted by the system); (2) for a first activity made on a piece of multimedia hosted by a third party, on a third party site, or through a third party application (e.g., as in one or more embodiments in which the system comprises one or more overlays); and/or (3) regardless of a manner in which the system received the first activity or the piece of multimedia is provided, stored, etc.
In such embodiments, the system is configured to improve a call time of the first activity when providing the first activity for display with the piece of multimedia because the system may, for example, only need to store the first activity itself in addition to the associated segment and multimedia identifiers (e.g., rather than storing the multimedia itself, which may include one or more video or other files of a relatively large size).
Returning to Step 3740, the system is configured to evaluate activity information for each of the one or more activities to determine a curation secure for each of the one activities. In various embodiments, the curation score may include any suitable score associated with the plurality of activities, such as any suitable score described herein.
Next, at Step 3750, the system is configured to automatically select, based at least in part on the curation score, a first portion of each of the one or more activities associated with each particular segment of the plurality of segments.
In this way, the system may be configured to enable interaction between the presenter and particular viewers, even in instances where there may be a very large number of viewers. By curating what activities the presenter sees through the use of group facilitators and sentiment and other scoring techniques, the system may enable the presenter to engage with the viewers without being overwhelmed by every single activity submitted by every viewer. The presenter may be able to, for example, view particular questions from viewers that have bubbled up through the filter of sentiment scoring and facilitator moderation. The facilitator may, for example, act as an intermediary between the viewers and the presenter.
In particular embodiments, the system may automatically present particular activities (e.g., questions, comments, etc.) to the presenter from particular viewers. The system may, for example, automatically present activities from viewer with a particularly high influence score, present activities with a particular high sentiment and/or engagement score, etc. The system may, for example, automatically present the presenter with one or more activities that have been submitted by a plurality of viewers. For example, if a plurality of viewers (e.g., or at least a particular number of viewers) are asking the same or similar questions, the system may be configured to present the question to the presenter. If at least a particular number of viewers are indicating confusion during the presentation, the system may indicate that to the presenter to let the presenter know that they should explain in more detail what they are covering. In various embodiments, the system is configured to give a higher weight to particular groups (e.g., executives) when determining what activities to present to the presenter.
Returning to Step 3750, the system is configured to process the selected first portion of each of the one or more activities by: (1) mapping the first portion of the one or more activities to the particular associated segment of the plurality of segments and a second group; (2) electronically associating the first portion of each of the one or more activities, the particular associated segments, and the second group (e.g., a presenter and/or group of presenters or other group).
In various embodiments, a computer-implemented data processing method for electronically curating and mapping one or more user activities to a respective segment of a piece of media content and electronically displaying the one or more activities in association with the respective segment of the piece of media content, the method comprising: (1) identifying, by one or more processors, a plurality of segments that make up the piece of media content; (2) electronically receiving, by one or more processors, a plurality of activities associated with the piece of media content from a plurality of different users; (3) processing each of the plurality of activities, by one or more processors, by: (A) digitally storing each of the plurality of activities in memory; (B) mapping each of the plurality of activities to a respective segment of the plurality of segments based at least in part on each of the plurality of activities; (C) identifying a respective group identifier for each of the plurality of activities, the group identifier indicating a respective group from a plurality of groups to which each of the plurality of different users belongs; and (D) electronically associating each of the plurality of activities, the respective segment, the respective group identifier, and the piece of media content in memory; (4) evaluating activity information, by one or more processors, for each of the plurality of activities to determine a curation score for each of the one or more activities; (5) automatically selecting, by one or more processors, a first portion of the plurality of activities associated with at least a particular segment of the plurality of segments; and (6) displaying, by one or more processors, on at least one computing device, the first portion of the plurality of activities in association with the at least the particular segment to at least one member of a second group.
In any embodiment described herein, the computer-implemented data processing method may, for example, (1) further comprise generating a respective sentiment value for each of the plurality of activities; and (2) evaluate the activity information for each of the plurality of activities to determine the curation score for each of the one or more activities comprises determining the curation score based at least in part on the respective sentiment value. In any embodiment described herein, the computer-implemented data processing method may, for example, include a plurality of segments that is defined by a plurality of distinct time segments that make up the piece of media content. In any embodiment described herein, the plurality of distinct time segments comprises a plurality of time slice segments and/or a plurality of discrete times.
In any embodiment described herein, evaluating the activity information to determine the curation score for each of the one or more activities may comprise determining the curation score based at least in part on the respective group identifier for each of the plurality of activities. In still other embodiments, the plurality of activities may include, for example: (1) one or more free-form text comments; (2) one or more video comments; (3) one or more text comments; and (4) one or more predefined comments.
In any embodiment described herein, analyzing the activity information to determine the curation score for each of the one or more activities may comprise determining the curation score based at least in part on receiving, from a facilitator of at least one of the plurality of groups, the curation score for a particular activity of the plurality of activities. In such embodiments, the first portion of the plurality of activities may comprise the particular activity.
In particular embodiments, an electronic data processing system for electronically managing a conversation that is linked to one or more segments of multimedia content divided into a plurality of segments, and for electronically analyzing activities that make up the conversation, may comprise: one or more processors; one or more databases coupled to the one or more processors; and a plurality of electronic data records stored in the one or more databases. In any embodiment described herein, the plurality of electronic data records: are linked to one or more segments of multimedia content; corresponds to an activity submitted by a viewer of the multimedia content; comprises an identifier for the multimedia content; comprises an identifier for the viewer who submitted the activity; comprises a group identifier for a group to which the viewer belongs; and comprises one or more data fields.
In any embodiment described herein, the one or more data fields may comprise one or more of: text associated with the activity when the activity is a comment submitted by the viewer; a time stamp for when the activity was initiated; a time stamp for when the activity was submitted; the number of words in the text associated with the activity; a reply count; an activity count; a question flag; an answer flag; an activity type; and an identifier for a related comment. In particular embodiments, the one or more processors may be configured for: determining the type of activity contained in each one of the one or more selected electronic data records; generating a sentiment value for each one of the plurality of electronic data records based on the type of activity associated with the electronic data record; transforming the sentiment value for at least some of the plurality of electronic data records into one or more sentiment scores; analyzing the plurality data records to identify at least one activity stored in a particular electronic data record based at least in part on the one or more sentiment scores; and generating, by the one or more processors, and storing, in computer memory, a new electronic record, where the new electronic record: is linked to one or more segments of multimedia content; corresponds to the at least one activity; comprises the identifier for the multimedia content; comprises the identifier for the viewer who submitted the at least one activity; and comprises a second group identifier for a group to which the viewer does not belong.
In particular embodiments, a computer-implemented data-processing method of providing one or more activities to consumers of a piece of multimedia that are in a particular group based on an activity map comprises: identifying, by one or more activity management servers, a plurality of segments that make up a piece of multimedia; receiving, by the one or more activity management servers, a plurality of activities from one or more users, each particular activity of the plurality of activities being associated with a respective particular segment of the plurality of segments, and each particular user of the one or more users belonging to a respective group of a plurality of groups; and generating, by the one or more activity management servers, an activity map for the piece of multimedia based at least in part on the plurality of segments. In any embodiment described herein, the activity map may indicate: the association between each particular activity of the plurality of activities and the respective particular segment of the plurality of segments; one or more associations between one or more particular activities of the plurality of activities and one or more other activities of the plurality of activities; and the respective group of the plurality of groups to which each of the one or more users that submitted each particular activity belongs.
In still other embodiments, the method may further comprise: receiving, by the one or more activity management servers, one or more additional activities, each particular one of the one or more additional activities being associated with a respective particular segment of the plurality of segments; as the system receives each particular one of the one or more additional activities, substantially continuously updating, by the one or more activity management servers, the activity map to indicate: the association between each particular one of the one or more additional activities and the respective particular segment; one or more associations between the one or more additional activities and the plurality of activities; and the respective group of the plurality of groups to which each of the one or more users that submitted each particular one of the one or more additional activities belongs. In any embodiment described herein, the method may further comprise: providing, by the one or more activity management servers: first data indicating each particular segment of the plurality of segments that is associated with: at least one activity of the plurality of activities; or the one or more additional activities; and second data indicating: the one or more associations between the one or more particular activities of the plurality of activities and the one or more other activities of the plurality of activities; and the one or more associations between the one or more additional activities and the plurality of activities; analyzing activity information for each of the plurality of activities and the one or more additional activities to determine a curation score for each of the one or more activities; automatically selecting, based at least in part on the curation score, a first portion of activities from the plurality of activities and the one or more additional activities based at least in part on the curation score; in response to selecting the first portion of activities, modifying the activity map to indicate: an association between each particular activity of the first portion of activities and the respective particular segment of the plurality of segments; and an association to a particular group other than the respective group of the plurality of groups to which each of the one or more users that submitted each particular activity of the first portion of activities belongs; receiving, by the one or more activity management servers, from a client device, a first request to display one or more activities associated with the piece of multimedia; and in response to receiving the first request: identifying the respective group to which a user of the client device belongs; and providing, by the one or more activity management servers, the plurality of activities for display on the client device along with the piece of multimedia according to the activity map based on the respective group to which the user of the client device belongs.
Illustrative Example of Activity Curation and Segment Mapping SystemAs shown in this figure, the system may store activities (e.g., any suitable activity described herein) for particular segments 3810, 3820, 3830, 3840, 3850, 3860, 3870 that make up a piece of content. Each of those activities may be associated with a respective segment 3810, 3820, 3830, 3840, 3850, 3860, 3870 and further associated with a distinctive group 3800, 400, 500, 600, 700. For example, particular activities associated with the content and group 4000 may include activity a1A-Z, 42A-Z, 43A-Z, 44A-Z, 45A-Z, 46A-Z, 47A-Z, etc.). Although a large number of activities are shown in
As may be understood from this figure, the Activity Curation and Segment Mapping System 3600 is configured to curate and cull down the mass of activities for the content for each distinctive group into a curated number of activities for a secondary or additional group (e.g., group 3800). In this way, the system may use any suitable curation technique described herein to curate all of the comments received in Groups 4000, 5000, 6000, and 7000 into the activities shown in association with the various segments shown in association with group 3800. In this way, a user or viewer of group 3800 activities for the particular piece of content may view only selected activities for the piece of content, even where those activities were submitted by members of other groups. This may be particularly useful for a central presenter of a piece of content viewing activities submitted by multiple groups consuming the content, in a quarterly earnings presentation such as described ed above, or in any other suitable application. The system may be configured the activities based on, for example: (1) requests of members of specific groups (e.g., facilitators); (2) sentiment scores for particular activities; (3) engagement of particular activities; (4) popularity of particular activity submitters; (5) seniority of particular groups to which the activities were submitters (e.g., or of the submitters themselves); and or any other suitable factor or combination of factors.
Peer Review Video SystemsIn particular embodiments, the system is configured to record and store a video of one or more users. The system may then be configured to generate a real-time rubric that is tied to the user-generated content, receive feedback via the rubric and/or other activity submissions by one or more viewers of the user-generated content, and generate a score for the user-generated content based at least in part on the feedback.
In a particular embodiment, the system is configured to: (1) prompt the user to confirm availability for a particular amount of time to record a video; (2) facilitate recording the user performing a designated activity (e.g., sales pitch, etc.) for the particular amount of time; (3) save the recorded video to computer memory; (4) electronically generate and associate a rubric with the recorded video; and (5) enable one or more viewers to review the video, submit one or more activities in any manner described herein, and complete the feedback rubric.
In a particular embodiment, by prompting the user to complete a task and immediately recording it, the system may be configured to capture a user performing a task without practice (e.g., on the spot). In various embodiments, this may enable other users to view an unrehearsed task completion by the performer, which may, for example, simulate an in-person course or other exercise which may require an individual to perform on the spot, rather than rehearsing, practicing, re-recording themselves, etc. In this way, the individual may receive more useful feedback via viewer activity submissions and rubric completions.
In particular embodiments, the system may be configured to calculate a sentiment or other score for the user-created content. The system may, for example, configured to calculate a sentiment value for each activity type found in a respective electronic record for the user-created, on-the-spot video. In various embodiments, each predefined text activity is assigned a corresponding predefined sentiment value. For example, when a rubric is presented, each potential answer of the rubric is preassigned a sentiment value. Additionally, each type of reaction has a corresponding predefined sentiment value assigned. For example, the one or more reactions selected from a group of emoticons may be assigned the following sentiment values—smiley face the sentiment of agreement, annoyed face—the sentiment of disagreement, sad face—the sentiment of dislike, surprised face—the sentiment of surprise, confused faced—the sentiment of confusion, and heart—the sentiment of liking something. Finally, each custom text entry submitted as an activity (e.g., a statement, a question, a reply to a statement, a reply to a question, etc.) may be run through one or more sentiment filters or algorithms that use one or more of natural language processing, text analysis, computational linguistics to systematically identify, quantify, and study affective states and subjective information in the activity to determine the emotional reaction of the viewer who submitted the activity.
In various embodiments, the system is configured to transform the sentiment values calculated for each one of the electronic data records into at least one sentiment score. For example, in various embodiments, the system may be configured to calculate the sentiment score for each portion of the on-the-spot video. In this way, an individual can view the overall sentiment score for all viewers of the multimedia content to determine which one or more segments are highly regarded and which one or more segments are negatively regarded (e.g., which parts of the video were performed well or not).
In some embodiments, the system may calculate the sentiment score for each segment of the particular multimedia content for a particular viewer. In this way, a facilitator (e.g., or particular viewer) of a course for which the user performed the on-demand task can evaluate how the individual is reacting to the multimedia content. For example, the facilitator may determine that the performer performed particular portions of the task better than other portions.
In other embodiments, the system may calculate a sentiment score for each segment of the particular multimedia content for all viewers in a group (e.g., all other members of the video-maker's class). The sentiment of the group may allow the facilitator to provide feedback and guidance to the video-maker regarding areas to improve upon.
In a particular example, the system may be configured to prompt the user to begin performing a sales pitch. The system may record the sales pitch and make the recorded video available to one or more viewers to provide feedback. The system may be configured to substantially immediately provide the recorded video to the viewers for review (e.g., without enabling the user to edit or otherwise modify or re-record the performance).
Evidence Based Behavioral Crediting Systems and MethodsIn particular embodiments, an evidence based behavioral crediting system is configured to generate one or more tokens (e.g., behavioral credits) in response to, for example: (1) performance of a particular action by an individual; (2) demonstration of a particular behavior by the individual; (3) etc. In various embodiments, the system is configured to provide a software application for installation on one or more user devices. In various embodiments, the system is configured to receive a request to provide a token to a particular individual. The system may then, in response to receiving the request, generate the token and associate the token with the individual in computer memory.
In particular embodiments, the system is configured to store requestor data in association with the token. The system may, for example, be configured to distinguish between: (1) tokens generated at the request of the individual; (2) tokens generated at the request of a peer of the individual (e.g., a classmate, fellow employee, etc.); (3) tokens generated by an assessor of the individual (e.g., a teacher, professor, group-leader, manage, etc.); (4) tokens generated by a guest (e.g., customer, audience member, etc.); (5) etc. The system may, for example, be configured to group particular individuals (e.g., using any suitable technique or factor described above).
In particular embodiments, the system may be configured to enable one or more users to award one or more tokens (e.g., one or more credits) to one or more other users by, for example: (1) entering a unique identifier for the one or more other users (e.g., using the software application; (2) scanning a machine-readable indicia associated with a particular user of the one or more users (e.g., which the particular user may display to the one or more users using the software application; and/or (3) identify the user using any other suitable unique identifier.
In particular embodiments, a particular user may provide the system with particular behaviors upon which the user is trying to improve (e.g., public speaking, clarity, participation, etc.). The system may be configured to provide nearby users with a listing of behaviors upon which a particular user is seeking to improve, and enable the nearby users to award the particular user with one or more tokens (e.g., credits) indicating an observation of a behavior or action that indicates effort, progress, etc. toward improving the one or more behaviors.
In particular embodiments, the system is configured to record (e.g., electronically store) one or more pieces of evidence in association with (e.g., linked to) the particular token and/or credit. The system may, for example, store one or more pieces of evidence such as: (1) a geolocation of the individual to whom the credit has been given or from whom the token request was received at the time of the request (e.g., based on a geolocation of a mobile computing device associated with the requestor or individual); (2) a time at which the credit and/or token was requested and/or generated; (3) data associated with the requestor (e.g., whether the requestor was a peer, guest, assessor, and/or the individual them self); (4) one or more written comments from the token requestor; (5) one or more images from the token requestor (e.g., one or more images of the event that caused them to give a token); (6) one or more videos; (7) etc.
In various embodiments, the system is configured to assign a value to each particular token (e.g., credit). The system may, for example, determine the value based on who gave the credit where the credit was given, what was the evidence submitted along with the credit request, etc. The system may, for example, give higher weights to credits given by others (e.g., as opposed to one's self) give higher weight to credits given in a school environment (e.g., as opposed to the individual's home), etc.
The system may be configured to track an individual's progress regarding a particular behavior. For example, for a student seeking to improve class participation, the system may receive credit and/or token requests for the student from one or more teaches, fellow students, etc. when the student participates, answers or asks a question in class, etc. In still other embodiments, the system is configured to identify other individuals that have made improvements (e.g., demonstrated through the token crediting system) under a framework through which a particular individual would like to improve. The system may then connect those individuals to enable the previous improver to provide guidance and mentorship to the individual seeking improvement.
CONCLUSIONMany modifications and other embodiments of the invention will come to mind to one skilled in the art to which this invention pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for the purposes of limitation.
Claims
1. A computer-implemented data processing method for electronically curating and mapping one or more user activities to a respective segment of a piece of media content and electronically displaying the one or more activities in association with the respective segment of the piece of media content, the method comprising:
- identifying, by one or more processors, a plurality of segments that make up the piece of media content;
- electronically receiving, by one or more processors, a plurality of activities associated with the piece of media content from a plurality of different users;
- processing each of the plurality of activities, by one or more processors, by: digitally storing each of the plurality of activities in memory; mapping each of the plurality of activities to a respective segment of the plurality of segments based at least in part on each of the plurality of activities; identifying a respective group identifier for each of the plurality of activities, the group identifier indicating a respective group from a plurality of groups to which each of the plurality of different users belongs; and electronically associating each of the plurality of activities, the respective segment, the respective group identifier, and the piece of media content in memory;
- evaluating activity information, by one or more processors, for each of the plurality of activities to determine a curation score for each of the one or more activities;
- automatically selecting, by one or more processors, a first portion of the plurality of activities associated with at least a particular segment of the plurality of segments; and
- displaying, by one or more processors, on at least one computing device, the first portion of the plurality of activities in association with the at least the particular segment to at least one member of a second group.
2. The computer-implemented data processing method of claim 1, wherein:
- the method further comprises generating a respective sentiment value for each of the plurality of activities; and
- evaluating the activity information for each of the plurality of activities to determine the curation score for each of the one or more activities comprises determining the curation score based at least in part on the respective sentiment value.
3. The computer-implemented data-processing method of claim 2, wherein the step of generating the sentiment value for each one of the plurality of activities further comprises:
- a. evaluating the activity information for each particular one of plurality of activities to determine a type of activity contained therein, wherein the type of activity is selected from a group consisting of: i. a predefined text activity that a particular viewer of each particular one of the plurality of activities can select via a graphical user interface when viewing each particular one of the plurality of activities along with the piece of media content; ii. a plurality of reactions that the particular viewer can select from the graphical user interface when viewing the media content, and iii. a custom text entry that is entered by the particular viewer via the graphical user interface in response to content of the media content or to each particular one of the plurality of activities submitted a user; and
- b. calculating the sentiment value for each activity type, wherein: i. each predefined text activity is assigned a corresponding predefined sentiment value; ii. each type of reaction from the plurality of reactions has a corresponding predefined sentiment value, and iii. each custom text activity is passed through a sentiment filter that determines a sentiment value based on one or more contents of the custom text.
4. The computer-implemented data processing method of claim 1, wherein the plurality of segments is defined by a plurality of distinct time segments that make up the piece of media content.
5. The computer-implemented data processing method of claim 4, wherein the plurality of distinct time segments comprises a plurality of time segments selected from the group consisting of:
- a plurality of time slice segments; and
- a plurality of discrete times.
6. The computer-implemented data processing method of claim 1, wherein evaluating the activity information to determine the curation score for each of the one or more activities comprises determining the curation score based at least in part on the respective group identifier for each of the plurality of activities.
7. The computer-implemented data processing method of claim 1, wherein each of the plurality of activities is selected from the group consisting of:
- one or more free-form text comments;
- one or more video comments;
- one or more text comments; and
- one or more predefined comments.
8. The computer-implemented data processing method of claim 1, wherein:
- evaluating the activity information to determine the curation score for each of the one or more activities comprises determining the curation score based at least in part on receiving, from a facilitator of at least one of the plurality of groups, the curation score for a particular activity of the plurality of activities; and
- the first portion of the plurality of activities comprises the particular activity.
9. An electronic data processing system for electronically managing a conversation that is linked to one or more segments of multimedia content divided into a plurality of segments, and for electronically analyzing activities that make up the conversation, comprising:
- one or more processors;
- one or more databases coupled to the one or more processors; and
- a plurality of electronic data records stored in the one or more databases, wherein each one of the plurality of electronic data records: are linked to one or more segments of multimedia content; corresponds to an activity submitted by a viewer of the multimedia content; comprises an identifier for the multimedia content; comprises an identifier for the viewer who submitted the activity; comprises a group identifier for a group to which the viewer belongs; and comprises one or more data fields selected from a group consisting of: text associated with the activity when the activity is a comment submitted by the viewer; a time stamp for when the activity was initiated; a time stamp for when the activity was submitted; the number of words in the text associated with the activity; a reply count; an activity count; a question flag; an answer flag; an activity type; and an identifier for a related comment;
- wherein the one or more processors are configured for: determining the type of activity contained in each one of the one or more selected electronic data records, wherein the type of activity is selected from a group consisting of: a predefined text activity that the viewer selected while viewing the multimedia content; a reaction that the viewer selected while viewing the multimedia content, and a custom text entry that is entered by the viewer in response to the subject matter of the multimedia content or to an activity submitted by another viewer of the multimedia content; generating a sentiment value for each one of the plurality of electronic data records based on the type of activity associated with the electronic data record; transforming the sentiment value for at least some of the plurality of electronic data records into one or more sentiment scores; analyzing the plurality data records to identify at least one activity stored in a particular electronic data record based at least in part on the one or more sentiment scores; and generating, by the one or more processors, and storing, in computer memory, a new electronic record, wherein the new electronic record: is linked to one or more segments of multimedia content; corresponds to the at least one activity; comprises the identifier for the multimedia content; comprises the identifier for the viewer who submitted the at least one activity; and comprises a second group identifier for a group to which the viewer does not belong.
10. The electronic data processing system of claim 9, wherein:
- each predefined text activity is assigned a corresponding predefined sentiment value;
- each type of reaction from the plurality of reactions has a corresponding predefined sentiment value, and
- each custom text entry is passed through a sentiment filter that determines a sentiment value based on the contents of the custom text.
11. The electronic data processing system of claim 9, wherein the plurality of electronic data records belongs to either a first plurality of electronic data records linked to a first segment of a particular multimedia content or to a second plurality of electronic data records linked to a second segment of the particular multimedia content.
12. The electronic data-processing system of claim 9, wherein the plurality of segments are selected from the group consisting of:
- one or more time segments; and
- one or more location segments.
13. A computer-implemented data-processing method of providing one or more activities to consumers of a piece of multimedia that are in a particular group based on an activity map, the method comprising:
- identifying, by one or more activity management servers, a plurality of segments that make up a piece of multimedia;
- receiving, by the one or more activity management servers, a plurality of activities from one or more users, each particular activity of the plurality of activities being associated with a respective particular segment of the plurality of segments, and each particular user of the one or more users belonging to a respective group of a plurality of groups;
- generating, by the one or more activity management servers, an activity map for the piece of multimedia based at least in part on the plurality of segments, the activity map indicating: the association between each particular activity of the plurality of activities and the respective particular segment of the plurality of segments; one or more associations between one or more particular activities of the plurality of activities and one or more other activities of the plurality of activities; and the respective group of the plurality of groups to which each of the one or more users that submitted each particular activity belongs;
- receiving, by the one or more activity management servers, one or more additional activities, each particular one of the one or more additional activities being associated with a respective particular segment of the plurality of segments;
- as the system receives each particular one of the one or more additional activities, substantially continuously updating, by the one or more activity management servers, the activity map to indicate: the association between each particular one of the one or more additional activities and the respective particular segment; one or more associations between the one or more additional activities and the plurality of activities; and the respective group of the plurality of groups to which each of the one or more users that submitted each particular one of the one or more additional activities belongs;
- providing, by the one or more activity management servers: first data indicating each particular segment of the plurality of segments that is associated with: at least one activity of the plurality of activities; or the one or more additional activities; and second data indicating: the one or more associations between the one or more particular activities of the plurality of activities and the one or more other activities of the plurality of activities; and the one or more associations between the one or more additional activities and the plurality of activities
- analyzing activity information for each of the plurality of activities and the one or more additional activities to determine a curation score for each of the one or more activities;
- automatically selecting, based at least in part on the curation score, a first portion of activities from the plurality of activities and the one or more additional activities based at least in part on the curation score;
- in response to selecting the first portion of activities, modifying the activity map to indicate: an association between each particular activity of the first portion of activities and the respective particular segment of the plurality of segments; and an association to a particular group other than the respective group of the plurality of groups to which each of the one or more users that submitted each particular activity of the first portion of activities belongs;
- receiving, by the one or more activity management servers, from a client device, a first request to display one or more activities associated with the piece of multimedia; and
- in response to receiving the first request: identifying the respective group to which a user of the client device belongs; and providing, by the one or more activity management servers, the plurality of activities for display on the client device along with the piece of multimedia according to the activity map based on the respective group to which the user of the client device belongs.
14. The computer-implemented data-processing method of claim 13, wherein each of the plurality of segments is selected from the group consisting of:
- one or more time segments; and
- one or more location segments.
15. The computer-implemented data-processing method of claim 13, wherein:
- the activity map comprises one or more electronic records; and
- generating the activity map comprises storing the plurality of activities in the one or more electronic records.
16. The computer-implemented data-processing method of claim 13, the method further comprising:
- receiving a second request to view the piece of multimedia from a second client device;
- identifying the respective group to which a second user of the second client device belongs as the particular group other than the respective group of the plurality of groups to which each of the one or more users that submitted each particular activity of the first portion of activities belongs; and
- providing, by the one or more activity management servers, the first portion of activities for display on the second client device along with the piece of multimedia according to the activity map based.
17. The computer-implemented data processing method of claim 13, wherein analyzing the activity information for each of the plurality of activities and the one or more additional activities to determine the curation score for each of the one or more activities comprises determining the curation score based at least in part on the respective group associated with each of the plurality of activities and the one or more additional activities.
18. The computer-implemented data processing method of claim 13, wherein the activity information comprises information selected from the group consisting of:
- text contained in for each of the plurality of activities and the one or more additional activities;
- a time stamp for when for each of the plurality of activities and the one or more additional activities was initiated;
- a time stamp for when for each of the plurality of activities and the one or more additional activities was submitted;
- a length of for each of the plurality of activities and the one or more additional activities;
- a number of words contained in for each of the plurality of activities and the one or more additional activities;
- a reaction type associated with for each of the plurality of activities and the one or more additional activities;
- a reply count for each of the plurality of activities and the one or more additional activities;
- an activity count for each of the plurality of activities and the one or more additional activities;
- a question flag associated with for each of the plurality of activities and the one or more additional activities;
- an answer flag associated with for each of the plurality of activities and the one or more additional activities;
- an activity type of for each of the plurality of activities and the one or more additional activities; and
- an identifier for a related activity that is linked to for each of the plurality of activities and the one or more additional activities.
19. The computer-implemented data processing method of claim 13, wherein the piece of multimedia is at least initially a livestreamed piece of multimedia.
20. The computer-implemented data processing method of claim 19, wherein receiving the one or more additional activities comprises receiving the one or more additional activities following an initial broadcast of the livestreamed piece of multimedia.
Type: Application
Filed: Jun 22, 2020
Publication Date: Oct 8, 2020
Applicant: Understory, LLC (Alpharetta, GA)
Inventors: Steve Benfield (Brookhaven, GA), Ahmad Aslami (Alpharetta, GA)
Application Number: 16/908,400