WO2017096466A1 - Systems methods and computer readable medium for creating and sharing thematically-defined streams of progressive visual media in a social network environment - Google Patents

Systems methods and computer readable medium for creating and sharing thematically-defined streams of progressive visual media in a social network environment Download PDF

Info

Publication number
WO2017096466A1
WO2017096466A1 PCT/CA2016/000313 CA2016000313W WO2017096466A1 WO 2017096466 A1 WO2017096466 A1 WO 2017096466A1 CA 2016000313 W CA2016000313 W CA 2016000313W WO 2017096466 A1 WO2017096466 A1 WO 2017096466A1
Authority
WO
WIPO (PCT)
Prior art keywords
media
stream
media item
user
visual media
Prior art date
Application number
PCT/CA2016/000313
Other languages
French (fr)
Inventor
Calvin Henderson
Nicholas MERCIER
Original Assignee
Gripp, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gripp, Inc. filed Critical Gripp, Inc.
Publication of WO2017096466A1 publication Critical patent/WO2017096466A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4886Data services, e.g. news ticker for displaying a ticker, e.g. scrolling banner for news, stock exchange, weather data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring

Definitions

  • the present disclosure generally relates to the field of social networking. Some embodiments relate generally to sharing visual media such as photographs and videos. More particularly, some embodiments relate to an apparatus and method for creating and sharing thematically-defined streams of progressive visual media in a social network environment.
  • Challenges may be encountered by individuals seeking to share elements of information having a related sequence or commonality.
  • the elements of information may be sharable in separate, unconnected postings, and accordingly, various systems, methods and/or computer-readable media adapted for facilitating thematically defined streams of visual media may be desirable.
  • challenges may additionally be encountered by multiple individuals wishing to share a single stream of content containing elements of information, made available, respectively, by two or more such individuals, where those elements of information have a related sequence or commonality.
  • these elements of information may only be shareable in separate, unconnected postings independently posted by each respective contributor, or known systems may require users to manually identify suitable content for, and curate, such streams.
  • various systems, methods, and/or computer-readable media adapted for facilitating thematically defined streams of visual media may be desirable.
  • systems and methods of creating and sharing thematically-defined streams of progressive visual media include: providing a media library and detecting a first at least one media item as having been uploaded to the media library by a user; identifying one or more thematically distinct elements of the first at least one media item uploaded to the media library by the user; assessing the thematically distinct elements of the first at least one media item uploaded to the media library by the user; generating a first progressive visual media stream in response to the user uploading the first at least one media item to the media library, the first progressive visual media stream configured to match the thematically distinct elements of the first at least one media item uploaded to the media library by the user; adding the at least one media item to the first progressive visual media stream.
  • the systems and methods include: detecting a second at least one media item as having been uploaded to the media library by the user; assessing the thematically distinct elements of the second at least one media item uploaded to the media library by the user; adding the second at least one media item to the first progressive visual media stream if the second at least one media item matches the thematically distinct elements of the first at least one media item; generating a second progressive media stream if the second at least one media item does not match the thematically distinct elements of the first at least one media item; providing, as an electronic output, all of the at least one media items in all of the progressive visual media streams in a sequential order determined by the corresponding thematically distinct elements.
  • the disclosure provides corresponding systems and devices, and logic structures such as machine-executable coded instruction sets for implementing such systems, devices, and methods.
  • the disclosure provides corresponding systems and devices, and logic structures such as machine-executable coded instruction sets for implementing such systems, devices, and methods.
  • FIG. 1 illustrates an exemplary social network environment in which thematically-defined streams of progressive visual media may be created, shared, and updated.
  • FIG. 2 illustrates an exemplary user interface according to some embodiments.
  • FIG. 3 is a flowchart of an exemplary process for creating, sharing, and updating thematically-defined streams of progressive visual media in a social network environment according to some embodiments.
  • FIG. 4 illustrates an alternative exemplary interface according to some embodiments.
  • FIG. 5 illustrates an exemplary camera interface in which single or multiple visual media items may be captured, imported, created, or uploaded, according to some embodiments.
  • FIG. 6 illustrates an exemplary visual media item review screen in which visual media items may be previewed, captioned, deleted, downloaded, and allocated to a stream of progressive visual media, according to some embodiments.
  • FIG. 7 illustrates an exemplary visual media stream selection interface in which users may select particular streams of progressive visual media to add, send, or contribute visual media items to, according to some embodiments,.
  • FIG. 8 illustrates an exemplary progressive visual media stream creation interface for creating, sharing, and/or publishing new streams of progressive visual media according to some embodiments.
  • FIG. 9 illustrates an exemplary interface for progressive visual media stream creators to manage which users may contribute items of visual media to streams they create according to some embodiments.
  • FIG. 10 illustrates an exemplary progressive visual media stream preview feed containing cover media of featured or sponsored streams, streams in close proximity to a user's current geographical location, and streams which the user is following according to some embodiments,.
  • FIG. 11 is a flowchart of an exemplary process for performing server-side data requests in a social network environment in which progressive visual media streams may be created and shared according to some embodiments.
  • FIG. 12 is a flowchart for an exemplary process for accessing a specific stream of progressive visual media, all the while determining if the client should have access to the media and whether or not they have the appropriate permissions to add content to the media stream according to some embodiments,.
  • FIG. 13 illustrates an exemplary interface for progressive visual media stream creators to manage which users may view or otherwise access streams they create.
  • a user of an existing social networking environment may wish to share with members of her social network an open-ended stream of photographs and videos depicting events which occur over the course of an overnight canoe trip as those events occur, in real-time.
  • a user may wish to create several such streams of visual media simultaneously, each respective stream depicting a thematically- distinct sequence of progressive events pertaining to her trip (e.g., fishing, white-water rafting, camping, and berry-picking) as they occur, in real-time.
  • her trip e.g., fishing, white-water rafting, camping, and berry-picking
  • the users of existing social networking environments also share items of visual media (e.g., photographs and/or videos) captured over longer intervals of time, in separate posts even though said separate posts depict thematically-related, or progressive, sequences of events.
  • items of visual media e.g., photographs and/or videos
  • a user of an existing social networking environment may periodically (e.g., weekly or daily) upload photographs and videos depicting the physical effects of a new daily exercise regimen on her body.
  • a user may, upon returning home, upload through a single post (e.g., by means of a digital photo album), a large collection of photographs and videos depicting a number of different events which occurred over the course of a recent trip to the Netherlands.
  • such a user may periodically (e.g., on a bi-weekly basis) upload posts, photographs and/or videos depicting significant moments which may have occurred over the course of work-related brainstorming sessions conducted during the development of a new app.
  • the apparatuses and methods underlying existing social network environments may only enable users who wish to share thematically-related visual media in real-time do so by publishing separate posts that share no inherent continuity with one another. Therefore, such users have historically been unable to share thematically- defined streams of progressive visual media depicting ongoing progressive stories (e.g., activities, goals, celebrations, projects, vacations, events, and so on), in real-time.
  • a major snack food manufacturer may wish to host a completely digital promotion called "America's Super Bowl Sunday," via one or more social networking platforms.
  • individuals participating in private and public Super Bowl parties across the nation may be invited to share, in real-time, visual media items depicting their respective individual experiences, with the chance to earn a prize.
  • social networking technology only allows individual promotion participants to post their respective visual media items individually, either directly to the promotion's social networking account, or to the user's own account, perhaps incorporating a hashtag or similar identifying marker.
  • each promotion participant is partaking in a virtual shared experience.
  • the individual visual media items captured and shared by each respective participant may depict their unique perspective and circumstance with relation to the shared experience at a given point in time.
  • a solution that allows sharing of each item of visual media submitted by each participant to one or more cohesive streams of progressive visual media, as they are submitted, in real-time, may provide enhancements to: the functional efficiency of computer media-content management systems, as such solutions may allow computer systems to automatically highlight and optimally organize individual pieces of submitted media into one or more virtual streams of thematically coherent content, thus lowering processing costs and time costs associated with generating such themes in the event that a user subsequently requests them; the breadth of functionality that computer media-content management systems are able to offer, as such solutions may enable such systems to identify possible thematically coherent streams to users by analysis of various elements.
  • the methods underlying such open-ended streams i.e., the systems and methods described herein
  • such users as have been described above to add an unlimited or extremely great number of new visual media items to an unlimited or extremely great number of existing streams in real-time as progressive events continue to develop (e.g., over the course of activities, sporting events, fitness goals, celebrations, hobbies, concerts, projects, award ceremonies, vacations, family reunions, and so on).
  • a social network user may, over one summer, maintain a habit of capturing and sharing, in real-time, progressive visual media items pertaining to: 1) her weekday volunteer work renovating a soup kitchen; 2) the restoration of her classic Ford Model T on weekends; 3) the weekly improvement in the skill set of the youth soccer team she coaches; and/or 4) the in-game highlights of her local college football team's occasional preseason games. All of this content is both progressive in nature and thematically distinct. Further, and all of these events occur at different times and places.
  • systems and methods described herein may enable users to create, share, and update ongoing streams of visual media depicting progressive stories. Such embodiments may enable users to keep track of, reference, and review, in an uninterrupted, chronologically-ordered, and thematically-separated form, the entire chain of visual media items they have already shared, in real-time, pertaining to any such particular theme. This may include the most recent visual media item(s) shared with regard to each, as the user continues capturing and sharing new visual media items in real-time.
  • the systems and methods described herein may enable users to label each progressive visual media stream with an encompassing and/or representative identifier, thus communicating the theme of each stream to an audience. Further, the systems and methods described herein may simultaneously enable users to attach to each individual visual media item within each progressive visual media stream a separate title, thus demarcating the theme of each individual "step" in each progressive stream, in verbal form, in real-time. Additionally, the systems and methods described herein may enable users to interact directly with other users by means of, and within the context of, progressive streams of visual media shared by other users through commenting, "liking", and "favoriting" actions. .
  • the systems and methods described herein may further enable users to create, share, and update "group" streams of progressive visual media.
  • Such streams may refer to streams in which members of a segmented social network, such as a group of classmates, or members of the entire body of a social network environment (e.g., the public), may be enabled to individually, at any time(s) or place(s), or in a specified time(s) or place(s), participate as a group or team in sharing progressive visual media items by means of individually uploading visual media items which may then be identified as belonging to one or more progressive visual media streams to which all or some members have equal or communal access.
  • members of a study group enrolled in an undergraduate chemistry lab may wish to, over the course of one night, share real-time updates of visual media illustrating progressive sequences of chemical diagrams and equations with one-another, through means of a private group stream.
  • a progressive media stream of content depicting same may be automatically created out of uploaded media.
  • a visual media content stream related to a music festival may be activated on the morning of the festival's launch.
  • Such a stream may be created with a "public access" policy whereby all users may be given access to updating and viewing capabilities.
  • Attendees of the music festival may be encouraged to, over the course of the festival, document themselves picking up and recycling garbage in one or more items of visual media, and to share said items of visual media in real-time through the means of the group stream. All concert-goers would be able to add new visual media, in real-time, and relevant new items of uploaded visual media would be added to the music festival's video content stream.
  • Such an application may provide concert-goers with a participatory way to maintain a green space, while providing the festival's organizers with a new form of promotional tool, that has been unavailable prior to the advent of the systems and methods described herein.
  • Such stories, when taken as a whole, are thematically-defined streams of events.
  • the systems and methods described herein may not only eliminate the need for content creators to upload such visual media via separate posts, but may also ensure that such visual media remains contextually-grounded within the context of a progressive stream of visual media. This may be accomplished by enabling users to create, share, and update ongoing streams of automatically sorted visual media depicting progressive events. Thus, the systems and methods described herein may also ensure that each piece of such visual media remains within its temporal place in the overall sequence of visual media composing such a progressive stream. The systems and methods described herein may, thus, eliminate fragmentation and the separation of thematically-related content, as well as the loss of progressive meaning of such content.
  • the systems and methods described herein may further include various features configured so that the individual items of visual media comprising any given stream of progressive visual media may be viewed in chronological order, with older visual media depicting how the outcome(s) of a given progressive story came to fruition being fully- displayed, in users' content feeds, prior to the full display of newer visual media depicting such an outcome(s).
  • the systems and methods described herein may track the most recently added item(s) of visual media in each progressive visual media stream viewed by each user that has viewed each stream.
  • the systems and methods described herein may ensure that any additional item(s) of visual media added to such a progressive visual media stream are only fully- presented to a respective viewer of a user's respective content feed after each respective viewer has viewed the item of visual media immediately preceding each additional item of visual media subsequently added, and so on. This may ensure that the individual items of visual media comprising progressive visual media streams are always displayed to users in chronological order. User content feeds may automatically remain "paused" on the most recently-added item of visual media in each progressive visual media stream viewed by each user.
  • the systems and methods described herein may ensure that users can "follow" progressive streams of visual media, thus receiving real-time notifications (e.g., push notifications, in-app notifications, etc.) as new visual media items are added to streams that a user follows.
  • Followed streams may, additionally, appear within a distinct following feed on followers' profiles, for ease of access.
  • a user may receive push notifications, in-app notifications, messages, and other forms of notifications, whenever new visual media items are added to the stream. This may allow a user who follows said stream to "truly" follow along with the experiences depicted within the stream as they unfold in real-time.
  • the systems and methods described herein may allow users to follow progressive streams of visual media rather than individual users or groups. This may ensure that users' following feeds may be populated exclusively by content streams that they deem to be of interest, whereas currently available systems and methods may often result in users' following feeds being populated with thematically wide-ranging content posted by those users - much of which may not be of interest to the user, cluttering their following feed and burying the content that they do find interesting.
  • the systems and methods described herein by enabling users to create, share, and update ongoing streams of visual media depicting progressive stories, may enable advertisers to create such advertisements.
  • the systems and methods described herein may enable a hardware store to create a paid advertisement encouraging users within a specific geographical region, and within a specific time frame, to post a stream of progressive visual media that may be continually updated with new visual media in realtime.
  • Such a stream may depict, for example, an ongoing kitchen renovation project from beginning to end over the term of the contest period.
  • users may respond to such an advertisement, for instance, by tapping an "accept" button appearing within the field of the advertisement.
  • a promotional progressive visual media stream template may be presented to the user within the user's profile.
  • the user may then upload relevant visual media items, in accordance with the sponsor's requirements.
  • This stream may then appear within the content feeds of members of the respondent's social network, who may then be exposed to the respondent's updates in real-time. Further, this stream may appear in the content stream of the brand that sponsored or requested the respondent's stream, thereby increasing total campaign reach and the likelihood that members of a respondent's social network will themselves may respond to the advertisement after observing the respondent's response.
  • the respondent's response may appear within a promotional feed pertaining to the parent campaign located within the advertiser's channel or profile page within the social network.
  • the community of users may then vote for their favorite respondent stream created in response to such an advertisement, through means of the advertiser's promotional feed, and the creator of the stream with the most votes could then be rewarded, for instance, with a gift card to be redeemed at the advertiser's hardware store.
  • each respondent's response to such a campaign could be added to a single, "parent" stream of progressive visual media.
  • Said "parent " streams may contain the responses of all respondents to the advertisement, in chronological order, according to each visual media item's time of upload, time of capture (e.g., as determined by exchangeable image file-format (“EXIF”) data), or some other relevant metric.
  • EXIF exchangeable image file-format
  • the systems and methods described herein may also allow advertisers and their service providers to design, build, customize, purchase, publish, and analyze the performance of such advertising campaigns by means of an interactive self-serve dashboard apparatus provided by the social network environment operator.
  • such a self-serve dashboard may enable advertisers to upload items of visual media describing the progressive visual media streams related to their advertising campaign(s). For example, through the dashboard, an advertiser may upload a video instructing users to post a stream of progressive visual media depicting the ongoing progress of their kitchen renovations over the term of the contest period, a campaign title, a secondary title, an incentive or prize, target demographic characteristics and so on.
  • the systems and methods described herein may, via the self-serve dashboard, enable advertisers to upload, select, or design any number of promotional visual media filters (e.g., a filter comprised of an animated hardware store logo, designed to overlay photographs), templates, skins, and the like, to accompany their advertising campaign.
  • promotional visual media filters e.g., a filter comprised of an animated hardware store logo, designed to overlay photographs
  • templates e.g., a filter comprised of an animated hardware store logo, designed to overlay photographs
  • skins e.g., a filter comprised of an animated hardware store logo, designed to overlay photographs
  • the systems and methods described herein may, via the self-serve dashboard, enable advertisers to upload, select, or design any number of promotional visual media filters (e.g., a filter comprised of an animated hardware store logo, designed to overlay photographs), templates, skins, and the like, to accompany their advertising campaign.
  • such elements may enable users to modify the appearance of the visual media items within the progressive visual media streams they upload in response to the advertisement through the
  • the self-serve dashboard may first provide advertisers with a quote or price pertaining to their campaign, and the option to electronically purchase their specified campaign (e.g., by credit card, electronic money transfer, PayPal, and so on). After such payment is processed and/or approved, the payee's campaign may then automatically be published and may automatically be terminated upon satisfaction of pre-defined conditions.
  • the systems and methods described herein may, via the above-mentioned dashboard, enable advertisers to: view the progressive visual media streams uploaded by users in response to their advertisement(s); view analytic data, figures, graphs, charts, and so on pertaining to the performance of their campaign(s) (e.g., number of advertisement views, number of progressive visual media streams uploaded in response to the advertisement, average number of visual media items within respondents' respondent streams, number of respondent stream views by non-respondents, number of respondent stream views by members of respondents' social networks, number of respondents who became respondents only after first viewing prior respondents' respondent streams, and so on).
  • campaigns e.g., number of advertisement views, number of progressive visual media streams uploaded in response to the advertisement, average number of visual media items within respondents' respondent streams, number of respondent stream views by non-respondents, number of respondent stream views by members of respondents' social networks, number of respondents who became respondents only after first viewing prior respondents' respondent streams, and so on).
  • the systems and methods described herein via the above-mentioned dashboard, may also display tertiary data (e.g., the respondent stream(s) voted most popular by users, the respondent stream(s) with the highest number of views, the respondent stream(s) with the fastest time of completion, and so on), and so on.
  • tertiary data e.g., the respondent stream(s) voted most popular by users, the respondent stream(s) with the highest number of views, the respondent stream(s) with the fastest time of completion, and so on
  • the systems and methods described herein may thus enable advertisers to quantify and analyze users' engagement with their brands, engage users with participatory advertisements, interact with users through participatory advertisements, insert their brands into users' progressive visual media streams, incentivize select users, and enjoy a level of advertisement campaign reach to an extent and degree and a nature that have hitherto not been possible.
  • This may function to ensure not only that the story and its content will be automatically erased within 24 hours, but also that users cannot simultaneously create and share multiple stories which allow for a thematic distinction between their content. Further, the parameters of such a story are often limited by a rigid template. Thus, the user may have little to no ability to create a stream with custom parameters or characteristics. Rather, the user may be given only the ability to add content to the singular template stream with preset parameters.
  • the systems and methods described herein may allow users to create an uncapped number of simultaneous streams at any time, each of which may be assigned a set of custom parameters, determined by users. Users may first capture media or import it from their device or another source. Each individual piece of media may be added to a unique media data object. The media data object may ensure that edits made to the individual pieces of media are saved and properly presented via a user interface. The media data object may also store media location data, description data, as well as time capture data.
  • the user may enter a media review or editing screen which may allow the user to review their media, add or edit textual or verbal descriptions and/or remove media data objects from the list of media.
  • the user may also apply visual effects such as filters, stickers, skins, animations, etc.
  • the user may configure stream wide parameters (see Settings Diagram), and set a thematically-descriptive name for the stream.
  • the media data objects may be uploaded through the Media Upload Process (described below), where the Stream ID is passed as a parameter when adding to an existing Stream, or a separate function is called which will first create a Stream.
  • An alternative implementation may allow users to create empty streams (which may not require media to be uploaded at the time of creation). In such an embodiment, users may immediately be prompted to set a stream name, privacy, and contributor parameters.
  • a Create Stream Request may be sent directly to the System Web Client (not through the Media Processing Server) which may contain all stream configurations and parameters.
  • a Stream ID (unique Stream identifier) may be generated, and the stream data may be inserted into the database.
  • a sequential data value corresponding to the top indexed (most recently added) media may be incremented. By default, this value may begin as a value of 0. In such cases, any streams with 0 as their top index may be identified as empty streams. Any request to access an empty stream may be refused until a piece of media is added.
  • the media upload process may first require that the client (e.g., mobile software application) have a valid Stream ID.
  • a user may be required to indicate that a new Stream is being created.
  • the media upload process may then take the media data objects in the order that they were added, and may encode media data object parameters into a JSON (JavaScript Object Notation) object.
  • the JSON object may include information describing the associated media file, for example the number of bytes included in the media file.
  • a stream may be opened to a dedicated web server responsible for processing media uploads, and the JSON object may converted into an array of bytes.
  • the length of the array may be the first piece of data to be sent to the media processing server in the form of a 4 byte integer.
  • the array of bytes may be sent next.
  • the binary media data (e.g., the information comprising a visual media recording) may be sent last.
  • the media processing server may reconstruct the binarized JSON object, and then the binary media data.
  • a unique identifier may be generated to represent the particular piece of media.
  • media forms can either be images or videos.
  • Image data may be processed immediately, with different resolution version of the image file being rendered as multiple files. The different image resolution files may be sent to a logical storage unit.
  • Video may be sent to a transcoder, then after being transcoded may be sent to a logical storage unit. If this piece of media is set to be uploaded to a new stream, the stream information and parameters may be extracted from the JSON Object, and a stream creation request may be sent to the System Web Server.
  • the stream creation request may create a unique identifier for the stream, and insert the Stream ID as well as the Stream parameters into the appropriate table in a database.
  • the Stream ID may be returned to the media processing server. If the piece of media was sent be uploaded to an existing stream, the Stream ID may be accessed directly from the media parameters.
  • a media upload request may be sent to the System Web Server containing the Stream ID, Media ID, and media parameters. The media information may be inserted into the appropriate table in the database.
  • the media processing server may return the client a Boolean value indicating a successful or failed media upload. In the case that a new Stream was created, the Stream ID may also be returned. This process may repeat for any subsequent media in the media data object list. Once the list has been fully processed, the upload may be considered to be finished.
  • the process of uploading may be similar to the Media Upload Process with several differences. For example, a list of Stream IDs may be bundled with each media upload, rather than just one. A Media ID may be generated as described in the Media Upload Process.
  • the media information may be inserted into the database, with the same Media ID, but corresponding to the current Stream ID (e.g., supposing that there are 5 Stream IDs ⁇ 1 , 2, 3, 4, 5 ⁇ , and a Media ID 10, the corresponding insertion may have [1 - 10], [2 - 10], [3 - 10], [4 - 10], [5 - 10].
  • the culminating primary key may be the combination of Stream ID and Media ID, forming a unique identifier for each stream.
  • part of the response to a "Fetch Stream" request generated by a user may contain the current index of the user in that Stream (the most recent media the user has seen). If the stream has never been seen, the default index may be 0. Every time the user changes visual media items, some embodiments may check for an increase in position to that of the current index. If the position is higher, the client may send an "Update Memory" request which may contain the Stream ID and the new position. The system may query the memory table in the database in order to verify that the position index value is 'ndeed larger than the previous index. If this is true, the row may be updated.
  • the start position in the stream when the stream is loaded by that user may be the index + 1 (i.e., the next media item) where possible (e.g., if at the end of the stream, the final media item may be presented). Every time a new piece of media is uploaded, it may receive a unique (incremental) index.
  • the client may send a periodic Stream Update Request containing the highest indexed piece of media as well as the Stream ID.
  • the server may query the database for media with a higher index than the one sent by the client. Any rows returned by the database may be new pieces of media, and may be returned to the client.
  • the client may parse the response media (if any) and may update the Stream view on the application by appending the new media to the end of the stream, or to its appropriate place within the stream, based on relative timestamp data across items within the stream and items being added to the stream.
  • a user may activate (e.g., tap) a user interface element indicating that the user wishes to follow (or unfollow) a stream. Activation of this element may cause a request to be sent which may contain the Stream ID (unique identifier to the stream) as well as a Boolean value corresponding to whether the user is following or unfollowing the stream, to the System Web Server. If the database following table already contains a user's follow state corresponding the received Stream ID, it is updated according to the Boolean parameter. If it does not contain a user's follow state corresponding to the received Stream ID, it may create an entry for the user's follow state. In the event that a new entry is created, the server may propagate a "follow" push notification of the action to the creator of the story. The server may respond to the client with no explicit data.
  • Stream ID unique identifier to the stream
  • Boolean value corresponding to whether the user is following or unfollowing the stream
  • user may collaborate with other users in creating, sharing, and submitting visual media items to single streams of progressive visual media, which may be updated in real-time with new visual media items as those visual media items are submitted to the stream by contributors.
  • some embodiments described herein may allow multiple users to contribute content directly to visual media streams, as opposed to precedent content pools.
  • a stream's creator may select or invite specific other users as having permission to submit visual media items to a given stream, or may make contributions to a given stream of visual media open to the public (i.e., to any user in the social network).
  • the User ID (unique identifier for a user) as well as the Stream ID (unique identifier for a story) may be sent as parameters for a Store Fetch Request.
  • the server validates the request, and will then authenticate the user's access to a stream by querying the stream entries in the database. If there is a Contributor Group ID present in the row, a second query request may be sent to determine if the user is a member of the stream's contributor group. If the user is a member, the server may return a contributor flag (alongside the rest of the stream data) set to true. If not, this flag may be false.
  • the client may check for the contributor flag, and if the flag is set to true, may cause the approp r iate user interface element to be presented, indicating that the user can contribute visual media items to the stream.
  • all applicable visual media items submitted during a Mass submission Event may be published within a single stream, in real-time or near-real-time, in chronological order. In such cases, the process would be an extension of the processes described in paragraphs above.
  • Geo-stamps may serve to determine, in applicable instances, whether a given visual media item shares one or more thematic elements with a stream's content, based on its geographical nature, or, alternatively, the order in which visual media items are sequenced in a stream. Such sequencing may be based on the relative geographical locations at which each visual media item was captured (according to the Geo- stamps).
  • Timestamps and Geo-stamps may be sent to the System Web Server alongside the visual media files.
  • Such media data may be sent alongside the media parameters and configurations of each respective visual media item submitted during the Mass submission Event, via respective Media Upload Requests for each item submitted by each respective user.
  • the timestamps and, where applicable, Geo- stamps, of each respective visual media item submitted to a given stream may determine the sequential position of each visual media item within that stream, relative to every other visual media item already within the stream, every visual media item being concurrently submitted to the stream, and any additional visual media items which may be submitted to the stream at a future point in time.
  • streams which chronologically sequence visual media items according to the times at which such items are captured, as opposed to the time at which such items are submitted may be queried in the order of visual media item capture time, rather than visual media item upload time.
  • This process may ensure that visual media items concurrently submitted to any one stream by many users during Mass submission Events will be sequenced and published within such a stream in real-time according to their capture times, regardless of whether each item is submitted at its time of capture, or at times subsequent to its time of capture.
  • FIG. 1 illustrates an exemplary social network environment 100 in which thematically-defined streams of progressive visual media could be created and shared.
  • One or more users 102 (102A-102N) at user devices 110 are coupled to a social network provider 130 via a communications network 120.
  • user devices 110 may include a computer, a personal digital assistant (PDA), a smartphone, a tablet computer, and so forth.
  • the communications network 120 may include a local area network (LAN), a wide area network (WAN), a wireless network, a cellular network, an intranet, the Internet, and so forth.
  • the social network provider 130 may be an entity or person that provides social networking services, visual media sharing services, communication services, dating services, company intranets, and/or online games, etc.
  • the social network provider 130 may host a website that allows one or more users 102 at one or more user devices 110 to communicate with one another via the communications network 120.
  • the social network environment 100 may offer a user 102 an opportunity to share visual media with one or more users 102 who have attended, for example, the same university.
  • a social network environment 100 includes a segmented community, such as a separate, exclusive, or semi-exclusive subset of the social network environment 100, or social network 100 wherein only users 102 who are authenticated segmented community members may access and interact with other members of their respective segmented community.
  • FIG. 2 is an exemplary screenshot of a content feed display 210 for a social network environment user 260.
  • Social network environment user 230 creates progressive visual media stream 250, which appears in content feed 210 of social network environment user 260.
  • Social network environment user 230 has sequentially added visual media items 204, 203, 202, and 201 to progressive visual media stream 250.
  • visual media items 204, 203, 202 and 201 are visualizations of media items that have been sequentially added to the progressive media stream 250.
  • visual media items 204, 203, 202 and 201 represent thematically connected photos forming parts of a user's 260 weight loss journey (e.g., see para 16 above).
  • Visual media items 204, 203, and 201 may not be currently selected and may represent items that prior or subsequent to the point in the progressive visual media stream 250 that a viewer is currently viewing. As a result visual media items 204, 203, and 201 may be "greyed out” or otherwise partially obscured in order to draw user 260 attention to the currently selected or displayed visual media item 202.
  • the systems and methods described herein may function to arrange visual media items 204, 203, 202 and 201 in sequence by processing and analyzing various factors (e.g., time of upload, metadata, contextual analysis of the visual media items), and may detect and add subsequently added visual media items to the pertinent thematically-defined progressive visual media stream 250.
  • the visual item depicted in 204 illustrates a photograph of a woman at the beginning of her weight loss journey, thus she is depicted as being of larger stature than at 203, 202, or 201.
  • the visual item depicted in 203 illustrates a photograph of a woman at the second stage in sequence of her weight loss journey, thus she is depicted as being of larger stature than at 202, or 201 , but of smaller stature than at 204.
  • the visual item depicted in 202 illustrates a photograph of a woman at the third stage in sequence of her weight loss journey, thus she is depicted as being of larger stature than at 201 , but of smaller stature than at 204, 203, or 201.
  • the visual item depicted in 201 illustrates a photograph of a woman at the fourth stage in sequence of her weight loss journey, thus she is depicted as being of smaller stature than at 204, 203, and 202.
  • FIG. 2 only visual media item 202 is fully-displayed in content feed 210 of social network environment user 260.
  • Thumbnail visual media items 204A, 203A, 202A, and 201 A displayed within content feed 210 of social network environment user 260 are respectively representative of visual media items 204, 203, 202, and 201 which have been sequentially added to progressive visual media stream 250 by social network environment user 230.
  • Thumbnail visual media items 204A, 203A, 202A, and 201 A displayed within content feed 210 of social network environment user 260 make social network environment user 260 visually aware of the presence and position of visual media items 204, 203, 202, and 201 within progressive visual media stream 250, eliminating the need for social network environment user 260 to fully-display within content feed 210 through manual action visual media items 204, 203, 202, and 201 to become aware of their presence and position within progressive visual media stream 250.
  • visual media item 202 is the second most-recent visual media item added to progressive visual media stream 250 by social network environment user 230. While visual media item 201 is the most recent visual media item added to progressive visual media stream 250 by social network environment user 230, the most recent visual media item added to progressive visual media stream 250 viewed by social network environment user 260 prior to the addition of visual media item 201 to progressive visual media stream 250 by social network environment user 230 was visual media item 203.
  • the systems and methods described herein may record by means of social network environment user viewing activity which visual media item added to each progressive visual media stream is the most recent visual media item added to each progressive visual media stream viewed by each social network environment user who has viewed each progressive visual media stream prior to the addition of any subsequent visual media item or items to each progressive visual media stream by the social network environment user who created each progressive visual media stream.
  • visual media item 202 is the visual media item 202 added to progressive visual media stream 250 by social network environment user 230 directly subsequent to the addition of visual media item 203 to progressive visual media stream 250 by social network environment user 230, and is thus fully-displayed in content feed 210 of social network environment user 260 prior to the full-display of social media item 201 , which was added to progressive visual media stream 250 by social network environment user 230 directly subsequent to the addition of visual media item 202 to progressive visual media stream 250 by social network environment user 230, thus fully- displaying in sequential order of addition to progressive visual media stream 250 by social network environment user 230 in content feed 210 of social network environment user 260 visual media items 204, 203, 202, and 201 which have been sequentially added to progressive visual media stream 250 by social network environment user 230, with subsequent visual media items added to progressive visual media stream 250 by social network environment user 230 only being fully-displayed each in turn in content feed 210 of social network environment user 260 after such point as content feed
  • social network environment user 260 may manually navigate between visual media items 204, 203, 202, and 201 independent of any other process(es) by means of a horizontal swipe action undertaken across the field of content feed 210, with a leftward horizontal swipe action causing visual media item 201 , and so on, to be fully-displayed in content feed 210, and with a rightward horizontal swipe action causing visual media item 203, and so on, to be fully-displayed in content feed 210, or by means of a manual tap action undertaken on the field immediately overlying each of thumbnail visual media items 201 A, 202A, 203A, and 204A, with a tap action undertaken over each respective field causing, respectively, visual media items 201 , 202, 203, or 204 to be fully-displayed in content feed 210 of social network environment user 260.
  • thumbnail visual media items 204A and 203A are overlain by a distinctive visual filter, indicating that visual media items 204 and 203, have, respectively, at a past time been fully-displayed in content feed 210 of social network environment user 260.
  • Thumbnail visual media item 202A is overlain by no distinctive visual filter, indicating that visual media item 202 is the visual media item within progressive visual media stream 250 that is at present fully-displayed in content feed 210 of social network environment user 260.
  • Thumbnail visual media item 201 A is overlain by a distinctive visual filter distinct from the distinctive visual filter lain over thumbnail visual media items 204A and 203A, indicating that visual media item 201 has not in the past been fully-displayed in content feed 210 of social network environment user 260.
  • social network environment user 260 can manually switch from displaying in content feed 210 progressive visual media stream 250 created by social network environment user 230 to displaying in content feed 210 progressive visual media stream 220 created by social network environment user 240 by means of an upward vertical swipe action undertaken across the field of content feed 210, and so on.
  • Social network environment user 260 could at such point proceed to manually switch from displaying in content feed 210 progressive visual media stream 220 created by social network environment user 240 back to displaying in content feed 210 progressive visual media stream 250 created by social network environment user 230 by means of a downward vertical swipe action undertaken across the field of content feed 210, and so on.
  • FIG. 3 is a flowchart of an exemplary process 3000 for creating, sharing, and updating thematically-defined streams of progressive visual media in a social network environment.
  • progressive visual media stream 301 is created.
  • progressive visual media stream 301 then automatically incorporates initial visual media item 300 as the first item of visual media in progressive visual media stream 301 and automatically shares progressive visual media stream 301 with the social network of social network environment user 320.
  • subsequent visual media item 303 is added to progressive visual media stream 301 when social network environment user 320 uploads subsequent a visual media item 303 to progressive visual media stream update area 303B, which then automatically incorporates 304 subsequent visual media item 303 as the second item of visual media in progressive visual media stream 301.
  • An updated version of the progressive visual media stream 301 is then shared with the social network of social network environment user 320.
  • 310 - 314 present another example method by which the systems and methods described herein may enable users of social network environments to create and share multiple streams of progressive visual media which can then each be modified through the addition of new items of visual media, in realtime, while continually remaining independent of one another.
  • FIG. 4 is an alternative exemplary interface of a full-screen content feed for viewing individual streams of progressive visual media.
  • Content feed 400 depicts progressive visual media stream 402 created by social network user 404 with content submissions from three additional users.
  • Full-screen video 408 is currently depicted in content feed 400, with 17 seconds of run-time remaining as indicated by runtime indicator 406, as full-screen video 408 began to autoplay at the moment progressive visual media stream 402 was loaded.
  • Video 408 is the first of thirty chronologically-ordered visual media items within progressive visual media stream 402, and is microscopically represented by the shaded thumbnail image at the beginning of navigation tool 414. In contrast to the thumbnails 201A-204A depicted within Fig. 2, the navigation tool 414 depicted within Fig.
  • FIG. 4 is a slide-able and tappable content "scrubber,” containing a partial thumbnail view of each respective item of visual media contained within stream 402, organized in chronological succession.
  • scrubber 414 As a user slides its finger horizontally along the screen area occupied by scrubber 414, the respective fullscreen visual media items represented by each partial thumbnail within scrubber 414 will immediately begin to load in content feed 400 as each item's respective partial thumbnail is physically contacted by the user's swiping gesture.
  • a low resolution JPEG thumbnail of each respective file (which are each fully-rendered within scrubber 414) will immediately be scaled to fit the full-screen view with a Gaussian Blur and darkened filter applied, as the full-resolution file loads in the background.
  • tapping follow button 410 will allow users to follow progressive visual media stream 402.
  • Progressive visual media stream 402 may be added to such users' personal following feeds, and such users may receive real-time push notifications, in-app notifications, and messages as new content is added to progressive visual media stream 402 by social network user 404 and its collaborators.
  • all visual media items subsequent to the first item of visual media within any given stream of progressive visual media may be "locked” and by default be un-viewable by any given user until such a user taps follow button 410 and follows the stream, while, in another embodiment, all content within a given stream may be "unlocked” and be immediately viewable by any given user by default, regardless of whether such a user follows the stream.
  • Description box 412 contains a text description of the full-screen visual media item 408 currently displayed within content feed 400, in addition to the profile image and username of the social network user who added visual media item 408 to progressive visual media stream 402, an interface element which ensures that each individual user that contributes visual media items to a multi-contributor stream of progressive visual media will receive credit for their respective contributions within such contributions, as well as a link to such users' profiles which, in this embodiment, may be accessed by tapping the contributor's profile picture depicted within description box 412.
  • icon 416 is an interface element which can be understood as an alternative to progressive visual media stream update windows 303B/313B, as depicted in FIG. 3.
  • icon 416 will remain overlaid in a constant position on every visual media item within progressive visual media stream 402, but will only be present, visible, and/or active when qualified users, who have permission from user 404 (the creator of progressive visual media stream 402) to contribute visual media items to stream 402, access stream 402.
  • Tapping icon 416 will launch an image and/or video capture camera interface and/or an image and/or video upload/importation interface (in one embodiment, camera interface 500 as depicted in FIG.
  • visual media items contributed to stream 402 may be indexed and sequenced in chronological order, from oldest to newest, or newest to oldest, according to timestamp values generated at each visual media item's time of contribution to stream 402.
  • visual media items contributed to stream 402 may be indexed and sequenced chronologically, from oldest to newest, or newest to oldest, according to timestamp values sourced from metadata, such as exif data, within each visual media item file selected for importation, and/or from timestamp values generated at the moment of capture of each new visual media item captured using the camera interface, thereby denoting each visual media item's true time of capture, and ensuring that each visual media item within stream 402 will be indexed and sequenced in true chronological order, according to the times at which each visual media item is captured, and, consequently, the times at which the events depicted by such visual media items occurred.
  • timestamp values sourced from metadata, such as exif data, within each visual media item file selected for importation, and/or from timestamp values generated at the moment of capture of each new visual media item captured using the camera interface, thereby denoting each visual media item's true time of capture, and ensuring that each visual media item within stream 402 will be indexed and sequenced in true chronological order, according to
  • indexing and sequencing can be considered “floating” indexing and “floating” sequencing, wherein the indexed and sequenced positions of any visual media items within stream 402 may be dynamically modified, as appropriate, when new visual media items captured prior to, in- between, or subsequent to such existing visual media items already contributed to the stream, are contributed to the stream.
  • Geo-stamp data consisting of geographical latitude and longitude coordinates, and corresponding place names, as made available by applicable libraries or repositories, may be appended to visual media item files at the time of those items' capture using Location Services, GPS, user-inputted data, or other forms of data.
  • FIG. 5 is an exemplary camera interface 500 wherefrom single or multiple image and/or video and/or other visual media items may be captured by tapping visual media capture button 504.
  • Import button 508 is a tappable interface element which allows users to import selected visual media items from sources such as the user's device library, device gallery, external storage libraries, social network libraries, and so on.
  • Captured visual media items may be cached and/or saved to the user's device's media library, may be appended with timestamp data and indexed at their time of capture, and may be quickly previewed by making a sliding gesture along scrubber 506, or by tapping such respective partial thumbnails within scrubber 506, causing such visual media items to overlay camera interface 500.
  • individual visual media items may be quickly deleted during the camera session by tapping, holding, and then "swiping" any partial thumbnail in an upward direction - causing such partial thumbnails to disappear from view, and the corresponding cached visual media item to be deleted, dynamically modifying the indexed positions, as appropriate, of any other visual media items captured during the camera session, or imported from an alternative source.
  • Next button 510 is a tappable interface element which will open visual media item review screen 600 depicted in FIG. 6.
  • visual media items may be immediately and automatically uploaded, added, and/or contributed to a given visual media stream or streams upon their capture and/or importation, if, for example, exemplary camera interface 500 is accessed by tapping a button 1008 overlaid on a given stream's cover media as depicted in exemplary stream preview feed 1000 as depicted in FIG. 10 below; if exemplary camera interface 500 is accessed by tapping a button 416 as depicted in exemplary full-screen content feed 400 as depicted in FIG.
  • FIG. 6 is an exemplary visual media item review screen 600 from which, in this embodiment, visual media items captured or imported within a given camera interface session may be 604 previewed, 606 captioned, 614 deleted, 616 downloaded, 610 sent or added to a stream or streams, or 608 be used to create a new stream or streams.
  • tapping icon 602 will return users to the camera interface 500 depicted within FIG.
  • the shaded partial thumbnail within scrubber 612 indicates that the visual media item 604 currently depicted in visual media item review screen 600 is the fourth and most-recently captured visual media item of four visual media items being previewed in the current visual media item review session.
  • FIG. 7 depicts an exemplary visual media stream selection interface 700 for selecting visual media streams to send, add, or contribute visual media items to subsequent to, in this embodiment, tapping button 610 as depicted in visual media item review screen 600 in FIG. 6.
  • Exemplary interface 700 contains a vertical list of visual media streams 710- 720, each of which contain a 708 description field containing a representative thumbnail image, title, timestamp (indicating when visual media items were lasted added to the stream), and the number of users following the visual media stream.
  • each of streams 710-720 listed in exemplary interface 700 are appended by a 724 tappable selection box. Tapping selection box 724 will cause the visual media items reviewed in visual media item review screen 600 in FIG.
  • the new visual media items added to any given stream by tapping button 722 depicted in exemplary interface 700 may be dynamically loaded onscreen, with the sequence of existing visual media items within the stream being dynamically modified on-screen as appropriate, for other users who may be currently viewing such streams at the time new content is contributed to the stream, allowing for such users to seamlessly consume new content added to the stream as it is added in real-time.
  • tabs 702-706 depict exemplary categories of streams to which a given user may add content.
  • the 702 tab currently selected in interface 700, depicts streams created by the user.
  • the 704 tab depicts streams created by other users to which the user has permission to contribute visual media items to.
  • the 706 tab depicts streams in close proximity to the user's current geographical location, as determined by Location Services, GPS, user inputted data, or other data, to which the user has permission to add content to.
  • Streams listed within tab 702 may be listed chronologically according to the time each respective stream was created, or according to the most-recent time new content was added to each respective stream.
  • Streams listed within tab 704 may be arranged in a similar chronological fashion, or, alternatively, according to the network value of the individuals who created or contributed content to each respective stream (e.g., streams created by individuals who are friends or followers of a user may be indexed higher under tab 704 than streams created by individuals outside of the user's immediate network), according to popularity, as determined by the number of users following each stream, by the number of contributions made to each stream, etc., by indexing sponsored or paid streams higher than non-sponsored and/or non-paid streams, etc.
  • the network value of the individuals who created or contributed content to each respective stream e.g., streams created by individuals who are friends or followers of a user may be indexed higher under tab 704 than streams created by individuals outside of the user's immediate network
  • popularity as determined by the number of users following each stream, by the number of contributions made to each stream, etc., by indexing sponsored or paid streams higher than non-sponsored and/or non-paid streams, etc.
  • Streams under tab 706 may be indexed in a same or similar way to streams under tabs 702-704, or, alternatively, according to the geographical proximity of such streams to the user's current location, as determined by Location Services, GPS, user inputted data, or other data, with streams in closer geographical proximity to the user's current location been indexed higher than streams geographically further from the user's current location.
  • FIG. 8 is an exemplary progressive visual media stream creation interface 800 for creating, sharing, and/or publishing new streams of progressive visual media.
  • interface 800 could be accessed by tapping icon 608 depicted in exemplary interface 600 in FIG. 6 above, after capturing or importing initial visual media items, or, alternatively, by tapping floating content creation icon 1022 depicted in exemplary content feed interface 1000 in FIG. 10 below, prior to c capturing or importing initial visual media items.
  • Depicted in the background of interface 800 is an 812 slideshow of initial visual media items reviewed in exemplary interface 600 as depicted in FIG. 6 above, prior to tapping icon 608 in FIG. 6 above, providing the user with an element of context in naming their progressive visual media stream using text field 810.
  • a blank background image or stock animation may appear in the background of interface 800 in lieu of initial visual media item slideshow 812.
  • users may be unable to create, share, or publish a new stream of progressive visual media prior to entering a valid name for such a stream, while, in an alternative embodiment, a default name, such as the date the stream is initiated on, or a name contextually-relevant to any initial visual media items captured or imported prior to accessing interface 800 (for example, if the initial visual media items were captured on a Sunday afternoon and contain cats, "Cats on Sunday Afternoon" could be assigned to the stream as a default name [using media file metadata and/or pattern recognition algorithms, etc.] and be assigned as the stream's actual name in lieu of a user-inputted name if the user opts to not add a name).
  • icon 802 is an exemplary interface element which, when tapped, launches exemplary interface 900 depicted in FIG. 9 below, within which a user may select other users who it wishes to invite or otherwise grant permission to specific other users, or to the public, to contribute new visual media items to the stream being initiated in interface 800.
  • the ability to contribute new visual media items to a stream may, by default, be restricted solely to the user who creates the stream.
  • Icon 808 is an exemplary interface element which, when tapped, launches an exemplary privacy interface 1300, depicted in FIG. 13, within which a user may select specific other users to which the stream will be visible, accessible, and followable, to the exclusion of all other users.
  • the ability to view, access, and/or follow streams may, by default, be granted to the public, while, in alternative embodiment, the ability to view, access, and/or follow streams may, by default, be exclusive to the user who creates the stream, or, alternatively, to the same user and its vetted friends, followers, or connections (e.g., in the case of a user who possess a "private account," to which other users must send follow requests or friend requests, which must be approved, before such users may view, access, or follow the approving user's streams).
  • users who are granted permission to contribute visual media items to any given stream via interface 900 in FIG. 9 will, by default, be granted permission to view, access, and follow the same stream.
  • floating button 814 is an exemplary interface element which, when tapped, creates, shares, and/or publishes a new progressive visual media stream, as initiated within interface 800, appended with any applicable stream name entered or generated within text field 810, and any additional settings applied via interfaces 900 and 1300, depicted within FIG. 9 and FIG. 10 below, respectively, in addition to any applicable default settings, or further applicable settings not depicted within exemplary interface 800.
  • FIG. 9 depicts an exemplary interface 900 for progressive visual media stream creators to manage which users may contribute items of visual media to any given stream that they create.
  • exemplary interface 900 may be accessed by tapping icon 802 depicted in exemplary interface 800 in FIG. 8, above.
  • Exemplary interface 900 contains three tabs: tab 902, depicted as being currently selected in interface 900, contains user search field 930 and a vertical list of users 912-926.
  • Tab 904 is functionally a toggle switch which, when tapped, will grant any user in the community of users, who has not been blocked by a content stream's creator, permission to contribute content to the content stream.
  • Tab 906 is likewise functionally a toggle switch which, when tapped, will restrict the ability to contribute content to a given stream exclusively to the stream's creator, to the exclusion of all other users.
  • each of users 912-926 listed in tab 902 are made identifiable by a 908 set of identifying information: a profile image, username, and full name, as applicable.
  • Each user listed within tab 902 is appended by a 910 tappable selection box, which, when tapped, will mark such user as being invited to add content to a given stream.
  • the shaded 902 selection boxes appended to users 912-916 indicate that these selection boxes have been tapped, and that each of users 912-916 have been marked as having permission to add content to a given progressive visual media stream.
  • Tapping any selection box 902 causes floating overlay button 928 to appear, the text in which is dynamically adjusted as the number of users selected to have permission to contribute content to a stream changes, reflecting the current, total number of users marked to have permission and be invited to contribute visual media items to a stream.
  • Tapping button 928 will, in one embodiment, mark all users selected to have permission to add content to a given stream as having permission to add content to the stream, and, upon the stream's creator tapping button 814 as depicted in exemplary interface 800 in FIG.
  • each such user may be immediately granted permission to add content to the stream; be sent an invitation, message, or notification to this effect, which they each may have the ability to approve, reject, or ignore; and such stream may be automatically added to tab 704 in each such user's exemplary interface 700 as depicted in FIG. 7, above, and to tab 1002 in each such user's exemplary interface 1000 as depicted in FIG. 10, below.
  • users who have not been given permission to contribute visual media items to a stream or streams but who have permission or the ability to view such a stream or streams may, subsequent to viewing, accessing, or otherwise being made aware of the existence of a given stream or streams - such as by being notified of such a stream or streams' creation or publication; viewing such a stream or streams in exemplary full-screen content feed 400 as depicted in FIG. 4 above; viewing such a stream or streams' cover media in exemplary stream preview feed 1000 as depicted in FIG.
  • FIG. 10 is an exemplary stream preview feed 1000 containing three tabs: tab 1002, which contains a vertical list of "cover media" representative of streams that a given user is following, which, in one embodiment, may include individual streams that the user has followed; streams created by other users who the user is friends with, is connected with, or is otherwise following; and streams which the user has been explicitly invited or granted permission to contribute visual media items to, each of which may, in one embodiment, be added to tab 1002 by default.
  • tab 1002 contains a vertical list of "cover media" representative of streams that a given user is following, which, in one embodiment, may include individual streams that the user has followed; streams created by other users who the user is friends with, is connected with, or is otherwise following; and streams which the user has been explicitly invited or granted permission to contribute visual media items to, each of which may, in one embodiment, be added to tab 1002 by default.
  • Tab 1004 contains featured streams which the user is not explicitly following, which may be sourced and hierarchically stacked according to any variety of data, including network information; thematic relationships between streams or visual media items shared, created, or made available by other users and streams or visual media items shared, created, or made available by a given user, or streams previously followed or consumed by a given user, whereby such thematic relationships may be deduced and ranked by means of visual pattern recognition algorithms, visual media item file metadata, timestamps, Geo-stamps, or other data appended to visual media item files, in addition to other applicable data sources.
  • Tab 1006 contains nearby streams which the user may or may not be explicitly following that are occurring, or have occurred, in close proximity to the user's current geographical location, as monitored and determined by Location Services, GPS, user-inputted data, or other such data sources. Streams within tab 1006 may be hierarchically ranked and presented to a given user from geographically closest to geographically furthest in relation to the user's current geographical location, and may dynamically be re-ranked as the user's geographical location changes. Users may receive messages, push notifications, in-app notifications, or other notifications when they approach the "nearby proximity threshold" of a given stream for which location data is available.
  • tab 1002 contains stream cover media 1010, 1016, and 1018, the backgrounds of which are populated by horizontally-cropped image and video files representative of visual media items within each respective stream, which may play, play and loop, or remain static for a given period of time, and then dynamically transition into different horizontally-cropped image and video files representative of other visual media items within the stream, to prove the user with a broader sense of context regarding the visual media items within the stream.
  • Each of cover media 1010, 1016, and 1018 depict the name and principal location of the story streams which they represent, in addition to the 1012 profile image of the stream's creator, which functions as a tappable link to the creator's profile, and the 1014 username of the stream's creator and the total number of other users who have contributed content to the stream, each of which are overlaid on top of the background image and video files populating each of cover media 1010, 1016, and 1018. Tapping anywhere on the background image and videos within each of cover media 1010, 1016, and 1018 may launch the exemplary full-screen content feed for that respective stream of progressive visual media, as depicted in content feed 400 in FIG. 4, above.
  • swipe gesture up or down, respectively, on the feed may "snap" or scroll the content feed up or down to the next or, respectively, previous full-screen, navigable stream whose respective cover media are contained within such a user's following, featured, nearby, and/or other content feeds, as applicable.
  • button 1008 overlaid on cover media 1010 is a tappable interface element which will allow users who have been invited or who otherwise have permission to add content to the stream represented by core media 1010 to add content to the stream.
  • the exemplary content capture/importation interface 500 depicted in FIG. 5 will launch, allowing the qualified user to capture and/or import and contribute content to the stream.
  • button 1008 will only be made visible and accessible to users who have either been explicitly granted permission or invited to contribute content to a stream by the stream's creator; to the stream's creator itself; and/or to every applicable, non-blocked user when a content stream's creator "makes public" a stream's contributor settings, such as by tapping tab 904 in exemplary interface 900, as depicted in FIG. 9.
  • floating overlaid icons 1020, 1022, and 1024 are tappable meta-navigation icons.
  • Icon 1020 demarcated with an underline as being currently selected, opens exemplary stream preview feed 1000.
  • Tapping button 1022 in one embodiment, will allow users to create, share, and/or publish new streams of progressive visual media by launching the exemplary interface depicted 800 in FIG.
  • tapping button 1022 may cause the exemplary camera interface 500 depicted in FIG. 5 to appear, wherein a user may first capture and/or import a single or multiple items of visual media, and then proceed to the exemplary visual media item review screen 600 depicted in FIG. 6, wherefrom users may decide whether they would like to send such visual media to an existing stream or streams, or use such visual media to create, share, and/or publish a new stream, by tapping button 610 or button 608, respectively.
  • Tapping button 1024 which is depicted, in this embodiment, as containing the user's profile image, will open the user's personal profile feed, which, in one embodiment, may contain hierarchically and vertically stacked cover media representative of each stream the user has created, in the same fashion and with the same functional and organizational parameters as the cover media depicted in exemplary stream preview feed 1000, but with the exception that each cover media of the user's own streams within the user's personal profile feed will contain button 1008, allowing the user to efficiently and instantaneously capture and/or import and add and/or contribute new visual media items to any stream or streams that they have created and/or have the ability to contribute new visual media items to.
  • FIG. 11 is a flowchart for an exemplary process 1100 for performing server-side data requests in a social network environment in which thematically-defined streams of progressive visual media may be created and shared.
  • clients connect to the System Web Client via HTTP 1.1 compliant request at 1002.
  • Connection details and request data is bundled in a JSON object, passed in the HTTP request's GET data.
  • This JSON object must be reconstructed from the GET data at 1104.
  • the root JSON object contains details about the version of the application, the User ID (unique identifier to an account), the Session ID (identifier to a user's session that was created upon successful login), and a JSON object containing request details and parameters.
  • the User ID and Session ID is extracted at 1106 from the JSON object.
  • the User ID and Session ID must be are authenticated at 1108 by checking for an existing User ID and Session ID pair in the database's sessions table. If validated, requests are parsed and parameters set at 1110. However, if a session is invalid (either due to an expired session, invalid session or empty User ID and/or Session ID), the web server will determine if a valid session is required to perform the request (requests such as Login, Register or Forgotten Password) at 1114. If the request type is not one that is permitted to execute without a valid User ID and Session ID pair, the connection is closed at 1116.
  • Any request allowed to execute will be checked to ensure it is identified as one that is included in a list of predefined requests at 1112. If the request type is not one recognized by the web server, the connection is closed at 1116. If the request type is in the set of predefined requests, then the request is executed at 1118. At 1120, if an error occurs, the connection is closed at 1116. If there are no errors, the Request Response data (if any) is returned to the client at 1122. Afterwards, the connection to the client is closed at 1116. It is important to note that depending on the reason for closing the connection at 1116, the server may either send an empty JSON object for a smoother disconnect, or simply abort the connection (increasing the likelihood of a client side error).
  • FIG. 12 is a flowchart for an exemplary process 1200 for accessing a specific stream of progressive visual media, all the while determining if the client should have access to the media and whether or not they have the appropriate permissions to add content to the media stream.
  • a Content Stream Request is received at 1202. 1204 queries the database for all general Stream information and configurations. Streams which are requested will return with a contributor flag which determines if a user can contribute to this particular Stream. This flag is set to true at 1210, but defaults to false which means if stage 1210 is never passed, the requesting user can not contribute to the particular Stream.
  • the contributor flag is set to true at 1210 and the Stream data is returned to the client at 1224. If the owner ID does not match the requesting User ID, the Stream is checked to see if it accepts contributors at 1208. If there are no contributors allowed (aside from the creator), any further determination of contribution permissions are ignored and the Stream content access permission is checked at 1216. However if the Stream, has contributors, a check to see if there is a particular group of users specified at 1212. If there is no group specified, it is considered that the Stream is open to everyone and the contributor flag is set to true at 1210. 1210 connects directly to the end state 1224, returning the Stream data to the client.
  • a user is a contributor to a Stream, the have inherent access to viewing the Stream and thus does not need any further privacy verification.
  • the requesting User ID is checked to see if it is included in the corresponding group at 1214. If the user is included, the contributor flag is set to true at 1210 and the Stream data is returned to the client at end state 1224. If the user is not included in the group list at 1214, the privacy state of the Stream is determined at 1216. If the Stream is private, a Request Access Denied Error is sent to the client at 1222.
  • the Stream is not private, there is a check for a specified viewer group (that is a list of users who are allowed to access the Stream) occurs at 1218. If there are no viewer groups specified at 1218, the Stream data is returned to the client at 1224. If there is a viewer group specified at 1218, the corresponding group is checked to see if the requesting User ID is a part of the group at 1220. If the user is a part of the viewer group at 1220, the Stream data is returned to the client at 1224. If the user is not part of the viewer list at 1220, an Request Access Denied error is returned to the client at 1222.
  • a specified viewer group that is a list of users who are allowed to access the Stream
  • FIG. 13 is an exemplary interface 1300 for managing the visibility and/or accessibility of progressive visual media streams which may, in one embodiment, be accessed by tapping button 808 as depicted in FIG. 8, above.
  • Exemplary interface 1300 contains three tabs: tab 1302, from which a stream's creator may expressly select individual users to whom a given stream it has created will be visible or otherwise accessible to; tab 1304, a functional toggle switch which, when tapped, will make the stream visible and/or accessible to any user who has not been expressly blocked by the stream's creator; and tab 1306, also a functional toggle switch which, when tapped, will render a given story visible and/or otherwise accessible exclusively to its creator, to the exclusion of all other users.
  • Tab 1302 demarcated as being currently selected in exemplary interface 1300, contains a vertical list of users 1312-1326, who may be selected to have permission and/or the ability to view or otherwise access a given content stream by tapping the selection box 1310 appended to the identification information 1308 of each user depicted within the list of users.
  • the shaded boxes 1310 appended to the identification information 1308 of users 1312-1316 indicate that these boxes have been tapped by a stream's creator, and that users 1312-1316 have been selected to have the exclusive ability to view or otherwise access a given content stream to the exclusion of all other users (other than the stream's creator itself, which has, by default, the ability to view and access any stream which it creates).
  • Tapping any selection box 1310 causes floating overlay button 1328 to appear, the text in which is dynamically adjusted as the number of users selected to have the ability to view a stream changes, reflecting the current, total number of users selected to have the ability to view a stream.
  • Tapping button 1328 will, in one embodiment, mark all users selected to have permission to view a stream as having the exclusive ability to view a stream, and, upon the stream's creator tapping button 814 as depicted in exemplary interface 800 in FIG.
  • each such user may be immediately granted the ability to view and otherwise access such a stream; be sent an invitation, message, or notification to this effect, which they each may have the ability to approve, reject, or ignore; and such stream may be automatically added to each such user's tab 1002 in exemplary interface 1000 as depicted in FIG. 10, below.
  • the examples described in reference to the figures and otherwise described in may be performed by a particularly configured computer.
  • the computer implemented systems and methods disclosed herein may be reduced into object code and executed by the processor of a smart-phone, tablet computer, desktop computer, or other computer device.
  • the systems and methods described herein may cause a computer to present a user with a user interface that may allow the user to upload media files to a file store (e.g., an FTP file share, cloud storage system, or local hard-drive).
  • a file store e.g., an FTP file share, cloud storage system, or local hard-drive.
  • Such uploaded media files may then be analyzed in order to determine their particular thematic elements and other characteristics and/or the user may be presented with a user interface allowing the user to select or edit the thematic elements and other characteristics of the uploaded media.
  • Uploaded media may then be automatically placed in sequence by the systems and methods described herein by analysis thematic elements and other characteristics relating to each file. Once the sequence of the media has been determined, a computer executing the systems and methods described herein may create one or more thematically-defined progressive visual media streams comprising the uploaded media.
  • the computer executing the systems and methods described herein may further provide the user with a user interface allowing the user to edit, re-arrange, reorganize, share, re-name, and/or delete the thematically-defined progressive visual media streams and/or the media files within those thematically-defined progressive visual media streams.
  • the computer executing the systems and methods described herein may also automatically create new thematically-defined progressive visual media streams when newly uploaded media files are determined not to be thematically related to any existing thematically-defined progressive visual media stream.
  • inventive subject matter provides many example embodiments of the inventive subject matter. Although each embodiment represents a single combination of inventive elements, the inventive subject matter is considered to include all possible combinations of the disclosed elements. Thus if one embodiment comprises elements A, B, and C, and a second embodiment comprises elements B and D, then the inventive subject matter is also considered to include other remaining combinations of A, B, C, or D, even if not explicitly disclosed.
  • the systems and methods described herein may enable entertainment service providers, brands, celebrities, and the like to share exclusive streams of progressive visual media items in real-time with a restricted group(s) of users through a paid content subscription model, a brand-to-user incentive model, and so on.
  • This may be implemented by means of an in-app purchasing mechanism, in-app redemption of promotional codes, in-app acceptance or completion of participatory advertisements, and so on.
  • an entertainment service provider could provide users who make the requisite in-app purchase(s), real-time stream(s) of exclusive progressive visual media depicting live behind-the-scenes footage involving the cast and crew of a new television program on the night of its premiere.
  • a performing artist who, for instance, launches a participatory advertising campaign by means of the systems and methods described herein, which challenges users to submit a progressive media stream depicting them performing the celebrity's signature dance maneuvers, would be enabled to reward such users who respond to said advertisement with access to an exclusive stream of progressive visual media depicting the celebrity's own step-by-step techniques for perfecting dance maneuvers.
  • the systems and methods described herein may enable users to participate in private, real-time conversations with one another, by means of conversational stream(s) of progressive visual media. Users invited to participate in such a conversation may then update the progressive visual media stream with new visual media. All of the submitted media in the progressive visual media stream may be reviewed in realtime, and/or said media may be stored for future review.
  • a user in San Francisco may desire to communicate in real-time with a user in Tokyo by means of a conversational progressive visual media stream.
  • Either user may then be enabled to sequentially add, in real-time, new visual media items captured over the course of the conversation (e.g., "selfie" photographs and/or short videos).
  • new visual media items captured over the course of the conversation (e.g., "selfie" photographs and/or short videos).
  • new visual media items captured over the course of the conversation
  • new visual media items e.g., "selfie" photographs and/or short videos.
  • each user would be able to permanently store the progressive visual media stream comprising the conversation once the conversation is terminated.
  • each user may retain a copy for future review, sharing with a social network, etc.
  • a celebrity chef may wish to engage a select user, such as a contest winner, in a one-on-one conversational stream of progressive visual media over the course of an evening, whereby the chef and the user may converse by means of a conversational stream of progressive visual media, wherein each participant would add new visual media items, in real-time depicting in parallel the progress of each toward preparing a given meal, which, in one embodiment, other users of a social network may have the ability to follow and view as new visual media items are added in realtime.
  • the systems and methods described herein may enable users to create multi-tiered streams of progressive visual media.
  • Such multi-tiered streams may allow thematically-distinct aspects of an overall progressive story to be broken down into individual component streams, created, updated, and displayed in parallel with one another. This may enable individual or multiple members of a group of users to create, update, and view separate thematically connected streams created by each user(s), displayed in parallel in real-time.
  • a user hosting a holiday dinner may wish to separate into multiple streams displayed in parallel, visual media items displaying the realtime occurrence of such thematically-distinct components of the overall process of hosting such a dinner as welcoming guests, preparing a turkey feast, playing games such as charades after dinner, and so on.
  • a group of users who are motorcycle enthusiasts may wish to independently upload, in real-time, to a thematically-related group of individual streams displayed in parallel with one another, each of which may serve to depict the ongoing progression of a respective group member's independent efforts to construct a customized motorcycle engine, in real-time. This may enable other users within the group to not only easily follow and reference such progression from other group members, but also to benefit in an educational way from the capacity to make use of such an anthology of progression as a productivity and reference tool for his or her own efforts.
  • the systems and methods described herein may enable shareholders, employers, managers, and the like to both rack and remain abreast of the progressive efforts of employees toward completing particular tasks, through streams of progressive visual media, updated in real-time.
  • the CPO of a construction firm may create a progressive visual media stream, and instruct a given employee to upload to that stream, in real-time, progressive visual media items depicting the completion of key stages of an elevator shaft's installation over the course of the installation process.
  • the systems and methods described herein may enable users to reorganize thematically-related visual media items or visual media items indicative of progression previously uploaded to existing social network environments (e.g., Facebook, Instagram, Tumblr, and so on) into progressive visual media streams by means of integrating the systems and methods described herein with such environments.
  • This may enable such users to selectively import such visual media items into the systems and methods described herein, enabling the user to then create and share thematically-defined progressive stream(s) of such pre-existing visual media items by means of the systems and methods described herein.
  • the systems and methods described herein may employ a process whereby each individual visual media item added to a stream by means of the systems and methods described herein may simultaneously be shared with users' social networks within existing social network environments by means of individual posts. Such individual posts may be posted at the time each individual visual media item is added to a stream by means of the systems and methods described herein, as a consequence of integrating the systems and methods described herein with such environments.
  • the systems and methods described herein may enable users to progressively transfer financial payments, currency, credits, and the like to one another, with or without visual media attached, by means of integration of a system with an in-app escrow mechanism, whereby an amount of currency deposited into the escrow system may be periodically delivered, by means of a progressive stream of instalments, with or without accompanying visual media, to the designated user(s).
  • a user may wish to support her grandson's university education by progressively transferring a quantity of funds to her grandson over the course of one semester, along with accompanying video messages of encouragement, delivered in realtime.
  • the grandmother would, by means of the in-app escrow system, transfer a given quantity of funds into the escrow system, designate her grandson as the recipient, and create a progressive financial transfer stream, which would automatically deposit a designated quantity of the sum total of funds into her grandson's bank account, for instance, on the first Monday of each month, while simultaneously adding, at the time of each payment, a new video, encouraging her grandson to be frugal, to an accompanying stream of progressive visual media, with such a stream designated to be viewable only by her grandson, and where such a stream would also inform the grandson of the amount of funds transferred to his bank account at the time those funds are transferred, by, for instance, displaying a text field to that effect automatically attached to each of his grandmother's monthly videos.
  • the systems and methods described herein may enable users of such services to document the evolution of relationships formed by means of such services through streams of progressive visual media, updated in real-time. This may also provide users with the capacity to vet the desirability of potential partners or companions by first reviewing such progressive visual media streams previously posted to the service by such potential partners or companions, thereby extending the overall viability of such matchmaking services beyond mere introductions.
  • the systems and methods described herein may enable progressive streams of sound bites, or audio recordings in general, to be created and shared within social network environments, in real-time, with or without visual media attached. For instance, a musical group may wish to share with users a stream of sound bites, updated in real-time, on a daily basis, progressively revealing the entirety of a new song recorded by the band in anticipation of its release.
  • the embodiments of the devices, systems and methods described herein may be implemented in a combination of both hardware and software. These embodiments may be implemented on programmable computers, each computer including at least one processor, a data storage system (including volatile memory or non-volatile memory or other data storage elements or a combination thereof), and at least one communication interface.
  • Program code is applied to input data to perform the functions described herein and to generate output information.
  • the output information is applied to one or more output devices.
  • the communication interface may be a network communication interface.
  • the communication interface may be a software communication interface, such as those for inter-process communication.
  • there may be a combination of communication interfaces implemented as hardware, software, and combination thereof.
  • a server can include one or more computers operating as a web server, database server, or other type of computer server in a manner to fulfill described roles, responsibilities, or functions.
  • the technical solution of embodiments may be in the form of a software product.
  • the software product may be stored in a non-volatile or non-transitory storage medium, which can be a compact disk read-only memory (CD-ROM), a USB flash disk, or a removable hard disk.
  • the software product includes a number of instructions that enable a computer device (personal computer, server, or network device) to execute the methods provided by the embodiments.
  • the embodiments described herein are implemented by physical computer hardware, including computing devices, servers, receivers, transmitters, processors, memory, displays, and networks.
  • the embodiments described herein provide useful physical machines and particularly configured computer hardware arrangements.
  • the embodiments described herein are directed to electronic machines and methods implemented by electronic machines adapted for processing and transforming electromagnetic signals which represent various types of information.
  • the embodiments described herein pervasively and integrally relate to machines, and their uses; and the embodiments described herein have no meaning or practical applicability outside their use with computer hardware, machines, and various hardware components. Substituting the physical hardware particularly configured to implement various acts for non-physical hardware, using mental steps for example, may substantially affect the way the embodiments work.

Abstract

Systems, methods, and computer readable media for creating and sharing thematically- defined progressive visual media streams are provided to: provide a media library and detecting a first set of at least one media item as having been uploaded to the media library by a user; identify first thematically distinct elements of the first set of at least one media item uploaded to the media library by the user through processing of the first set of at least one media item; assess the first thematically distinct elements of the first set of at least one media item uploaded to the media library by the user; generate a first progressive visual media stream in response to the user uploading the first set of at least one media item to the media library, the first progressive visual media stream configured to match the first thematically distinct elements of the first set of at least one media item uploaded to the media library by the user; add the first set at least on media item to the first progressive visual media stream; detect a second set of at least one media item as having been uploaded to the media library by the user; identify second thematically distinct elements of the second set of at least one media item uploaded to the media library by the user through processing of the second set of at least one media item; assess second thematically distinct elements of the second at least one media item uploaded to the media library by the user; add the second set of at least one media item to the first progressive visual media stream if the second thematically distinct elements of the second set of at least one media item matches the thematically distinct elements of the first set of at least one media item; generate a second progressive media stream if the second set of at least one media item does not match the first thematically distinct elements of the first set of at least one media item; and provide, as an electronic output, all of the at least one media items in all of the progressive visual media streams in a sequential order determined by the corresponding thematically distinct elements.

Description

SYSTEMS METHODS AND COMPUTER READABLE MEDIUM FOR CREATING AND SHARING THEMATICALLY-DEFINED STREAMS OF PROGRESSIVE VISUAL MEDIA IN A SOCIAL NETWORK
ENVIRONMENT
FIELD
[0001] The present disclosure generally relates to the field of social networking. Some embodiments relate generally to sharing visual media such as photographs and videos. More particularly, some embodiments relate to an apparatus and method for creating and sharing thematically-defined streams of progressive visual media in a social network environment.
INTRODUCTION
[0002] Challenges may be encountered by individuals seeking to share elements of information having a related sequence or commonality. For example, the elements of information may be sharable in separate, unconnected postings, and accordingly, various systems, methods and/or computer-readable media adapted for facilitating thematically defined streams of visual media may be desirable.
[0003] In a similar way, challenges may additionally be encountered by multiple individuals wishing to share a single stream of content containing elements of information, made available, respectively, by two or more such individuals, where those elements of information have a related sequence or commonality. For example, these elements of information may only be shareable in separate, unconnected postings independently posted by each respective contributor, or known systems may require users to manually identify suitable content for, and curate, such streams. Accordingly, various systems, methods, and/or computer-readable media adapted for facilitating thematically defined streams of visual media may be desirable.
SUMMARY
[0004] In accordance with one aspect, there are provided systems and methods of creating and sharing thematically-defined streams of progressive visual media. The systems and methods include: providing a media library and detecting a first at least one media item as having been uploaded to the media library by a user; identifying one or more thematically distinct elements of the first at least one media item uploaded to the media library by the user; assessing the thematically distinct elements of the first at least one media item uploaded to the media library by the user; generating a first progressive visual media stream in response to the user uploading the first at least one media item to the media library, the first progressive visual media stream configured to match the thematically distinct elements of the first at least one media item uploaded to the media library by the user; adding the at least one media item to the first progressive visual media stream.
[0005] Further to the above-mentioned aspect, the systems and methods include: detecting a second at least one media item as having been uploaded to the media library by the user; assessing the thematically distinct elements of the second at least one media item uploaded to the media library by the user; adding the second at least one media item to the first progressive visual media stream if the second at least one media item matches the thematically distinct elements of the first at least one media item; generating a second progressive media stream if the second at least one media item does not match the thematically distinct elements of the first at least one media item; providing, as an electronic output, all of the at least one media items in all of the progressive visual media streams in a sequential order determined by the corresponding thematically distinct elements.
[0006] In various further aspects, the disclosure provides corresponding systems and devices, and logic structures such as machine-executable coded instruction sets for implementing such systems, devices, and methods.
[0007] In this respect, before explaining at least one embodiment in detail, it is to be understood that the embodiments are not limited in application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. Also, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting. [0008] Many further features and combinations thereof concerning embodiments described herein will appear to those skilled in the art following a reading of the instant disclosure.
[0009] In this respect, before explaining at least one embodiment in detail, it is to be understood that the embodiments are not limited in application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. Also, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting.
[0010] In various further aspects, the disclosure provides corresponding systems and devices, and logic structures such as machine-executable coded instruction sets for implementing such systems, devices, and methods.
[0011] In this respect, before explaining at least one embodiment in detail, it is to be understood that the embodiments are not limited in application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. Also, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting.
[0012] Many further features and combinations thereof concerning embodiments described herein will appear to those skilled in the art following a reading of the instant disclosure.
DESCRIPTION OF THE FIGURES
[0013] In the figures, embodiments are illustrated by way of example. It is to be expressly understood that the description and figures are only for the purpose of illustration and as an aid to understanding.
[0014] Embodiments will now be described, by way of example only, with reference to the attached figures, wherein in the figures: [0015] Fin the figures, embodiments are illustrated by way of example. It is to be expressly understood that the description and figures are only for the purpose of illustration and as an aid to understanding.
[0016] Embodiments will now be described, by way of example only, with reference to the attached figures, wherein in the figures:
[0017] FIG. 1 according to some embodiments illustrates an exemplary social network environment in which thematically-defined streams of progressive visual media may be created, shared, and updated.
[0018] FIG. 2 illustrates an exemplary user interface according to some embodiments.
[0019] FIG. 3 is a flowchart of an exemplary process for creating, sharing, and updating thematically-defined streams of progressive visual media in a social network environment according to some embodiments.
[0020] FIG. 4 illustrates an alternative exemplary interface according to some embodiments.
[0021] FIG. 5 illustrates an exemplary camera interface in which single or multiple visual media items may be captured, imported, created, or uploaded, according to some embodiments.
[0022] FIG. 6 illustrates an exemplary visual media item review screen in which visual media items may be previewed, captioned, deleted, downloaded, and allocated to a stream of progressive visual media, according to some embodiments.
[0023] FIG. 7 illustrates an exemplary visual media stream selection interface in which users may select particular streams of progressive visual media to add, send, or contribute visual media items to, according to some embodiments,.
[0024] FIG. 8 illustrates an exemplary progressive visual media stream creation interface for creating, sharing, and/or publishing new streams of progressive visual media according to some embodiments. [0025] FIG. 9 illustrates an exemplary interface for progressive visual media stream creators to manage which users may contribute items of visual media to streams they create according to some embodiments.
[0026] FIG. 10 illustrates an exemplary progressive visual media stream preview feed containing cover media of featured or sponsored streams, streams in close proximity to a user's current geographical location, and streams which the user is following according to some embodiments,.
[0027] FIG. 11 is a flowchart of an exemplary process for performing server-side data requests in a social network environment in which progressive visual media streams may be created and shared according to some embodiments.
[0028] FIG. 12 is a flowchart for an exemplary process for accessing a specific stream of progressive visual media, all the while determining if the client should have access to the media and whether or not they have the appropriate permissions to add content to the media stream according to some embodiments,.
[0029] FIG. 13 illustrates an exemplary interface for progressive visual media stream creators to manage which users may view or otherwise access streams they create.
DETAILED DESCRIPTION
[0030] Embodiments of methods, systems, and apparatus are described, in part, through reference to the drawings.
[0031] Current methods of sharing items of visual media within social network environments require users who wish to share such items with members of their social networks as they are captured in real-time, to share each individual item via a separate, individual post. Such individual posts are published at different times and share no continuity with one another. Problematically, users of such social network environments are unable to create, share, update, view, or follow open-ended, thematically-defined streams of visual media items which depict ongoing progressive stories (e.g., activities, goals, celebrations, projects, vacations, events, and so on) as such content is captured in real-time. Further problems may arise where a viewer of a stream of visual media items is presented with media nearer the end of the sequence prior to said user having seen media nearer the beginning, thus "spoiling" the narrative for the viewer.
[0032] For example, a user of an existing social networking environment may wish to share with members of her social network an open-ended stream of photographs and videos depicting events which occur over the course of an overnight canoe trip as those events occur, in real-time. In a further example, such a user may wish to create several such streams of visual media simultaneously, each respective stream depicting a thematically- distinct sequence of progressive events pertaining to her trip (e.g., fishing, white-water rafting, camping, and berry-picking) as they occur, in real-time. However, due to the limitations of existing social network environments, such a user would have no means of accomplishing the above.
[0033] In order to share such progressive visual media in real-time, users of existing social networks are forced to share each item of visual media captured through separate, unconnected posts Such posts may each then be posted at their respective times of capture. As a further consequence, members of such users' social networks are unable to view or follow, in real-time, the progressive sequences of photographs, videos, or other visual media she captures in a chronologically-ordered, uninterrupted stream(s).
[0034] Often, the users of existing social networking environments also share items of visual media (e.g., photographs and/or videos) captured over longer intervals of time, in separate posts even though said separate posts depict thematically-related, or progressive, sequences of events. For example, a user of an existing social networking environment may periodically (e.g., weekly or daily) upload photographs and videos depicting the physical effects of a new daily exercise regimen on her body. Alternatively, such a user may, upon returning home, upload through a single post (e.g., by means of a digital photo album), a large collection of photographs and videos depicting a number of different events which occurred over the course of a recent trip to the Netherlands.
[0035] In a further example scenario, such a user may periodically (e.g., on a bi-weekly basis) upload posts, photographs and/or videos depicting significant moments which may have occurred over the course of work-related brainstorming sessions conducted during the development of a new app. However, the apparatuses and methods underlying existing social network environments may only enable users who wish to share thematically-related visual media in real-time do so by publishing separate posts that share no inherent continuity with one another. Therefore, such users have historically been unable to share thematically- defined streams of progressive visual media depicting ongoing progressive stories (e.g., activities, goals, celebrations, projects, vacations, events, and so on), in real-time.
[0036] Multiple individuals often partake in shared experiences, such as group vacations, field trips, weddings, parties, festivals, and so on. Such individuals may, individually, share the respective items of visual media that they capture over the course of such experiences via separate, individual posts, which may share no direct connection to one another. However, using current solutions, each respective individual partaking in such a shared experience cannot co-operatively share, in the form of a single connected stream of visual media, the respective visual media items that they capture, in real-time, over the course of such an experience; such sharing may serve to show the experience progressively unfold from numerous points-of-view.
[0037] In a similar way, brands, advertisers, sponsors, etc., may wish to incorporate the use of social networking platforms into events, contests, promotions, and so on, or may who wish to host such promotions in a completely digital manner, via social networking platforms. Currently, these groups have no means of creating, in real-time, a single stream of progressive visual media containing each respective relevant item of visual media made available to them by event participants.
[0038] As an illustrative example, a major snack food manufacturer may wish to host a completely digital promotion called "America's Super Bowl Sunday," via one or more social networking platforms. In such a promotion, individuals participating in private and public Super Bowl parties across the nation may be invited to share, in real-time, visual media items depicting their respective individual experiences, with the chance to earn a prize. Currently, social networking technology only allows individual promotion participants to post their respective visual media items individually, either directly to the promotion's social networking account, or to the user's own account, perhaps incorporating a hashtag or similar identifying marker. In actual fact, each promotion participant is partaking in a virtual shared experience. The individual visual media items captured and shared by each respective participant may depict their unique perspective and circumstance with relation to the shared experience at a given point in time.
[0039] A solution that allows sharing of each item of visual media submitted by each participant to one or more cohesive streams of progressive visual media, as they are submitted, in real-time, may provide enhancements to: the functional efficiency of computer media-content management systems, as such solutions may allow computer systems to automatically highlight and optimally organize individual pieces of submitted media into one or more virtual streams of thematically coherent content, thus lowering processing costs and time costs associated with generating such themes in the event that a user subsequently requests them; the breadth of functionality that computer media-content management systems are able to offer, as such solutions may enable such systems to identify possible thematically coherent streams to users by analysis of various elements.
[0040] In some embodiments, the methods underlying such open-ended streams (i.e., the systems and methods described herein) such users as have been described above to add an unlimited or extremely great number of new visual media items to an unlimited or extremely great number of existing streams in real-time as progressive events continue to develop (e.g., over the course of activities, sporting events, fitness goals, celebrations, hobbies, concerts, projects, award ceremonies, vacations, family reunions, and so on).
[0041] Currently, when engaging in real-time, or near-real-time, sharing of visual media items of a progressive nature, users of social network environments have been unable to review, in consecutive order, or with any ease or effect, visual media items that they have already shared (and which may be relevant). Invariably, content becomes separated, disjointed, fragmented, and "buried" (i.e., lost due to an excess of volume) within such a user's profile feed, albums, etc. As a result, there may often be one or more relevant visual media items among any number of other seemingly unrelated visual media items also shared in real-time in the past. [0042] As a non-limiting example, a social network user may, over one summer, maintain a habit of capturing and sharing, in real-time, progressive visual media items pertaining to: 1) her weekday volunteer work renovating a soup kitchen; 2) the restoration of her classic Ford Model T on weekends; 3) the weekly improvement in the skill set of the youth soccer team she coaches; and/or 4) the in-game highlights of her local college football team's occasional preseason games. All of this content is both progressive in nature and thematically distinct. Further, and all of these events occur at different times and places.
[0043] Further to the non-limiting example above, it will be extremely difficult for the above-mentioned social network user, as she continues to capture and share (in real-time) new visual media items pertaining to each story, to keep track of, reference, and/or review the extensive chain of visual media items she has already shared. This problem may be exacerbated by the possibility that she may continue to capture and share (in real-time) new visual media items pertaining to each story. Although each new visual media item may be an extension of the previous visual media item within its respective category, current solutions do not facilitate, or provide solutions to enable, automatic sharing of such items in real-time is to tell a progressive story, visually-illustrating a continual flow, or properly sequencing events over time.
[0044] In some embodiments, systems and methods described herein may enable users to create, share, and update ongoing streams of visual media depicting progressive stories. Such embodiments may enable users to keep track of, reference, and review, in an uninterrupted, chronologically-ordered, and thematically-separated form, the entire chain of visual media items they have already shared, in real-time, pertaining to any such particular theme. This may include the most recent visual media item(s) shared with regard to each, as the user continues capturing and sharing new visual media items in real-time.
[0045] Further, the systems and methods described herein may enable users to label each progressive visual media stream with an encompassing and/or representative identifier, thus communicating the theme of each stream to an audience. Further, the systems and methods described herein may simultaneously enable users to attach to each individual visual media item within each progressive visual media stream a separate title, thus demarcating the theme of each individual "step" in each progressive stream, in verbal form, in real-time. Additionally, the systems and methods described herein may enable users to interact directly with other users by means of, and within the context of, progressive streams of visual media shared by other users through commenting, "liking", and "favoriting" actions. .
[0046] The systems and methods described herein may further enable users to create, share, and update "group" streams of progressive visual media. Such streams may refer to streams in which members of a segmented social network, such as a group of classmates, or members of the entire body of a social network environment (e.g., the public), may be enabled to individually, at any time(s) or place(s), or in a specified time(s) or place(s), participate as a group or team in sharing progressive visual media items by means of individually uploading visual media items which may then be identified as belonging to one or more progressive visual media streams to which all or some members have equal or communal access.
[0047] For example, members of a study group enrolled in an undergraduate chemistry lab may wish to, over the course of one night, share real-time updates of visual media illustrating progressive sequences of chemical diagrams and equations with one-another, through means of a private group stream. As diagrams are illustrated and equations are solved by members of the group in real-time, a progressive media stream of content depicting same may be automatically created out of uploaded media.
[0048] In another exemplary application, a visual media content stream related to a music festival may be activated on the morning of the festival's launch. Such a stream may be created with a "public access" policy whereby all users may be given access to updating and viewing capabilities. Attendees of the music festival may be encouraged to, over the course of the festival, document themselves picking up and recycling garbage in one or more items of visual media, and to share said items of visual media in real-time through the means of the group stream. All concert-goers would be able to add new visual media, in real-time, and relevant new items of uploaded visual media would be added to the music festival's video content stream. Such an application may provide concert-goers with a participatory way to maintain a green space, while providing the festival's organizers with a new form of promotional tool, that has been unavailable prior to the advent of the systems and methods described herein. [0049] It has historically been difficult for members of content creators' social networks to view, follow, or otherwise keep track of, in chronological order, complete flows of separately- posted visual media items intended to depict multiple ongoing progressive stories. Such stories, when taken as a whole, are thematically-defined streams of events. Because existing social media environments have been designed to display posts in users' content feeds in descending order from newest to oldest, such separate posts of visual media intended to depict ongoing progressive stories are invariably viewed in reverse order (when users of social networks are absent from such social networks for a given length of time) as newer visual media depicting the final outcomes of such stories are displayed prior to, and viewed prior to, older visual media depicting events leading to such final outcomes. Even when users of social networks are not absent from such social networks for any length of time, separate posts of visual media depicting a progressive story, uploaded in real-time by another social network user, will almost invariably become separated from one another, and thus may become separated from their common theme, by other, unrelated posts uploaded during the interval(s) between related postings.
[0050] Further to the illustrative example of the previous paragraph, as a further consequence, within social network users' content feeds, such separate posts of visual media intended to demonstrate progression often become extensively fragmented and difficult to follow over time, with all progressive meaning lost, as a consequence of becoming gradually buried within a growing sea of unrelated posts from other users.
[0051] The systems and methods described herein, may not only eliminate the need for content creators to upload such visual media via separate posts, but may also ensure that such visual media remains contextually-grounded within the context of a progressive stream of visual media. This may be accomplished by enabling users to create, share, and update ongoing streams of automatically sorted visual media depicting progressive events. Thus, the systems and methods described herein may also ensure that each piece of such visual media remains within its temporal place in the overall sequence of visual media composing such a progressive stream. The systems and methods described herein may, thus, eliminate fragmentation and the separation of thematically-related content, as well as the loss of progressive meaning of such content. [0052] The systems and methods described herein may further include various features configured so that the individual items of visual media comprising any given stream of progressive visual media may be viewed in chronological order, with older visual media depicting how the outcome(s) of a given progressive story came to fruition being fully- displayed, in users' content feeds, prior to the full display of newer visual media depicting such an outcome(s). In so doing, the systems and methods described herein may track the most recently added item(s) of visual media in each progressive visual media stream viewed by each user that has viewed each stream. This may ensure that only the subsequent visual media item added to, or detected as belonging to, each progressive visual media stream following the addition of the next most-recently added visual media item viewed by each user may be fully-displayed within each user's respective content feed. This may eliminate or lessen the loss of context and enjoyment that results from viewing newer progressive content prior to older progressive content in existing social media environments and may avoid any related "spoilers".
[0053] Further, the systems and methods described herein may ensure that any additional item(s) of visual media added to such a progressive visual media stream are only fully- presented to a respective viewer of a user's respective content feed after each respective viewer has viewed the item of visual media immediately preceding each additional item of visual media subsequently added, and so on. This may ensure that the individual items of visual media comprising progressive visual media streams are always displayed to users in chronological order. User content feeds may automatically remain "paused" on the most recently-added item of visual media in each progressive visual media stream viewed by each user.
[0054] Further, the systems and methods described herein may ensure that users can "follow" progressive streams of visual media, thus receiving real-time notifications (e.g., push notifications, in-app notifications, etc.) as new visual media items are added to streams that a user follows. Followed streams may, additionally, appear within a distinct following feed on followers' profiles, for ease of access.
[0055] As an illustrative example, if a user follows a progressive stream of visual media entitled "Coachella Live," a multiple-contributor stream of progressive visual media depicting real-time experiences from different points of view at the Coachella Valley Music and Art Festival, the user may receive push notifications, in-app notifications, messages, and other forms of notifications, whenever new visual media items are added to the stream. This may allow a user who follows said stream to "truly" follow along with the experiences depicted within the stream as they unfold in real-time.
[0056] The systems and methods described herein may allow users to follow progressive streams of visual media rather than individual users or groups. This may ensure that users' following feeds may be populated exclusively by content streams that they deem to be of interest, whereas currently available systems and methods may often result in users' following feeds being populated with thematically wide-ranging content posted by those users - much of which may not be of interest to the user, cluttering their following feed and burying the content that they do find interesting.
[0057] Users of social networking environments have, historically, been unable to follow visual content posted in a sequential manner, or sequentially-posted items of visual media sharing any sort of relationship, and are typically only able to follow other users, content creators, or account holders. As such, users have been unable to effectively follow along with progressive stories as they unfold in real-time, and have been unable to receive realtime notifications when new content posted subsequent and in relation to older content that the user found to be of interest is posted.
[0058] In a similar vein, paid advertisers (e.g., businesses, brands, celebrities, teams, charities, and so on) have been unable to create advertisements, in a social media environment, which request, challenge, encourage, or otherwise incentivize users to create, share, and update ongoing streams of visual media. Such ongoing streams of visual media may depict progressive stories suggested by the advertiser, which may or may not request or require the user to incorporate suggested elements (e.g., a given product, activity, song lyric, physical location, particular brand imagery, and so on).
[0059] The systems and methods described herein, by enabling users to create, share, and update ongoing streams of visual media depicting progressive stories, may enable advertisers to create such advertisements. For example, the systems and methods described herein may enable a hardware store to create a paid advertisement encouraging users within a specific geographical region, and within a specific time frame, to post a stream of progressive visual media that may be continually updated with new visual media in realtime. Such a stream may depict, for example, an ongoing kitchen renovation project from beginning to end over the term of the contest period.
[0060] Further to the exemplary embodiment of the previous paragraph, users may respond to such an advertisement, for instance, by tapping an "accept" button appearing within the field of the advertisement. As a result, a promotional progressive visual media stream template may be presented to the user within the user's profile. The user may then upload relevant visual media items, in accordance with the sponsor's requirements. This stream may then appear within the content feeds of members of the respondent's social network, who may then be exposed to the respondent's updates in real-time. Further, this stream may appear in the content stream of the brand that sponsored or requested the respondent's stream, thereby increasing total campaign reach and the likelihood that members of a respondent's social network will themselves may respond to the advertisement after observing the respondent's response.
[0061] Further to the exemplary embodiment of the previous paragraph, the respondent's response may appear within a promotional feed pertaining to the parent campaign located within the advertiser's channel or profile page within the social network. The community of users may then vote for their favorite respondent stream created in response to such an advertisement, through means of the advertiser's promotional feed, and the creator of the stream with the most votes could then be rewarded, for instance, with a gift card to be redeemed at the advertiser's hardware store.
[0062] Alternatively, each respondent's response to such a campaign could be added to a single, "parent" stream of progressive visual media. Said "parent " streams may contain the responses of all respondents to the advertisement, in chronological order, according to each visual media item's time of upload, time of capture (e.g., as determined by exchangeable image file-format ("EXIF") data), or some other relevant metric. [0063] According to some embodiments, the systems and methods described herein may also allow advertisers and their service providers to design, build, customize, purchase, publish, and analyze the performance of such advertising campaigns by means of an interactive self-serve dashboard apparatus provided by the social network environment operator. In operation, such a self-serve dashboard may enable advertisers to upload items of visual media describing the progressive visual media streams related to their advertising campaign(s). For example, through the dashboard, an advertiser may upload a video instructing users to post a stream of progressive visual media depicting the ongoing progress of their kitchen renovations over the term of the contest period, a campaign title, a secondary title, an incentive or prize, target demographic characteristics and so on.
[0064] According to some embodiments, the systems and methods described herein may, via the self-serve dashboard, enable advertisers to upload, select, or design any number of promotional visual media filters (e.g., a filter comprised of an animated hardware store logo, designed to overlay photographs), templates, skins, and the like, to accompany their advertising campaign. Upon publication/activation of the media stream, such elements may enable users to modify the appearance of the visual media items within the progressive visual media streams they upload in response to the advertisement through the superimposition or addition of such a filter, template, skin, and the like, over, onto, or into such visual media items. Prior to publishing an advertisement, the self-serve dashboard may first provide advertisers with a quote or price pertaining to their campaign, and the option to electronically purchase their specified campaign (e.g., by credit card, electronic money transfer, PayPal, and so on). After such payment is processed and/or approved, the payee's campaign may then automatically be published and may automatically be terminated upon satisfaction of pre-defined conditions.
[0065] According to some embodiments, the systems and methods described herein may, via the above-mentioned dashboard, enable advertisers to: view the progressive visual media streams uploaded by users in response to their advertisement(s); view analytic data, figures, graphs, charts, and so on pertaining to the performance of their campaign(s) (e.g., number of advertisement views, number of progressive visual media streams uploaded in response to the advertisement, average number of visual media items within respondents' respondent streams, number of respondent stream views by non-respondents, number of respondent stream views by members of respondents' social networks, number of respondents who became respondents only after first viewing prior respondents' respondent streams, and so on).
[0066] According to some embodiments, the systems and methods described herein, via the above-mentioned dashboard, may also display tertiary data (e.g., the respondent stream(s) voted most popular by users, the respondent stream(s) with the highest number of views, the respondent stream(s) with the fastest time of completion, and so on), and so on. The systems and methods described herein may thus enable advertisers to quantify and analyze users' engagement with their brands, engage users with participatory advertisements, interact with users through participatory advertisements, insert their brands into users' progressive visual media streams, incentivize select users, and enjoy a level of advertisement campaign reach to an extent and degree and a nature that have hitherto not been possible.
[0067] In addition, the operators of existing social network environments have been unable to collect metrics or otherwise analyze data (for purposes of research, targeted advertisements, and so on) that measures, quantifies, or otherwise suggests how engaged users may or may not be by progressive visual media streams pertaining to particular themes or particular advertisement-related progressive visual media streams in comparison to others, as determined by measurements of particular users', or groups of users', viewing or posting behavior in relation to particular streams, or groups of streams, and so on). The systems and methods described herein, by enabling users to create, share, and update ongoing streams of visual media depicting progressive stories, may enable the operators of social network environments to collect such metrics and analyze such data.
[0068] Current systems for creating streams of visual media items typically do not allow users to manually create thematically defined streams of visual media, or to set functional and semantic parameters for such streams. For example, current systems often allow users to create "stories," which may be deleted, along with the content they contain, after a predetermined amount of time over which the user has little to no control. Typically, such stories are assigned a title such as "My Story," which the user has little or no ability to edit, and which users are expected to add any and all visual media items they capture to, regardless of their thematic relationships. Often, users are only able to create one such disappearing story per a certain period of time, such as one day. This may function to ensure not only that the story and its content will be automatically erased within 24 hours, but also that users cannot simultaneously create and share multiple stories which allow for a thematic distinction between their content. Further, the parameters of such a story are often limited by a rigid template. Thus, the user may have little to no ability to create a stream with custom parameters or characteristics. Rather, the user may be given only the ability to add content to the singular template stream with preset parameters.
[0069] The systems and methods described herein, according to some embodiments, may allow users to create an uncapped number of simultaneous streams at any time, each of which may be assigned a set of custom parameters, determined by users. Users may first capture media or import it from their device or another source. Each individual piece of media may be added to a unique media data object. The media data object may ensure that edits made to the individual pieces of media are saved and properly presented via a user interface. The media data object may also store media location data, description data, as well as time capture data.
[0070] According to some embodiments, upon completion of media retrieval, the user may enter a media review or editing screen which may allow the user to review their media, add or edit textual or verbal descriptions and/or remove media data objects from the list of media. In some embodiments, the user may also apply visual effects such as filters, stickers, skins, animations, etc.
[0071] According to some embodiments, in the event that the user wishes to use the media item(s) to create a new stream, the user may configure stream wide parameters (see Settings Diagram), and set a thematically-descriptive name for the stream. Upon initiating the stream, the media data objects may be uploaded through the Media Upload Process (described below), where the Stream ID is passed as a parameter when adding to an existing Stream, or a separate function is called which will first create a Stream. An alternative implementation may allow users to create empty streams (which may not require media to be uploaded at the time of creation). In such an embodiment, users may immediately be prompted to set a stream name, privacy, and contributor parameters. A Create Stream Request may be sent directly to the System Web Client (not through the Media Processing Server) which may contain all stream configurations and parameters. A Stream ID (unique Stream identifier) may be generated, and the stream data may be inserted into the database. Whenever media is uploaded, a sequential data value corresponding to the top indexed (most recently added) media may be incremented. By default, this value may begin as a value of 0. In such cases, any streams with 0 as their top index may be identified as empty streams. Any request to access an empty stream may be refused until a piece of media is added.
[0072] Current systems for creating visual media streams typically only allow users to add a single item of visual media to a stream in any one upload session. The systems and methods described herein, according to some embodiments, may, provided that no upload constraints are set by a stream's creator, allow users to: add multiple items of visual media to any stream in any given session; to simultaneously add said multiple items of visual media to multiple streams; and to create new streams immediately subsequent to the capture or upload of single or multiple media items.
[0073] According to some embodiments, the media upload process may first require that the client (e.g., mobile software application) have a valid Stream ID. Alternatively, according to some embodiments, a user may be required to indicate that a new Stream is being created. The media upload process may then take the media data objects in the order that they were added, and may encode media data object parameters into a JSON (JavaScript Object Notation) object. The JSON object may include information describing the associated media file, for example the number of bytes included in the media file. A stream may be opened to a dedicated web server responsible for processing media uploads, and the JSON object may converted into an array of bytes. The length of the array may be the first piece of data to be sent to the media processing server in the form of a 4 byte integer. The array of bytes may be sent next. The binary media data (e.g., the information comprising a visual media recording) may be sent last. The media processing server may reconstruct the binarized JSON object, and then the binary media data. [0074] According to some embodiments, subsequent to reconstruction of the binary media data by the media processing server, a unique identifier may be generated to represent the particular piece of media. In some embodiments, media forms can either be images or videos. Image data may be processed immediately, with different resolution version of the image file being rendered as multiple files. The different image resolution files may be sent to a logical storage unit. Videos may be sent to a transcoder, then after being transcoded may be sent to a logical storage unit. If this piece of media is set to be uploaded to a new stream, the stream information and parameters may be extracted from the JSON Object, and a stream creation request may be sent to the System Web Server. The stream creation request may create a unique identifier for the stream, and insert the Stream ID as well as the Stream parameters into the appropriate table in a database.
[0075] According to some embodiments, subsequent to the insertion of the Stream ID and the Stream parameters into a database table, the Stream ID may be returned to the media processing server. If the piece of media was sent be uploaded to an existing stream, the Stream ID may be accessed directly from the media parameters. A media upload request may be sent to the System Web Server containing the Stream ID, Media ID, and media parameters. The media information may be inserted into the appropriate table in the database. Once complete, the media processing server may return the client a Boolean value indicating a successful or failed media upload. In the case that a new Stream was created, the Stream ID may also be returned. This process may repeat for any subsequent media in the media data object list. Once the list has been fully processed, the upload may be considered to be finished.
[0076] According to some embodiments, if a user chooses to add media items to multiple streams, after the user selects which streams it would like to add the media items to, the process of uploading may be similar to the Media Upload Process with several differences. For example, a list of Stream IDs may be bundled with each media upload, rather than just one. A Media ID may be generated as described in the Media Upload Process. For each Stream ID in the list, the media information may be inserted into the database, with the same Media ID, but corresponding to the current Stream ID (e.g., supposing that there are 5 Stream IDs {1 , 2, 3, 4, 5}, and a Media ID 10, the corresponding insertion may have [1 - 10], [2 - 10], [3 - 10], [4 - 10], [5 - 10]. The culminating primary key may be the combination of Stream ID and Media ID, forming a unique identifier for each stream.)
[0077] When a user accesses, views, and/or navigates a stream, additional content may be added to the stream by the stream's creator or other contributors after the user who accesses the stream stops viewing the stream. When the user is notified that new content has been added to the stream, or otherwise returns to the stream after new content has been added, it may be problematic and difficult for the user to view the new content in sequence if the within the stream that was most recently viewed by the user was not indexed and recorded. Such indexing may allow the user to resume viewing the stream where they "left off' upon re-launching the stream. Current solutions may re-launch streams from the first item within the stream. Returning to the correction location a stream containing multiple pieces of visual media may be a tedious, time-consuming, and/or confusing process for the user, especially as such streams may contain many visual media items.
[0078] According to some embodiments, part of the response to a "Fetch Stream" request generated by a user may contain the current index of the user in that Stream (the most recent media the user has seen). If the stream has never been seen, the default index may be 0. Every time the user changes visual media items, some embodiments may check for an increase in position to that of the current index. If the position is higher, the client may send an "Update Memory" request which may contain the Stream ID and the new position. The system may query the memory table in the database in order to verify that the position index value is 'ndeed larger than the previous index. If this is true, the row may be updated. Unless the stream has never been seen before by a given user, the start position in the stream when the stream is loaded by that user may be the index + 1 (i.e., the next media item) where possible (e.g., if at the end of the stream, the final media item may be presented). Every time a new piece of media is uploaded, it may receive a unique (incremental) index.
[0079] Current systems for creating and sharing streams of visual media often do not allow users who are currently viewing a stream to view new visual media items as they are added to that stream by contributors in real-time. Often, a user will need to first exit the stream, and then reload the stream, for new visual media items that have been added to the stream to be displayed. Problematically, current systems do not allow users to follow along with streams as new content is added to them in real-time. Some embodiments described herein may allow for new content added to active streams to be dynamically loaded and displayed in real-time in the interface of a user who may be viewing the stream while new content is added.
[0080] According to some embodiments, when a stream is currently the focus of the user (i.e., being actively loaded in the application), the client may send a periodic Stream Update Request containing the highest indexed piece of media as well as the Stream ID. The server may query the database for media with a higher index than the one sent by the client. Any rows returned by the database may be new pieces of media, and may be returned to the client. The client may parse the response media (if any) and may update the Stream view on the application by appending the new media to the end of the stream, or to its appropriate place within the stream, based on relative timestamp data across items within the stream and items being added to the stream.
[0081] Current systems for creating and sharing streams of visual media typically do not allow users to "follow" streams of visual media. Users may follow other users, but not the streams they create. Problematically, users are not only prohibited from following individual streams of visual media which they may deem to be of interest, to the exclusion of less- interesting streams that may be shared by the same stream creator, and from storing the streams that they deem to be of particular interest in an organized "following" feed, but are also prohibited from receiving real-time notifications whenever new content is added to a stream that they deem to be of particular interest - prohibiting the user from effectively following along in real-time as new content is added to the stream over time. The present invention allows for users to follow streams and receive notifications when new content is added over time.
[0082] According to some embodiments, a user may activate (e.g., tap) a user interface element indicating that the user wishes to follow (or unfollow) a stream. Activation of this element may cause a request to be sent which may contain the Stream ID (unique identifier to the stream) as well as a Boolean value corresponding to whether the user is following or unfollowing the stream, to the System Web Server. If the database following table already contains a user's follow state corresponding the received Stream ID, it is updated according to the Boolean parameter. If it does not contain a user's follow state corresponding to the received Stream ID, it may create an entry for the user's follow state. In the event that a new entry is created, the server may propagate a "follow" push notification of the action to the creator of the story. The server may respond to the client with no explicit data.
[0083] Current systems for sharing streams of visual media typically do not allow multiple users to contribute visual media items to any one user-created stream. Often, a given user is provided with a template "story" to which it, and only it, can add one individual visual media item per upload session. Further, in cases where current systems do allow multiple contributors to contribute visual media items to a given visual media stream, users are often, in actual fact, only able to contribute content to a content pool - not an actual visual media stream.
[0084] For example, current systems may assign a label such as "Our Story" to a sponsor-created visual media stream for which content was sourced from multiple contributors. However, such multiple contributors are often only solicited or given the option to submit individual pieces of content to an unpublished content pool. An administrator will then review submissions made to the content pool, select a fraction of the submissions as being suitable for the stream it wishes to create, and then rearrange the sequence of such submissions as it sees fit for publication in the stream. After this, the stream may be published.
[0085] Problematically, such current systems virtually ensure that many content pool submissions made by potential stream contributors will not be included in the stream but also that the stream will not be published in real-time, as content is captured; that content submissions made to the stream will be organized randomly or in a sequence unreflective of the chronological timeframe in which each piece of content was captured relative to every other piece of content; and that stream administrators must review, edit, and arrange submissions made to such content pools prior to the publication of the stream itself, creating unnecessary work and expense, and delaying the publication of the stream. Further, because such streams are published sometime after the content depicted within them has been captured, and because such content is often rearranged in a non-chronological sequence, it is unhelpful to attempt to include in current systems an ability for users to "follow" multi-contributor streams because the stream's content will be predetermined at the time of its publication.
[0086] According to some embodiments of the systems and methods described herein, user may collaborate with other users in creating, sharing, and submitting visual media items to single streams of progressive visual media, which may be updated in real-time with new visual media items as those visual media items are submitted to the stream by contributors. In further contrast to existing systems, some embodiments described herein may allow multiple users to contribute content directly to visual media streams, as opposed to precedent content pools. As an illustrative example, a stream's creator may select or invite specific other users as having permission to submit visual media items to a given stream, or may make contributions to a given stream of visual media open to the public (i.e., to any user in the social network).
[0087] In such cases, when a user requests a stream, the User ID (unique identifier for a user) as well as the Stream ID (unique identifier for a story) may be sent as parameters for a Store Fetch Request. The server validates the request, and will then authenticate the user's access to a stream by querying the stream entries in the database. If there is a Contributor Group ID present in the row, a second query request may be sent to determine if the user is a member of the stream's contributor group. If the user is a member, the server may return a contributor flag (alongside the rest of the stream data) set to true. If not, this flag may be false. When the client receives the response, the client may check for the contributor flag, and if the flag is set to true, may cause the appropriate user interface element to be presented, indicating that the user can contribute visual media items to the stream.
[0088] Current systems and methods for sharing visual media streams typically do not allow large numbers of users to concurrently add visual media items to a single stream of visual media. Nor do current systems and methods publish within the stream such concurrently-submitted visual media items at, or immediately subsequent to, the moment of their submission by each respective user. Current systems and methods do not publish such visual media items within the stream at, or immediately subsequent to, their moment of capture; and appear to have no means of ensuring that each respective visual media item added to a single stream during such a Mass Submission Event are published in real-time in perfectly chronological order, either according to each visual media item's time of submission, or time of capture.
[0089] According to some embodiments of the systems and methods described herein, all applicable visual media items submitted during a Mass Submission Event (in the order of thousands of concurrent content submissions) may be published within a single stream, in real-time or near-real-time, in chronological order. In such cases, the process would be an extension of the processes described in paragraphs above.
[0090] According to some embodiments, when visual media items are captured, or added to a single stream of visual media, by many contributors during a Mass Submission Event, timestamps generated at the time each respective media item was captured, and, in some embodiments, Geo-stamps encoding the specific geographical coordinates, applicable place names, etc. - may be generated. Geo-stamps may serve to determine, in applicable instances, whether a given visual media item shares one or more thematic elements with a stream's content, based on its geographical nature, or, alternatively, the order in which visual media items are sequenced in a stream. Such sequencing may be based on the relative geographical locations at which each visual media item was captured (according to the Geo- stamps). Timestamps and Geo-stamps may be sent to the System Web Server alongside the visual media files. Such media data may be sent alongside the media parameters and configurations of each respective visual media item submitted during the Mass Submission Event, via respective Media Upload Requests for each item submitted by each respective user.
[0091] According to some embodiments, the timestamps and, where applicable, Geo- stamps, of each respective visual media item submitted to a given stream may determine the sequential position of each visual media item within that stream, relative to every other visual media item already within the stream, every visual media item being concurrently submitted to the stream, and any additional visual media items which may be submitted to the stream at a future point in time. When a stream is requested (see FIG. 12) by users who submit content to such a stream during a Mass Submission Event, streams which chronologically sequence visual media items according to the times at which such items are captured, as opposed to the time at which such items are submitted, may be queried in the order of visual media item capture time, rather than visual media item upload time. This process may ensure that visual media items concurrently submitted to any one stream by many users during Mass Submission Events will be sequenced and published within such a stream in real-time according to their capture times, regardless of whether each item is submitted at its time of capture, or at times subsequent to its time of capture.
[0092] FIG. 1 illustrates an exemplary social network environment 100 in which thematically-defined streams of progressive visual media could be created and shared. One or more users 102 (102A-102N) at user devices 110 are coupled to a social network provider 130 via a communications network 120. In various embodiments, user devices 110 may include a computer, a personal digital assistant (PDA), a smartphone, a tablet computer, and so forth. In various embodiments, the communications network 120 may include a local area network (LAN), a wide area network (WAN), a wireless network, a cellular network, an intranet, the Internet, and so forth.
[0093] The social network provider 130 may be an entity or person that provides social networking services, visual media sharing services, communication services, dating services, company intranets, and/or online games, etc. For example, the social network provider 130 may host a website that allows one or more users 102 at one or more user devices 110 to communicate with one another via the communications network 120. The social network environment 100 may offer a user 102 an opportunity to share visual media with one or more users 102 who have attended, for example, the same university. In some embodiments, a social network environment 100 includes a segmented community, such as a separate, exclusive, or semi-exclusive subset of the social network environment 100, or social network 100 wherein only users 102 who are authenticated segmented community members may access and interact with other members of their respective segmented community.
[0094] FIG. 2 is an exemplary screenshot of a content feed display 210 for a social network environment user 260. Social network environment user 230 creates progressive visual media stream 250, which appears in content feed 210 of social network environment user 260. Social network environment user 230 has sequentially added visual media items 204, 203, 202, and 201 to progressive visual media stream 250. [0095] Further referring to Fig. 2, visual media items 204, 203, 202 and 201 are visualizations of media items that have been sequentially added to the progressive media stream 250. Specifically, visual media items 204, 203, 202 and 201 represent thematically connected photos forming parts of a user's 260 weight loss journey (e.g., see para 16 above). Visual media items 204, 203, and 201 may not be currently selected and may represent items that prior or subsequent to the point in the progressive visual media stream 250 that a viewer is currently viewing. As a result visual media items 204, 203, and 201 may be "greyed out" or otherwise partially obscured in order to draw user 260 attention to the currently selected or displayed visual media item 202.
[0096] The systems and methods described herein may function to arrange visual media items 204, 203, 202 and 201 in sequence by processing and analyzing various factors (e.g., time of upload, metadata, contextual analysis of the visual media items), and may detect and add subsequently added visual media items to the pertinent thematically-defined progressive visual media stream 250. For example, the visual item depicted in 204 illustrates a photograph of a woman at the beginning of her weight loss journey, thus she is depicted as being of larger stature than at 203, 202, or 201. The visual item depicted in 203, illustrates a photograph of a woman at the second stage in sequence of her weight loss journey, thus she is depicted as being of larger stature than at 202, or 201 , but of smaller stature than at 204. The visual item depicted in 202, illustrates a photograph of a woman at the third stage in sequence of her weight loss journey, thus she is depicted as being of larger stature than at 201 , but of smaller stature than at 204, 203, or 201. The visual item depicted in 201 , illustrates a photograph of a woman at the fourth stage in sequence of her weight loss journey, thus she is depicted as being of smaller stature than at 204, 203, and 202.
[0097] In Fig. 2, only visual media item 202 is fully-displayed in content feed 210 of social network environment user 260. Thumbnail visual media items 204A, 203A, 202A, and 201 A displayed within content feed 210 of social network environment user 260 are respectively representative of visual media items 204, 203, 202, and 201 which have been sequentially added to progressive visual media stream 250 by social network environment user 230. Thumbnail visual media items 204A, 203A, 202A, and 201 A displayed within content feed 210 of social network environment user 260 make social network environment user 260 visually aware of the presence and position of visual media items 204, 203, 202, and 201 within progressive visual media stream 250, eliminating the need for social network environment user 260 to fully-display within content feed 210 through manual action visual media items 204, 203, 202, and 201 to become aware of their presence and position within progressive visual media stream 250.
[0098] Further referring to FIG. 2, visual media item 202 is the second most-recent visual media item added to progressive visual media stream 250 by social network environment user 230. While visual media item 201 is the most recent visual media item added to progressive visual media stream 250 by social network environment user 230, the most recent visual media item added to progressive visual media stream 250 viewed by social network environment user 260 prior to the addition of visual media item 201 to progressive visual media stream 250 by social network environment user 230 was visual media item 203. The systems and methods described herein may record by means of social network environment user viewing activity which visual media item added to each progressive visual media stream is the most recent visual media item added to each progressive visual media stream viewed by each social network environment user who has viewed each progressive visual media stream prior to the addition of any subsequent visual media item or items to each progressive visual media stream by the social network environment user who created each progressive visual media stream.
[0099] Further referring to FIG. 2, visual media item 202 is the visual media item 202 added to progressive visual media stream 250 by social network environment user 230 directly subsequent to the addition of visual media item 203 to progressive visual media stream 250 by social network environment user 230, and is thus fully-displayed in content feed 210 of social network environment user 260 prior to the full-display of social media item 201 , which was added to progressive visual media stream 250 by social network environment user 230 directly subsequent to the addition of visual media item 202 to progressive visual media stream 250 by social network environment user 230, thus fully- displaying in sequential order of addition to progressive visual media stream 250 by social network environment user 230 in content feed 210 of social network environment user 260 visual media items 204, 203, 202, and 201 which have been sequentially added to progressive visual media stream 250 by social network environment user 230, with subsequent visual media items added to progressive visual media stream 250 by social network environment user 230 only being fully-displayed each in turn in content feed 210 of social network environment user 260 after such point as content feed 210 of social network environment user 260 has fully-displayed each in turn the visual media item(s) added to progressive visual media stream 250 by social network environment user 230 immediately prior to the addition of the next subsequent visual media item added to progressive visual media stream 250 by social network environment user 230, and so on.
[00100] Further referring to FIG. 2, social network environment user 260 may manually navigate between visual media items 204, 203, 202, and 201 independent of any other process(es) by means of a horizontal swipe action undertaken across the field of content feed 210, with a leftward horizontal swipe action causing visual media item 201 , and so on, to be fully-displayed in content feed 210, and with a rightward horizontal swipe action causing visual media item 203, and so on, to be fully-displayed in content feed 210, or by means of a manual tap action undertaken on the field immediately overlying each of thumbnail visual media items 201 A, 202A, 203A, and 204A, with a tap action undertaken over each respective field causing, respectively, visual media items 201 , 202, 203, or 204 to be fully-displayed in content feed 210 of social network environment user 260.
[00101] Further referring to FIG. 2, thumbnail visual media items 204A and 203A are overlain by a distinctive visual filter, indicating that visual media items 204 and 203, have, respectively, at a past time been fully-displayed in content feed 210 of social network environment user 260. Thumbnail visual media item 202A is overlain by no distinctive visual filter, indicating that visual media item 202 is the visual media item within progressive visual media stream 250 that is at present fully-displayed in content feed 210 of social network environment user 260. Thumbnail visual media item 201 A is overlain by a distinctive visual filter distinct from the distinctive visual filter lain over thumbnail visual media items 204A and 203A, indicating that visual media item 201 has not in the past been fully-displayed in content feed 210 of social network environment user 260.
[00102] Further referring to FIG. 2, social network environment user 260 can manually switch from displaying in content feed 210 progressive visual media stream 250 created by social network environment user 230 to displaying in content feed 210 progressive visual media stream 220 created by social network environment user 240 by means of an upward vertical swipe action undertaken across the field of content feed 210, and so on. Social network environment user 260 could at such point proceed to manually switch from displaying in content feed 210 progressive visual media stream 220 created by social network environment user 240 back to displaying in content feed 210 progressive visual media stream 250 created by social network environment user 230 by means of a downward vertical swipe action undertaken across the field of content feed 210, and so on.
[00103] FIG. 3 is a flowchart of an exemplary process 3000 for creating, sharing, and updating thematically-defined streams of progressive visual media in a social network environment. Upon capturing and/or importing initial visual media item 300, progressive visual media stream 301 is created. At step 302, progressive visual media stream 301 then automatically incorporates initial visual media item 300 as the first item of visual media in progressive visual media stream 301 and automatically shares progressive visual media stream 301 with the social network of social network environment user 320.
[00104] Upon capturing and/or importing a subsequent visual media item 303, subsequent visual media item 303 is added to progressive visual media stream 301 when social network environment user 320 uploads subsequent a visual media item 303 to progressive visual media stream update area 303B, which then automatically incorporates 304 subsequent visual media item 303 as the second item of visual media in progressive visual media stream 301. An updated version of the progressive visual media stream 301 is then shared with the social network of social network environment user 320. 310 - 314 present another example method by which the systems and methods described herein may enable users of social network environments to create and share multiple streams of progressive visual media which can then each be modified through the addition of new items of visual media, in realtime, while continually remaining independent of one another.
[00105] FIG. 4 is an alternative exemplary interface of a full-screen content feed for viewing individual streams of progressive visual media. Content feed 400 depicts progressive visual media stream 402 created by social network user 404 with content submissions from three additional users. Full-screen video 408 is currently depicted in content feed 400, with 17 seconds of run-time remaining as indicated by runtime indicator 406, as full-screen video 408 began to autoplay at the moment progressive visual media stream 402 was loaded. Video 408 is the first of thirty chronologically-ordered visual media items within progressive visual media stream 402, and is microscopically represented by the shaded thumbnail image at the beginning of navigation tool 414. In contrast to the thumbnails 201A-204A depicted within Fig. 2, the navigation tool 414 depicted within Fig. 4 is a slide-able and tappable content "scrubber," containing a partial thumbnail view of each respective item of visual media contained within stream 402, organized in chronological succession. As a user slides its finger horizontally along the screen area occupied by scrubber 414, the respective fullscreen visual media items represented by each partial thumbnail within scrubber 414 will immediately begin to load in content feed 400 as each item's respective partial thumbnail is physically contacted by the user's swiping gesture. In order to load in rapid succession, a low resolution JPEG thumbnail of each respective file (which are each fully-rendered within scrubber 414) will immediately be scaled to fit the full-screen view with a Gaussian Blur and darkened filter applied, as the full-resolution file loads in the background.
[00106] Further referring to FIG. 4, tapping follow button 410 will allow users to follow progressive visual media stream 402. Progressive visual media stream 402 may be added to such users' personal following feeds, and such users may receive real-time push notifications, in-app notifications, and messages as new content is added to progressive visual media stream 402 by social network user 404 and its collaborators. In one embodiment, all visual media items subsequent to the first item of visual media within any given stream of progressive visual media may be "locked" and by default be un-viewable by any given user until such a user taps follow button 410 and follows the stream, while, in another embodiment, all content within a given stream may be "unlocked" and be immediately viewable by any given user by default, regardless of whether such a user follows the stream. Description box 412 contains a text description of the full-screen visual media item 408 currently displayed within content feed 400, in addition to the profile image and username of the social network user who added visual media item 408 to progressive visual media stream 402, an interface element which ensures that each individual user that contributes visual media items to a multi-contributor stream of progressive visual media will receive credit for their respective contributions within such contributions, as well as a link to such users' profiles which, in this embodiment, may be accessed by tapping the contributor's profile picture depicted within description box 412.
[00107] Further referring to FIG. 4, icon 416 is an interface element which can be understood as an alternative to progressive visual media stream update windows 303B/313B, as depicted in FIG. 3. In this embodiment, icon 416 will remain overlaid in a constant position on every visual media item within progressive visual media stream 402, but will only be present, visible, and/or active when qualified users, who have permission from user 404 (the creator of progressive visual media stream 402) to contribute visual media items to stream 402, access stream 402. Tapping icon 416 will launch an image and/or video capture camera interface and/or an image and/or video upload/importation interface (in one embodiment, camera interface 500 as depicted in FIG. 5) from which qualified users may capture a single or multiple new visual media item(s) and contribute them to stream 402, or, alternatively, select and import a single or multiple visual media item(s) that were captured at a previous moment in time, and then contribute them to stream 402. In one embodiment, visual media items contributed to stream 402 may be indexed and sequenced in chronological order, from oldest to newest, or newest to oldest, according to timestamp values generated at each visual media item's time of contribution to stream 402. In an alternative embodiment, visual media items contributed to stream 402 may be indexed and sequenced chronologically, from oldest to newest, or newest to oldest, according to timestamp values sourced from metadata, such as exif data, within each visual media item file selected for importation, and/or from timestamp values generated at the moment of capture of each new visual media item captured using the camera interface, thereby denoting each visual media item's true time of capture, and ensuring that each visual media item within stream 402 will be indexed and sequenced in true chronological order, according to the times at which each visual media item is captured, and, consequently, the times at which the events depicted by such visual media items occurred. Such indexing and sequencing can be considered "floating" indexing and "floating" sequencing, wherein the indexed and sequenced positions of any visual media items within stream 402 may be dynamically modified, as appropriate, when new visual media items captured prior to, in- between, or subsequent to such existing visual media items already contributed to the stream, are contributed to the stream. Additionally, Geo-stamp data, consisting of geographical latitude and longitude coordinates, and corresponding place names, as made available by applicable libraries or repositories, may be appended to visual media item files at the time of those items' capture using Location Services, GPS, user-inputted data, or other forms of data.
[00108] FIG. 5 is an exemplary camera interface 500 wherefrom single or multiple image and/or video and/or other visual media items may be captured by tapping visual media capture button 504. Import button 508 is a tappable interface element which allows users to import selected visual media items from sources such as the user's device library, device gallery, external storage libraries, social network libraries, and so on. Scrubber 506, comprised of three partial thumbnail images, ordered chronologically, indicates that three sequential visual media items have been captured by the user in its current camera session. Captured visual media items may be cached and/or saved to the user's device's media library, may be appended with timestamp data and indexed at their time of capture, and may be quickly previewed by making a sliding gesture along scrubber 506, or by tapping such respective partial thumbnails within scrubber 506, causing such visual media items to overlay camera interface 500. In this embodiment, individual visual media items may be quickly deleted during the camera session by tapping, holding, and then "swiping" any partial thumbnail in an upward direction - causing such partial thumbnails to disappear from view, and the corresponding cached visual media item to be deleted, dynamically modifying the indexed positions, as appropriate, of any other visual media items captured during the camera session, or imported from an alternative source. Next button 510 is a tappable interface element which will open visual media item review screen 600 depicted in FIG. 6. In an alternative embodiment, visual media items may be immediately and automatically uploaded, added, and/or contributed to a given visual media stream or streams upon their capture and/or importation, if, for example, exemplary camera interface 500 is accessed by tapping a button 1008 overlaid on a given stream's cover media as depicted in exemplary stream preview feed 1000 as depicted in FIG. 10 below; if exemplary camera interface 500 is accessed by tapping a button 416 as depicted in exemplary full-screen content feed 400 as depicted in FIG. 4 above; or if exemplary camera interface 500 is accessed by some other means subsequent to a user selecting or identifying a stream or streams to which it desires to immediately add or contribute new visual media items to. [00109] FIG. 6 is an exemplary visual media item review screen 600 from which, in this embodiment, visual media items captured or imported within a given camera interface session may be 604 previewed, 606 captioned, 614 deleted, 616 downloaded, 610 sent or added to a stream or streams, or 608 be used to create a new stream or streams. In this embodiment, tapping icon 602 will return users to the camera interface 500 depicted within FIG. 5, enabling users to capture or import additional items of visual media, whilst the visual media items depicted in scrubber 612 will remain cached, and be dynamically re-indexed as new visual media items are captured or imported, as appropriate. The shaded partial thumbnail within scrubber 612 indicates that the visual media item 604 currently depicted in visual media item review screen 600 is the fourth and most-recently captured visual media item of four visual media items being previewed in the current visual media item review session.
[001 10] FIG. 7 depicts an exemplary visual media stream selection interface 700 for selecting visual media streams to send, add, or contribute visual media items to subsequent to, in this embodiment, tapping button 610 as depicted in visual media item review screen 600 in FIG. 6. Exemplary interface 700 contains a vertical list of visual media streams 710- 720, each of which contain a 708 description field containing a representative thumbnail image, title, timestamp (indicating when visual media items were lasted added to the stream), and the number of users following the visual media stream. In this embodiment, each of streams 710-720 listed in exemplary interface 700 are appended by a 724 tappable selection box. Tapping selection box 724 will cause the visual media items reviewed in visual media item review screen 600 in FIG. 6 to be tagged for contribution to the corresponding progressive visual media stream, and will cause floating send button 722 to appear as an overlay at the bottom of interface 700, depicting the total number of streams for which the user has tapped selection box 724 in the current session. Tapping button 722 will cause the visual media items reviewed in visual media item review screen 600 in FIG. 6 to be added to the respective visual media streams which the user has selected. The indices and sequences of any existing visual media items within each of such streams may be dynamically modified in relation to the timestamp values of the new visual media items being added to such streams, as appropriate, to ensure chronological sequencing of such visual media items. In one embodiment, the new visual media items added to any given stream by tapping button 722 depicted in exemplary interface 700 may be dynamically loaded onscreen, with the sequence of existing visual media items within the stream being dynamically modified on-screen as appropriate, for other users who may be currently viewing such streams at the time new content is contributed to the stream, allowing for such users to seamlessly consume new content added to the stream as it is added in real-time.
[001 1 1 ] Further referring to FIG. 7, tabs 702-706 depict exemplary categories of streams to which a given user may add content. The 702 tab, currently selected in interface 700, depicts streams created by the user. The 704 tab depicts streams created by other users to which the user has permission to contribute visual media items to. The 706 tab depicts streams in close proximity to the user's current geographical location, as determined by Location Services, GPS, user inputted data, or other data, to which the user has permission to add content to. Streams listed within tab 702 may be listed chronologically according to the time each respective stream was created, or according to the most-recent time new content was added to each respective stream. Streams listed within tab 704 may be arranged in a similar chronological fashion, or, alternatively, according to the network value of the individuals who created or contributed content to each respective stream (e.g., streams created by individuals who are friends or followers of a user may be indexed higher under tab 704 than streams created by individuals outside of the user's immediate network), according to popularity, as determined by the number of users following each stream, by the number of contributions made to each stream, etc., by indexing sponsored or paid streams higher than non-sponsored and/or non-paid streams, etc. Streams under tab 706 may be indexed in a same or similar way to streams under tabs 702-704, or, alternatively, according to the geographical proximity of such streams to the user's current location, as determined by Location Services, GPS, user inputted data, or other data, with streams in closer geographical proximity to the user's current location been indexed higher than streams geographically further from the user's current location.
[001 12] FIG. 8 is an exemplary progressive visual media stream creation interface 800 for creating, sharing, and/or publishing new streams of progressive visual media. In one embodiment, interface 800 could be accessed by tapping icon 608 depicted in exemplary interface 600 in FIG. 6 above, after capturing or importing initial visual media items, or, alternatively, by tapping floating content creation icon 1022 depicted in exemplary content feed interface 1000 in FIG. 10 below, prior to c capturing or importing initial visual media items. Depicted in the background of interface 800 is an 812 slideshow of initial visual media items reviewed in exemplary interface 600 as depicted in FIG. 6 above, prior to tapping icon 608 in FIG. 6 above, providing the user with an element of context in naming their progressive visual media stream using text field 810. If the user accesses interface 800 via icon 1022 as depicted in FIG. 10 below, prior to capturing or importing initial visual media items, a blank background image or stock animation may appear in the background of interface 800 in lieu of initial visual media item slideshow 812. Additionally, in one embodiment, users may be unable to create, share, or publish a new stream of progressive visual media prior to entering a valid name for such a stream, while, in an alternative embodiment, a default name, such as the date the stream is initiated on, or a name contextually-relevant to any initial visual media items captured or imported prior to accessing interface 800 (for example, if the initial visual media items were captured on a Sunday afternoon and contain cats, "Cats on Sunday Afternoon" could be assigned to the stream as a default name [using media file metadata and/or pattern recognition algorithms, etc.] and be assigned as the stream's actual name in lieu of a user-inputted name if the user opts to not add a name).
[00113] Further referring to FIG. 8, icon 802 is an exemplary interface element which, when tapped, launches exemplary interface 900 depicted in FIG. 9 below, within which a user may select other users who it wishes to invite or otherwise grant permission to specific other users, or to the public, to contribute new visual media items to the stream being initiated in interface 800. In one embodiment, the ability to contribute new visual media items to a stream may, by default, be restricted solely to the user who creates the stream. Icon 808 is an exemplary interface element which, when tapped, launches an exemplary privacy interface 1300, depicted in FIG. 13, within which a user may select specific other users to which the stream will be visible, accessible, and followable, to the exclusion of all other users. In one embodiment, the ability to view, access, and/or follow streams may, by default, be granted to the public, while, in alternative embodiment, the ability to view, access, and/or follow streams may, by default, be exclusive to the user who creates the stream, or, alternatively, to the same user and its vetted friends, followers, or connections (e.g., in the case of a user who possess a "private account," to which other users must send follow requests or friend requests, which must be approved, before such users may view, access, or follow the approving user's streams). In one embodiment, users who are granted permission to contribute visual media items to any given stream via interface 900 in FIG. 9 will, by default, be granted permission to view, access, and follow the same stream.
[00114] Further referring to FIG. 8, floating button 814 is an exemplary interface element which, when tapped, creates, shares, and/or publishes a new progressive visual media stream, as initiated within interface 800, appended with any applicable stream name entered or generated within text field 810, and any additional settings applied via interfaces 900 and 1300, depicted within FIG. 9 and FIG. 10 below, respectively, in addition to any applicable default settings, or further applicable settings not depicted within exemplary interface 800.
[00115] FIG. 9 depicts an exemplary interface 900 for progressive visual media stream creators to manage which users may contribute items of visual media to any given stream that they create. In one embodiment, exemplary interface 900 may be accessed by tapping icon 802 depicted in exemplary interface 800 in FIG. 8, above. Exemplary interface 900 contains three tabs: tab 902, depicted as being currently selected in interface 900, contains user search field 930 and a vertical list of users 912-926. Tab 904 is functionally a toggle switch which, when tapped, will grant any user in the community of users, who has not been blocked by a content stream's creator, permission to contribute content to the content stream. Tab 906 is likewise functionally a toggle switch which, when tapped, will restrict the ability to contribute content to a given stream exclusively to the stream's creator, to the exclusion of all other users. Referring back to tab 902, in one embodiment, each of users 912-926 listed in tab 902 are made identifiable by a 908 set of identifying information: a profile image, username, and full name, as applicable. Each user listed within tab 902 is appended by a 910 tappable selection box, which, when tapped, will mark such user as being invited to add content to a given stream. The shaded 902 selection boxes appended to users 912-916 indicate that these selection boxes have been tapped, and that each of users 912-916 have been marked as having permission to add content to a given progressive visual media stream. Tapping any selection box 902 causes floating overlay button 928 to appear, the text in which is dynamically adjusted as the number of users selected to have permission to contribute content to a stream changes, reflecting the current, total number of users marked to have permission and be invited to contribute visual media items to a stream. Tapping button 928 will, in one embodiment, mark all users selected to have permission to add content to a given stream as having permission to add content to the stream, and, upon the stream's creator tapping button 814 as depicted in exemplary interface 800 in FIG. 8 above, each such user may be immediately granted permission to add content to the stream; be sent an invitation, message, or notification to this effect, which they each may have the ability to approve, reject, or ignore; and such stream may be automatically added to tab 704 in each such user's exemplary interface 700 as depicted in FIG. 7, above, and to tab 1002 in each such user's exemplary interface 1000 as depicted in FIG. 10, below. In an alternative embodiment, users who have not been given permission to contribute visual media items to a stream or streams but who have permission or the ability to view such a stream or streams may, subsequent to viewing, accessing, or otherwise being made aware of the existence of a given stream or streams - such as by being notified of such a stream or streams' creation or publication; viewing such a stream or streams in exemplary full-screen content feed 400 as depicted in FIG. 4 above; viewing such a stream or streams' cover media in exemplary stream preview feed 1000 as depicted in FIG. 10 below; or subsequent to viewing such a stream or streams' cover media within its creator's profile feed - request permission to contribute visual media items to such a stream or streams by, in one embodiment, messaging, pinging, or otherwise notifying the stream's creator of their desire to contribute new visual media items to such a stream or streams, with the stream or streams' creator or creators having the ability to approve, reject, or ignore such requests.
[00116] FIG. 10 is an exemplary stream preview feed 1000 containing three tabs: tab 1002, which contains a vertical list of "cover media" representative of streams that a given user is following, which, in one embodiment, may include individual streams that the user has followed; streams created by other users who the user is friends with, is connected with, or is otherwise following; and streams which the user has been explicitly invited or granted permission to contribute visual media items to, each of which may, in one embodiment, be added to tab 1002 by default. Tab 1004 contains featured streams which the user is not explicitly following, which may be sourced and hierarchically stacked according to any variety of data, including network information; thematic relationships between streams or visual media items shared, created, or made available by other users and streams or visual media items shared, created, or made available by a given user, or streams previously followed or consumed by a given user, whereby such thematic relationships may be deduced and ranked by means of visual pattern recognition algorithms, visual media item file metadata, timestamps, Geo-stamps, or other data appended to visual media item files, in addition to other applicable data sources. Tab 1006 contains nearby streams which the user may or may not be explicitly following that are occurring, or have occurred, in close proximity to the user's current geographical location, as monitored and determined by Location Services, GPS, user-inputted data, or other such data sources. Streams within tab 1006 may be hierarchically ranked and presented to a given user from geographically closest to geographically furthest in relation to the user's current geographical location, and may dynamically be re-ranked as the user's geographical location changes. Users may receive messages, push notifications, in-app notifications, or other notifications when they approach the "nearby proximity threshold" of a given stream for which location data is available.
[00117] Further referring to FIG. 10, tab 1002 contains stream cover media 1010, 1016, and 1018, the backgrounds of which are populated by horizontally-cropped image and video files representative of visual media items within each respective stream, which may play, play and loop, or remain static for a given period of time, and then dynamically transition into different horizontally-cropped image and video files representative of other visual media items within the stream, to prove the user with a broader sense of context regarding the visual media items within the stream. Each of cover media 1010, 1016, and 1018 depict the name and principal location of the story streams which they represent, in addition to the 1012 profile image of the stream's creator, which functions as a tappable link to the creator's profile, and the 1014 username of the stream's creator and the total number of other users who have contributed content to the stream, each of which are overlaid on top of the background image and video files populating each of cover media 1010, 1016, and 1018. Tapping anywhere on the background image and videos within each of cover media 1010, 1016, and 1018 may launch the exemplary full-screen content feed for that respective stream of progressive visual media, as depicted in content feed 400 in FIG. 4, above. Once such full-screen content feed is launched, making a swipe gesture up or down, respectively, on the feed may "snap" or scroll the content feed up or down to the next or, respectively, previous full-screen, navigable stream whose respective cover media are contained within such a user's following, featured, nearby, and/or other content feeds, as applicable.
[001 18] Further to FIG. 10, button 1008 overlaid on cover media 1010 is a tappable interface element which will allow users who have been invited or who otherwise have permission to add content to the stream represented by core media 1010 to add content to the stream. In one embodiment, upon tapping button 1008, the exemplary content capture/importation interface 500 depicted in FIG. 5 will launch, allowing the qualified user to capture and/or import and contribute content to the stream. In this embodiment, button 1008 will only be made visible and accessible to users who have either been explicitly granted permission or invited to contribute content to a stream by the stream's creator; to the stream's creator itself; and/or to every applicable, non-blocked user when a content stream's creator "makes public" a stream's contributor settings, such as by tapping tab 904 in exemplary interface 900, as depicted in FIG. 9.
[001 19] Further to FIG. 10, floating overlaid icons 1020, 1022, and 1024 are tappable meta-navigation icons. Icon 1020, demarcated with an underline as being currently selected, opens exemplary stream preview feed 1000. Tapping button 1022, in one embodiment, will allow users to create, share, and/or publish new streams of progressive visual media by launching the exemplary interface depicted 800 in FIG. 8, while, in an alternative embodiment, it may cause a pop-over menu to appear, allowing users to choose whether they would like to create, share, and/or publish a new stream, or capture and/or import and add and/or contribute new content to an existing stream or streams, while, in a further embodiment, tapping button 1022 may cause the exemplary camera interface 500 depicted in FIG. 5 to appear, wherein a user may first capture and/or import a single or multiple items of visual media, and then proceed to the exemplary visual media item review screen 600 depicted in FIG. 6, wherefrom users may decide whether they would like to send such visual media to an existing stream or streams, or use such visual media to create, share, and/or publish a new stream, by tapping button 610 or button 608, respectively. Tapping button 1024, which is depicted, in this embodiment, as containing the user's profile image, will open the user's personal profile feed, which, in one embodiment, may contain hierarchically and vertically stacked cover media representative of each stream the user has created, in the same fashion and with the same functional and organizational parameters as the cover media depicted in exemplary stream preview feed 1000, but with the exception that each cover media of the user's own streams within the user's personal profile feed will contain button 1008, allowing the user to efficiently and instantaneously capture and/or import and add and/or contribute new visual media items to any stream or streams that they have created and/or have the ability to contribute new visual media items to.
[00120] FIG. 11 is a flowchart for an exemplary process 1100 for performing server-side data requests in a social network environment in which thematically-defined streams of progressive visual media may be created and shared. With reference to FIG. 11, clients connect to the System Web Client via HTTP 1.1 compliant request at 1002. Connection details and request data is bundled in a JSON object, passed in the HTTP request's GET data. This JSON object must be reconstructed from the GET data at 1104. The root JSON object contains details about the version of the application, the User ID (unique identifier to an account), the Session ID (identifier to a user's session that was created upon successful login), and a JSON object containing request details and parameters. The User ID and Session ID is extracted at 1106 from the JSON object. The User ID and Session ID must be are authenticated at 1108 by checking for an existing User ID and Session ID pair in the database's sessions table. If validated, requests are parsed and parameters set at 1110. However, if a session is invalid (either due to an expired session, invalid session or empty User ID and/or Session ID), the web server will determine if a valid session is required to perform the request (requests such as Login, Register or Forgotten Password) at 1114. If the request type is not one that is permitted to execute without a valid User ID and Session ID pair, the connection is closed at 1116. Any request allowed to execute will be checked to ensure it is identified as one that is included in a list of predefined requests at 1112. If the request type is not one recognized by the web server, the connection is closed at 1116. If the request type is in the set of predefined requests, then the request is executed at 1118. At 1120, if an error occurs, the connection is closed at 1116. If there are no errors, the Request Response data (if any) is returned to the client at 1122. Afterwards, the connection to the client is closed at 1116. It is important to note that depending on the reason for closing the connection at 1116, the server may either send an empty JSON object for a smoother disconnect, or simply abort the connection (increasing the likelihood of a client side error).
[00121 ] FIG. 12 is a flowchart for an exemplary process 1200 for accessing a specific stream of progressive visual media, all the while determining if the client should have access to the media and whether or not they have the appropriate permissions to add content to the media stream. With reference to FIG. 12, and simultaneously serving as an example of a request as described in FIG. 11 , above, a Content Stream Request is received at 1202. 1204 queries the database for all general Stream information and configurations. Streams which are requested will return with a contributor flag which determines if a user can contribute to this particular Stream. This flag is set to true at 1210, but defaults to false which means if stage 1210 is never passed, the requesting user can not contribute to the particular Stream. If the User ID of the requesting account matches that of the owner at 1206, the contributor flag is set to true at 1210 and the Stream data is returned to the client at 1224. If the owner ID does not match the requesting User ID, the Stream is checked to see if it accepts contributors at 1208. If there are no contributors allowed (aside from the creator), any further determination of contribution permissions are ignored and the Stream content access permission is checked at 1216. However if the Stream, has contributors, a check to see if there is a particular group of users specified at 1212. If there is no group specified, it is considered that the Stream is open to everyone and the contributor flag is set to true at 1210. 1210 connects directly to the end state 1224, returning the Stream data to the client. If a user is a contributor to a Stream, the have inherent access to viewing the Stream and thus does not need any further privacy verification. If a contributor group at 1212 is specified, the requesting User ID is checked to see if it is included in the corresponding group at 1214. If the user is included, the contributor flag is set to true at 1210 and the Stream data is returned to the client at end state 1224. If the user is not included in the group list at 1214, the privacy state of the Stream is determined at 1216. If the Stream is private, a Request Access Denied Error is sent to the client at 1222. If at 1216 the Stream is not private, there is a check for a specified viewer group (that is a list of users who are allowed to access the Stream) occurs at 1218. If there are no viewer groups specified at 1218, the Stream data is returned to the client at 1224. If there is a viewer group specified at 1218, the corresponding group is checked to see if the requesting User ID is a part of the group at 1220. If the user is a part of the viewer group at 1220, the Stream data is returned to the client at 1224. If the user is not part of the viewer list at 1220, an Request Access Denied error is returned to the client at 1222.
[00122] FIG. 13 is an exemplary interface 1300 for managing the visibility and/or accessibility of progressive visual media streams which may, in one embodiment, be accessed by tapping button 808 as depicted in FIG. 8, above. Exemplary interface 1300 contains three tabs: tab 1302, from which a stream's creator may expressly select individual users to whom a given stream it has created will be visible or otherwise accessible to; tab 1304, a functional toggle switch which, when tapped, will make the stream visible and/or accessible to any user who has not been expressly blocked by the stream's creator; and tab 1306, also a functional toggle switch which, when tapped, will render a given story visible and/or otherwise accessible exclusively to its creator, to the exclusion of all other users. Tab 1302, demarcated as being currently selected in exemplary interface 1300, contains a vertical list of users 1312-1326, who may be selected to have permission and/or the ability to view or otherwise access a given content stream by tapping the selection box 1310 appended to the identification information 1308 of each user depicted within the list of users. The shaded boxes 1310 appended to the identification information 1308 of users 1312-1316 indicate that these boxes have been tapped by a stream's creator, and that users 1312-1316 have been selected to have the exclusive ability to view or otherwise access a given content stream to the exclusion of all other users (other than the stream's creator itself, which has, by default, the ability to view and access any stream which it creates). Tapping any selection box 1310 causes floating overlay button 1328 to appear, the text in which is dynamically adjusted as the number of users selected to have the ability to view a stream changes, reflecting the current, total number of users selected to have the ability to view a stream. Tapping button 1328 will, in one embodiment, mark all users selected to have permission to view a stream as having the exclusive ability to view a stream, and, upon the stream's creator tapping button 814 as depicted in exemplary interface 800 in FIG. 8 above, each such user may be immediately granted the ability to view and otherwise access such a stream; be sent an invitation, message, or notification to this effect, which they each may have the ability to approve, reject, or ignore; and such stream may be automatically added to each such user's tab 1002 in exemplary interface 1000 as depicted in FIG. 10, below. [00123] The examples described in reference to the figures and otherwise described in may be performed by a particularly configured computer. For example the computer implemented systems and methods disclosed herein may be reduced into object code and executed by the processor of a smart-phone, tablet computer, desktop computer, or other computer device.
[00124] The systems and methods described herein may cause a computer to present a user with a user interface that may allow the user to upload media files to a file store (e.g., an FTP file share, cloud storage system, or local hard-drive). Such uploaded media files may then be analyzed in order to determine their particular thematic elements and other characteristics and/or the user may be presented with a user interface allowing the user to select or edit the thematic elements and other characteristics of the uploaded media. Uploaded media may then be automatically placed in sequence by the systems and methods described herein by analysis thematic elements and other characteristics relating to each file. Once the sequence of the media has been determined, a computer executing the systems and methods described herein may create one or more thematically-defined progressive visual media streams comprising the uploaded media.
[00125] Once one or more thematically-defined progressive visual media streams have been created, the computer executing the systems and methods described herein may further provide the user with a user interface allowing the user to edit, re-arrange, reorganize, share, re-name, and/or delete the thematically-defined progressive visual media streams and/or the media files within those thematically-defined progressive visual media streams. The computer executing the systems and methods described herein may also automatically create new thematically-defined progressive visual media streams when newly uploaded media files are determined not to be thematically related to any existing thematically-defined progressive visual media stream.
[00126] The following discussion provides many example embodiments of the inventive subject matter. Although each embodiment represents a single combination of inventive elements, the inventive subject matter is considered to include all possible combinations of the disclosed elements. Thus if one embodiment comprises elements A, B, and C, and a second embodiment comprises elements B and D, then the inventive subject matter is also considered to include other remaining combinations of A, B, C, or D, even if not explicitly disclosed.
[00127] The following section describes potential applications that may be practiced in regards to some embodiments. There may be other, different, modifications, etc. of the below potential applications, and it should be understood that the description is provided as non-limiting, illustrative examples only. For example, there may be additions, omissions, modifications, and other applications may be considered.
[00128] In an alternative embodiment, the systems and methods described herein may enable entertainment service providers, brands, celebrities, and the like to share exclusive streams of progressive visual media items in real-time with a restricted group(s) of users through a paid content subscription model, a brand-to-user incentive model, and so on. This may be implemented by means of an in-app purchasing mechanism, in-app redemption of promotional codes, in-app acceptance or completion of participatory advertisements, and so on.
[00129] For instance, an entertainment service provider could provide users who make the requisite in-app purchase(s), real-time stream(s) of exclusive progressive visual media depicting live behind-the-scenes footage involving the cast and crew of a new television program on the night of its premiere. In another example, a performing artist who, for instance, launches a participatory advertising campaign by means of the systems and methods described herein, which challenges users to submit a progressive media stream depicting them performing the celebrity's signature dance maneuvers, would be enabled to reward such users who respond to said advertisement with access to an exclusive stream of progressive visual media depicting the celebrity's own step-by-step techniques for perfecting dance maneuvers.
[00130] In further example embodiment, the systems and methods described herein may enable users to participate in private, real-time conversations with one another, by means of conversational stream(s) of progressive visual media. Users invited to participate in such a conversation may then update the progressive visual media stream with new visual media. All of the submitted media in the progressive visual media stream may be reviewed in realtime, and/or said media may be stored for future review.
[00131] In an exemplary scenario, a user in San Francisco may desire to communicate in real-time with a user in Tokyo by means of a conversational progressive visual media stream. Either user may then be enabled to sequentially add, in real-time, new visual media items captured over the course of the conversation (e.g., "selfie" photographs and/or short videos). As such, either user would be able to review, in real-time, the complete chain of progressive visual media shared up to the present moment, and each user would be able to permanently store the progressive visual media stream comprising the conversation once the conversation is terminated. Thus, each user may retain a copy for future review, sharing with a social network, etc..
[00132] In an alternative example scenario, such an embodiment of the systems and methods described herein would also enable brands, celebrities, and the like to directly communicate with individual users or groups of users in real-time by means of conversational stream(s) of progressive visual media, to which both the brand and participant user(s) would have full access. For instance, a celebrity chef may wish to engage a select user, such as a contest winner, in a one-on-one conversational stream of progressive visual media over the course of an evening, whereby the chef and the user may converse by means of a conversational stream of progressive visual media, wherein each participant would add new visual media items, in real-time depicting in parallel the progress of each toward preparing a given meal, which, in one embodiment, other users of a social network may have the ability to follow and view as new visual media items are added in realtime.
[00133] In a further embodiment, the systems and methods described herein may enable users to create multi-tiered streams of progressive visual media. Such multi-tiered streams may allow thematically-distinct aspects of an overall progressive story to be broken down into individual component streams, created, updated, and displayed in parallel with one another. This may enable individual or multiple members of a group of users to create, update, and view separate thematically connected streams created by each user(s), displayed in parallel in real-time. [00134] For instance, as a first example, a user hosting a holiday dinner may wish to separate into multiple streams displayed in parallel, visual media items displaying the realtime occurrence of such thematically-distinct components of the overall process of hosting such a dinner as welcoming guests, preparing a turkey feast, playing games such as charades after dinner, and so on. In a second example, a group of users who are motorcycle enthusiasts may wish to independently upload, in real-time, to a thematically-related group of individual streams displayed in parallel with one another, each of which may serve to depict the ongoing progression of a respective group member's independent efforts to construct a customized motorcycle engine, in real-time. This may enable other users within the group to not only easily follow and reference such progression from other group members, but also to benefit in an educational way from the capacity to make use of such an anthology of progression as a productivity and reference tool for his or her own efforts.
[00135] In a further embodiment, the systems and methods described herein may enable shareholders, employers, managers, and the like to both rack and remain abreast of the progressive efforts of employees toward completing particular tasks, through streams of progressive visual media, updated in real-time. For instance, the CPO of a construction firm may create a progressive visual media stream, and instruct a given employee to upload to that stream, in real-time, progressive visual media items depicting the completion of key stages of an elevator shaft's installation over the course of the installation process.
[00136] In a further embodiment, the systems and methods described herein may enable users to reorganize thematically-related visual media items or visual media items indicative of progression previously uploaded to existing social network environments (e.g., Facebook, Instagram, Tumblr, and so on) into progressive visual media streams by means of integrating the systems and methods described herein with such environments. This may enable such users to selectively import such visual media items into the systems and methods described herein, enabling the user to then create and share thematically-defined progressive stream(s) of such pre-existing visual media items by means of the systems and methods described herein.
[00137] In a further scenario, the systems and methods described herein may employ a process whereby each individual visual media item added to a stream by means of the systems and methods described herein may simultaneously be shared with users' social networks within existing social network environments by means of individual posts. Such individual posts may be posted at the time each individual visual media item is added to a stream by means of the systems and methods described herein, as a consequence of integrating the systems and methods described herein with such environments.
[00138] In a further embodiment, the systems and methods described herein may enable users to progressively transfer financial payments, currency, credits, and the like to one another, with or without visual media attached, by means of integration of a system with an in-app escrow mechanism, whereby an amount of currency deposited into the escrow system may be periodically delivered, by means of a progressive stream of instalments, with or without accompanying visual media, to the designated user(s).
[00139] For instance, a user may wish to support her grandson's university education by progressively transferring a quantity of funds to her grandson over the course of one semester, along with accompanying video messages of encouragement, delivered in realtime. In this example, the grandmother would, by means of the in-app escrow system, transfer a given quantity of funds into the escrow system, designate her grandson as the recipient, and create a progressive financial transfer stream, which would automatically deposit a designated quantity of the sum total of funds into her grandson's bank account, for instance, on the first Monday of each month, while simultaneously adding, at the time of each payment, a new video, encouraging her grandson to be frugal, to an accompanying stream of progressive visual media, with such a stream designated to be viewable only by her grandson, and where such a stream would also inform the grandson of the amount of funds transferred to his bank account at the time those funds are transferred, by, for instance, displaying a text field to that effect automatically attached to each of his grandmother's monthly videos.
[00140] In a further embodiment, through integration with, for example, a dating or matchmaking service, the systems and methods described herein may enable users of such services to document the evolution of relationships formed by means of such services through streams of progressive visual media, updated in real-time. This may also provide users with the capacity to vet the desirability of potential partners or companions by first reviewing such progressive visual media streams previously posted to the service by such potential partners or companions, thereby extending the overall viability of such matchmaking services beyond mere introductions.
[00141] In a further embodiment, the systems and methods described herein may enable progressive streams of sound bites, or audio recordings in general, to be created and shared within social network environments, in real-time, with or without visual media attached. For instance, a musical group may wish to share with users a stream of sound bites, updated in real-time, on a daily basis, progressively revealing the entirety of a new song recorded by the band in anticipation of its release.
[00142] The embodiments of the devices, systems and methods described herein may be implemented in a combination of both hardware and software. These embodiments may be implemented on programmable computers, each computer including at least one processor, a data storage system (including volatile memory or non-volatile memory or other data storage elements or a combination thereof), and at least one communication interface.
[00143] Program code is applied to input data to perform the functions described herein and to generate output information. The output information is applied to one or more output devices. In some embodiments, the communication interface may be a network communication interface. In embodiments in which elements may be combined, the communication interface may be a software communication interface, such as those for inter-process communication. In still other embodiments, there may be a combination of communication interfaces implemented as hardware, software, and combination thereof.
[00144] Throughout the foregoing discussion, numerous references will be made regarding servers, services, interfaces, portals, platforms, or other systems formed from computing devices. It should be appreciated that the use of such terms is deemed to represent one or more computing devices having at least one processor configured to execute software instructions stored on a computer readable tangible, non-transitory medium. For example, a server can include one or more computers operating as a web server, database server, or other type of computer server in a manner to fulfill described roles, responsibilities, or functions. [00145] The technical solution of embodiments may be in the form of a software product. The software product may be stored in a non-volatile or non-transitory storage medium, which can be a compact disk read-only memory (CD-ROM), a USB flash disk, or a removable hard disk. The software product includes a number of instructions that enable a computer device (personal computer, server, or network device) to execute the methods provided by the embodiments.
[00146] The embodiments described herein are implemented by physical computer hardware, including computing devices, servers, receivers, transmitters, processors, memory, displays, and networks. The embodiments described herein provide useful physical machines and particularly configured computer hardware arrangements. The embodiments described herein are directed to electronic machines and methods implemented by electronic machines adapted for processing and transforming electromagnetic signals which represent various types of information. The embodiments described herein pervasively and integrally relate to machines, and their uses; and the embodiments described herein have no meaning or practical applicability outside their use with computer hardware, machines, and various hardware components. Substituting the physical hardware particularly configured to implement various acts for non-physical hardware, using mental steps for example, may substantially affect the way the embodiments work. Such computer hardware limitations are clearly essential elements of the embodiments described herein, and they cannot be omitted or substituted for mental means without having a material effect on the operation and structure of the embodiments described herein. The computer hardware is essential to implement the various embodiments described herein and is not merely used to perform steps expeditiously and in an efficient manner.
[00147] Although the embodiments have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein.
[00148] Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized.
[00149] As can be understood, the examples described above and illustrated are intended to be exemplary only.

Claims

WHAT IS CLAIMED IS:
1. A computer implemented method of generating and sharing thematically- defined progressive visual media streams, the method comprising: providing a media library and detecting a first set of at least one media item as having been uploaded to the media library by a user; identifying first thematically distinct elements of the first set of at least one media item uploaded to the media library by the user through processing of the first set of at least one media item; assessing the first thematically distinct elements of the first set of at least one media item uploaded to the media library by the user; generating a first progressive visual media stream in response to the user uploading the first set of at least one media item to the media library, the first progressive visual media stream configured to match the first thematically distinct elements of the first set of at least one media item uploaded to the media library by the user; adding the first set of at least on media item to the first progressive visual media stream; detecting a second set of at least one media item as having been uploaded to the media library by the user; identifying second thematically distinct elements of the second set of at least one media item uploaded to the media library by the user through processing of the second set of at least one media item; assessing the second thematically distinct elements of the second at least one media item uploaded to the media library by the user; adding the second set of at least one media item to the first progressive visual media stream if the second thematically distinct elements of the second set of at least one media item matches the thematically distinct elements of the first set of at least one media item; generating a second progressive media stream if the second set of at least one media item does not match the first thematically distinct elements of the first set of at least one media item; and providing, as an electronic output, all of the at least one media items in all of the progressive visual media streams in a sequential order determined by the corresponding thematically distinct elements.
2. The method of claim 1 , wherein the electronic output is provided to a visual display.
3. The method of claim 1 , wherein the first at least one media item and second at least one media item are video clips.
4. The method of claim 1 , wherein the first at least one media item and second at least one media item are photographs.
5. The method of claim 1 , wherein the first at least one media item and second at least one media item are audio files.
6. The method of claim 1 , wherein the first at least one media item and second at least one media item are a combination of video clips, photographs, or audio clips.
7. The method of claim 1 , wherein the thematically distinct elements include metadata related to the first at least one media item and second at least one media item.
8. The method of claim 1 , wherein the first set of at least one media item or the second set of at least one media item is uploaded simultaneously with provision of the electronic output.
9. The method of claim 1 , wherein the second progressive media stream may not form part of the electronic output prior to the first progressive media stream.
10. The method of claim 1 , wherein the first set of at least one media item or the second set of at least one media item form part of a promotional campaign.
11. The method of claim 1 , wherein at least one user engagement value is measured with regard to the first progressive media stream or the second progressive media stream.
12. The method of claim 1 , comprising the further steps of: progressively aggregating a plurality of event listings from one or more event listing databases, each event listing having at least one of a geolocation value, an event description value, and an event time value; generating at least one suggested media streaming event if at least one of the geolocation value, event description value, or event time value matches one or more of the thematically distinct elements; and automatically including the at least one suggested media streaming event as the first progressive visual media stream, or the second progressive visual media stream as applicable.
13. A computer readable medium having machine readable instructions stored thereon for creating and sharing thematically-defined progressive visual media streams, the machine readable instructions, when executed by a processor, performing a method comprising: providing a media library and detecting a first set of at least one media item as having been uploaded to the media library by a user; identifying first thematically distinct elements of the first set of at least one media item uploaded to the media library by the user through processing of the first set of at least one media item; assessing the first thematically distinct elements of the first set of at least one media item uploaded to the media library by the user; generating a first progressive visual media stream in response to the user uploading the first set of at least one media item to the media library, the first progressive visual media stream configured to match the first thematically distinct elements of the first set of at least one media item uploaded to the media library by the user; adding the first set at least on media item to the first progressive visual media stream; detecting a second set of at least one media item as having been uploaded to the media library by the user; identifying second thematically distinct elements of the second set of at least one media item uploaded to the media library by the user through processing of the second set of at least one media item; assessing the second thematically distinct elements of the second at least one media item uploaded to the media library by the user; adding the second set of at least one media item to the first progressive visual media stream if the second thematically distinct elements of the second set of at least one media item matches the thematically distinct elements of the first set of at least one media item; generating a second progressive media stream if the second set of at least one media item does not match the first thematically distinct elements of the first set of at least one media item; and providing, as an electronic output, all of the at least one media items in all of the progressive visual media streams in a sequential order determined by the corresponding thematically distinct elements.
14. The computer readable medium of claim 13, wherein the electronic output is a display.
15. The computer readable medium of claim 13, wherein the first at least one media item and second at least one media item are video clips.
16. The computer readable medium of claim 13, wherein the first at least one media item and second at least one media item are photographs.
17. The computer readable medium of claim 13, wherein the first at least one media item and second at least one media item are audio files.
18. The computer readable medium of claim 13, wherein the first at least one media item and second at least one media item are a combination of video clips, photographs, and/or audio clips.
19. The computer readable medium of claim 13, wherein the thematically distinct elements include metadata related to the first at least one media item and second at least one media item.
20. A system for automatically sharing thematically-defined progressive media streams, the system comprising: at least one processor configured to: provide a media library and detecting a first set of at least one media item as having been uploaded to the media library by a user; identify first thematically distinct elements of the first set of at least one media item uploaded to the media library by the user through processing of the first set of at least one media item; assess the first thematically distinct elements of the first set of at least one media item uploaded to the media library by the user; generate a first progressive visual media stream in response to the user uploading the first set of at least one media item to the media library, the first progressive visual media stream configured to match the first thematically distinct elements of the first set of at least one media item uploaded to the media library by the user; add the first set of at least one media item to the first progressive visual media stream; detect a second set of at least one media item as having been uploaded to the media library by the user; identify second thematically distinct elements of the second set of at least one media item uploaded to the media library by the user through processing of the second set of at least one media item; assess the second thematically distinct elements of the second at least one media item uploaded to the media library by the user; add the second set of at least one media item to the first progressive visual media stream if the second thematically distinct elements of the second set of at least one media item matches the thematically distinct elements of the first set of at least one media item; generate a second progressive media stream if the second set of at least one media item does not match the first thematically distinct elements of the first set of at least one media item; and provide, as an electronic output, all of the at least one media items in all of the progressive visual media streams in a sequential order determined by the corresponding thematically distinct elements.
The system of claim 20, further comprising: the at least one processor further configured to: progressively aggregate a plurality of event listings from one or more event listing databases, each event listing having at least one of a geolocation value, an event description value, and an event time value; generate at least one suggested media streaming event if at least one of the geolocation value, event description value, or event time value matches one or more of the thematically distinct elements; and automatically include the at least one suggested media streaming event as the first progressive visual media stream, or the second progressive visual media stream as applicable.
PCT/CA2016/000313 2015-12-10 2016-12-12 Systems methods and computer readable medium for creating and sharing thematically-defined streams of progressive visual media in a social network environment WO2017096466A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562265865P 2015-12-10 2015-12-10
US62/265,865 2015-12-10

Publications (1)

Publication Number Publication Date
WO2017096466A1 true WO2017096466A1 (en) 2017-06-15

Family

ID=59012472

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2016/000313 WO2017096466A1 (en) 2015-12-10 2016-12-12 Systems methods and computer readable medium for creating and sharing thematically-defined streams of progressive visual media in a social network environment

Country Status (1)

Country Link
WO (1) WO2017096466A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023234859A3 (en) * 2022-06-02 2024-02-08 Lemon Inc. Method and system for creating social media content collections

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090319472A1 (en) * 2007-04-27 2009-12-24 Ramesh Jain Event based organization and access of digital photos
US20130117365A1 (en) * 2011-11-09 2013-05-09 Microsoft Corporation Event-based media grouping, playback, and sharing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090319472A1 (en) * 2007-04-27 2009-12-24 Ramesh Jain Event based organization and access of digital photos
US20130117365A1 (en) * 2011-11-09 2013-05-09 Microsoft Corporation Event-based media grouping, playback, and sharing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023234859A3 (en) * 2022-06-02 2024-02-08 Lemon Inc. Method and system for creating social media content collections

Similar Documents

Publication Publication Date Title
US11582182B2 (en) Multi-user media presentation system
US10044781B2 (en) Systems and methods to organize, aggregate, filter, sort, share, and discover, digital content
US9332315B2 (en) Timestamped commentary system for video content
US20170127128A1 (en) Social Post Roll Up and Management System and Method of Use
US9218413B2 (en) Venue-related multi-media management, streaming, online ticketing, and electronic commerce techniques implemented via computer networks and mobile devices
US8867901B2 (en) Mass participation movies
US8935279B2 (en) Venue-related multi-media management, streaming, online ticketing, and electronic commerce techniques implemented via computer networks and mobile devices
Bell Building social Web applications: Establishing community at the heart of your site
US20150213491A1 (en) Method and system for optimizing communication about entertainment
US20140143357A1 (en) Method and Apparatus for Organizing, Packaging, and Sharing Social Content and Social Affiliations
US20120039513A1 (en) Leveraging social networking for media sharing
US8756627B2 (en) Distributed video creation
US9262044B2 (en) Methods, systems, and user interfaces for prompting social video content interaction
Bilton The disappearing product: Marketing and markets in the creative industries
Pascu An empirical analysis of the creation, use and adoption of social computing applications
US11961122B2 (en) Transmedia story management systems and methods
US10721514B2 (en) Customizing a video trailer based on user-selected characteristics
US10476976B1 (en) Consuming content items collaboratively
US10257301B1 (en) Systems and methods providing a drive interface for content delivery
US10124258B2 (en) Apparatus and method for servicing user participation-type game by using real-time flash-mob
WO2017096466A1 (en) Systems methods and computer readable medium for creating and sharing thematically-defined streams of progressive visual media in a social network environment
Schmitz Developing a business model for a podcast streaming service: case study analysis of online streaming businesses and identification of success factors
Slot The Extended Media Consumer. Online media consumption, production and use in an age of participation
CA2888363C (en) Multi-media management, streaming, and electronic commerce techniques implemented via computer networks and mobile devices
KR20220107877A (en) Apparatus and method for rewards of fandom activities

Legal Events

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

Ref document number: 16871855

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16871855

Country of ref document: EP

Kind code of ref document: A1