The accompanying drawings illustrate a number of exemplary embodiments and are a part of the specification. Together with the following description, these drawings demonstrate and explain various principles of the present disclosure.
Throughout the drawings, identical reference characters and descriptions indicate similar, but not necessarily identical, elements. While the exemplary embodiments described herein are susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. However, the exemplary embodiments described herein are not intended to be limited to the particular forms disclosed. Rather, the instant disclosure covers all modifications, equivalents, and alternatives falling within the scope of the appended claims.
In the modern world, platforms for digitally storing and/or sharing content abound. Often, a given user of a computing device will store and/or share content using multiple different platforms. For example, a user may store and/or share content via a text messaging application, a digital photo album, a social media profile, a personal cloud, and a video-sharing website. This abundance of platforms may cause several complications or inefficiencies. For example, a user who wishes to share the same content via multiple platforms may be tasked with repetitively uploading the same data several times. Additionally, the abundance may create organizational difficulties (e.g., it may be difficult for a user to remember where different content is stored or to which platforms the user has shared or not shared particular content). Therefore, the present disclosure is generally directed to improved systems and methods for organizing user data within content storage and content sharing platforms.
Embodiments of the present disclosure may include a system for generating social media channel content based on content extracted from a container. The container may include various types of content (e.g., visual content, audio content, and/or text), which may be stored on a device and/or in a cloud environment. In some examples the container may store data for a social media application. In other examples, the container may store data for an additional application that the social media application has permission to access. In some examples, the system may suggest the creation of a new channel based on what is stored and/or recently captured in the container. In these examples, the system may also suggest a name, intended audience, and/or contributors for the new channel. Additionally or alternatively, the system may suggest content to be added to an existing channel based on what is stored and/or recently captured in the container.
As will be explained in greater detail below, embodiments of the instant disclosure may provide an easier means of creating channel content based on data previously generated in another context. This may improve the functioning of a computer itself by improving the computer's ability to meaningfully organize data and use the meaningfully organized data to generate new content. This may also improve the functioning of a computer itself by reducing the number of user inputs that must be received by the computer from a user attempting to access and/or create channel content.
The following will provide, with reference to
In one embodiment, the steps shown in
User device 202 may represent any type or form of computing device capable of reading computer-executable instructions. For example, user device 202 may represent a user device such as a smart phone and/or a tablet. Additional examples of user device 202 may include, without limitation, laptops, desktops with mobile elements, wearable devices, personal digital assistants (PDAs), etc. In some examples, a user of user device 202 (e.g., user 204) may have a user account with a social-networking platform and may have an instance of a social networking application (i.e., social media application 206), which is managed by the social-networking platform and connected with the user's account, installed on user device 202. In these examples, the steps shown in
Social media application 206 may represent any type or form of computer program managed by a social networking platform that is installed and executed on a user device to cause the user device to perform useful tasks related to social networking. In some examples, as will be discussed in greater detail below, social media application 206 may display various interfaces. These interfaces may include one or more composition interfaces and/or one or more consumption interfaces. The composition interfaces may allow users to create digital social media compositions. These compositions may be added to channels, which may be used to share the compositions with other users of the social networking platform. The consumption interfaces may allow users to view the compositions posted in the channels of other users.
The term “channel” may refer to any type or form of digital container, maintained by a social networking platform, that is dedicated to storing social media compositions from a designated source. A source of social media compositions may include, without limitation, a user account, a business account, and/or a predetermined set of user accounts and/or business accounts.
In some examples, the disclosed systems may automatically create a primary channel for each user account that is registered with the social networking platform, which may be dedicated to storing social media compositions created by its corresponding user account. In these examples, the disclosed systems may maintain each primary channel as long as its corresponding user account is active. The disclosed systems may also allow a user to create and add social media compositions to one or more additional channels. In some examples, an additional channel may be permanent (e.g., configured to be maintained as long as the user account that created the additional channel is active). In other examples, an additional channel may be ephemeral (e.g., set to expire after a certain amount of time).
Each channel may be designated by a name that distinguishes the channel from other channels. In some examples, the name may be assigned to the channel automatically. For example, a primary channel may be automatically assigned the name associated with its corresponding user account (e.g., the primary account created for the user account of an individual named “Mindy Harris” may be “Mindy Harris.”) In other examples, the name may be configurable by a user. For example, an additional channel may be assigned with a name submitted via user input at the time the additional channel is created.
In some examples, a channel may be limited to only storing social media compositions from a single source (e.g., only a single user account may have permission to add social media compositions to the channel). In other examples, a channel may be limited to only storing posts from a predetermined set of sources (e.g., a limited set of user accounts may have permission to add content to the channel). In one such example, a user account creating an additional channel may be given the option to add additional user accounts as contributors to the additional channel. In this example, the sources of the additional channel may be limited to the user account and the additional user accounts added by the user account. In other examples, a channel may be designated as an open channel to which any user account may add social media compositions.
In certain embodiments, a channel may be dedicated to storing compositions relating to a particular topic and/or theme. As a specific example, a news organization may create an open channel related to a particular news event and/or movement to which any user account may add content. In this specific example, the open channel may be dedicated to social media compositions associated with the particular news event and/or movement. As another specific example, a group of friends may create a group channel related to a vacation taken by the group. In this specific example, the group channel may be dedicated to social media compositions associated with the vacation.
In addition to storing social media compositions, channels may be used as a vehicle for sharing social media compositions. In some examples, an audience for a channel may be configurable. For example, a user may select an audience for a channel via a setting in his or her user account. In examples in which a user account may add social media compositions to mutliple different channels, a user of the user account may select an audience (e.g., a different audience) for each of the channels. As a specific example, user 204's user account may have access to add content to its primary channel, a family channel, and a Hong Kong 2018 channel. In this example, user 204 may have designated all of his or her contacts as the audience for the primary channel, contacts who are family members as the audience for the family channel, and contacts with whom user 204 took a trip to Hong Kong as the audience for the Hong Kong 2018 channel.
Returning to
The term “digital container” as used herein may refer to any type or form of data structure that stores user-generated digital content. Container 212 may be configured to store any type or form of user-generated digital content (e.g., text-based content, visual content such as a digital image or a video, audio content such as an audio clip, etc.). In some examples, container 212 may store content 210 locally on user device 202. In additional or alternative examples, container 212 may store content 210 remotely using a cloud-based storage system.
In some examples, container 212 may operate as part of social media application 206 and may store data generated via social media application 206 or added to social media application 206. As a specific example, container 212 may represent a container corresponding to a particular channel and may store social media compositions added to the particular channel. In this specific example, content 210 may represent content within a social media composition added to the particular channel.
Additionally or alternatively, container 212 may operate as part of or in connection with an additional application 214 and may store user data generated via additional application 214 and/or added to additional application 214. For example, additional application 214 may represent a photo sharing application and container 212 may represent a digital photo album maintained by the photo sharing application. In this example, content 210 may represent one or more digital photos added to the digital photo album.
In another example, additional application 214 may represent a messaging application (e.g., a text messaging application and/or an instant messaging application). In this example, container 212 may represent a container configured to store messages transmitted within a particular group chat of the messaging application and content 210 may represent content from one or more of the messages.
In another example, additional application 214 may represent a word processor application, container 212 may represent a folder configured to store documents generated using the word processor application, and content 210 may represent content within one or more of the documents. In another example, additional application 214 may represent an email application, container 212 may represent a folder for storing emails (e.g., an inbox folder and/or a sent folder) and content 210 may represent content within one or more of the emails.
Identification module 208 may identify content 210 in response to a variety of triggers. In some examples, identification module 208 may identify content 210 in response to content 210 being added to container 212. In one such example, a content-sharing module within social media application 206 and/or additional application 214 may be configured to automatically notify identification module 208 each time content (and/or each time a particular type of content) is added to container 212.
In other examples, identification module 208 may identify content 210 in response to sending a query for content 210 (e.g., to an Application Programming Interface (API) of a content-sharing module within social media application 206 and/or additional application 214). Identification module 208 may send any of a variety of different queries. For example, identification module 208 may send a query for new content that has been added to container 212 within a determined time period, a query for any content being stored by container 212, and/or a query for a particular type of content that is being stored in container 212 and/or that has been added to container 212 within a determined time period.
In some examples, identification module 208 may be configured to identify content that a user may be interested in (1) adding to a channel linked to the user and/or (2) using as a basis for a new channel. In these examples, identification module 208 may identify content 210 in response to a prediction that user 204 may be interested in adding content 210 to a channel and/or using content 210 as a basis for a new channel. This predictive selection of content may be based on a variety of factors. Such factors may include, without limitation, content that user 204 has added to a channel in the past, a browsing history of user 204, one or more preferences specified by user 204 via user input, a characteristic of content 210, content being added to channels by other users, etc.
Identification module 208 may access content 210 in a variety of ways. For example, in some examples, as discussed above, identification module 208 may operate as part of social media application 206 and container 212 may operate as part of additional application 214. In these examples, identification module 208 may access content 210 from a shared external file system (e.g., by accessing a public directory of additional application 214). In other examples, identification module 208 and container 212 may both operate as part of social media application 206. In these examples, identification module 208 may directly access content 210 from an internal file storage of social media application 206 (e.g., in response to querying a private directory of social media application 206) or by accessing a shared external file system.
In some embodiments, identification module 208 may, in addition to identifying content 210, identify supplemental information relating to content 210. For example, identification module 208 may identify one or more additional users with whom content 210 has been shared (i.e., additional users who have permission to access content 210).
As another example, identification module 208 may identify a name of content 210. For example, content 210 may represent a file and identification module 208 may identify a name of the file (e.g., a title assigned to the file by user 204). Additionally or alternatively, identification module 208 may identify a name of container 212. For example, container 212 may represent a shared photo album and identification module 208 may identify a name of the shared photo album (e.g., a title assigned to the shared photo album by the user who created the shared photo album). Returning to the specific example illustrated in
In an additional or alternative example, identification module 208 may identify a theme based on content 210. For example, content 210 may include multiple related content items and identification module 208 may identify a common theme across the content items. As a specific example, identification module 208 may identify a series of messages within a group chat of a messaging application that includes photos of a newborn child and the text “Welcome to the world, Alice!” In this example, identification module 208 may identify the theme “New Baby” or “Alice” based on the content of the identified messages.
Returning to
Digital prompt 218 may represent any type or form of digital interface configured to (1) display a suggestion to add content to a channel and (2) receive user input accepting and/or declining the suggestion. Digital prompt 218 may identify the content being suggested as content for channel 220 (i.e., content 210) in a variety of ways. For example, digital prompt 218 may include a visual depiction (e.g., a screenshot) of content 210. Additionally or alternatively, digital prompt 218 may include text (e.g., “Would you like to add these pictures from your photo album to your Friends Channel?,” “Add this post from your Family Channel to your Study Group Channel?,” etc.).
In some examples, digital prompt 218 may include a suggestion to create channel 220, in addition to the suggestion to add content 210 to channel 220. Using
In examples in which digital prompt 218 includes a suggestion to create channel 220, digital prompt 218 may also include one or more additional suggestions, beyond the suggestion to create channel 220. For example, digital prompt 218 may include a suggested name for channel 220. The suggested name may be based on information detected by identification module 208 (e.g., based on a name of container 212, a name of a file containing content 210, and/or a theme deduced based on the contents of content 210). Returning to
As another example, digital prompt 218 may include a suggested audience for channel 220 (that is, a group of one or more users with permission to view social media compositions posted to channel 220). Similarly, digital prompt 218 may include suggested contributors to be added to channel 220 (that is, a group of one or more users with permission to add social media compositions to channel 220). The suggested audience and/or contributors may also be based on information detected by identification module 208 (e.g., based on a list of users with permission to access container 212 and/or a list of users who are tagged in content 210). Returning to
In one embodiment, prompt module 216 may suggest an audience and/or a list of contributors for channel 220 in line with a policy based on a type and/or characteristic of content 210. As a specific example, content 210 may include images of user 204's children and prompt module 216 may suggest an audience that is limited to family members based on a policy to automatically set family members as the audience for images that include user 204's children.
Prompt module 216 may provide digital prompt 218 in a variety of contexts. In some examples, prompt module 216 may provide digital prompt 218 via an interface of social media application 206. As a specific example, prompt module 216 may provide digital prompt 218 within a landing screen presented in response to user 204 opening social media application 206. As another specific example, prompt module 216 may provide digital prompt 218 in a composition-creation interface of social media application 206. In this example, user 204 may, upon initiating a process to create a composition, be presented with a suggestion for content to add to his or her composition (i.e., by being presented with digital prompt 218).
In other examples, prompt module 216 may provide digital prompt 218 via an interface of additional application 214. As a specific example, additional application 214 may represent a text messaging application and user 204 may have recently shared a link to a website in a text message to a friend. In this example, prompt module 216 may display, in a text messaging interface used to send the text message, a prompt (i.e., digital prompt 218) with a suggestion to add the link to user 204's primary channel.
Returning to
Prompt module 216 may receive user input 222 in a variety of ways. For example, prompt module 216 may receive user input 222 via an auxiliary device, such as a keyboard and/or a digital mouse coupled to user device 202. As another example, prompt module 216 may receive user input 222 via a touchscreen of user device 202.
Finally, at step 140, one or more of the systems described herein may, in response to receiving the user input, add the content to the channel. For example, as illustrated in
Content creation module 224 may add content 210 to channel 220 in a variety of ways. In some examples, content creation module 224 may create one or more social media compositions based on content 210. Then, content creation module 224 may post the social media compositions to channel 220. Using
Additionally, in examples in which digital prompt 218 includes a suggestion to create channel 220, content creation module 224 may create channel 220. In these examples, content creation module 224 may also provide a name for channel 220, designate an audience for channel 220, and/or add one or more contributors to channel 220 (e.g., based on user input 222 received at step 130 that accepts a suggested name, audience, and/or list of contributors for channel 220). Returning to
In examples in which container 212 represents a shared container, content creation module 224 may be limited to adding content to channel 220 that was added to container 212 by user 204. In other words, user 204 may not be asked and/or may not be permitted to add content created by another user to channel 220.
As described throughout the instant disclosure, the disclosed systems and methods may provide a system for generating a new social media channel and/or adding content to an existing social media channel based on content extracted from a content sandbox (e.g., a container). In one example, a computer-implemented method may include (1) identifying content stored in a digital container for a user of a social networking platform, (2) providing the user with a digital prompt suggesting that the user add the content to a channel configured to share social media posts from the user to other users of the social networking platform, (3) receiving user input accepting the suggestion, and (4) in response to receiving the user input, adding the content to the channel.
In one embodiment, the method may further include (1) suggesting, via the digital prompt, that the user create the channel and, in response to receiving user input accepting the suggestion to create the channel, (2) creating the channel. As part of suggesting that the user create the channel, the method may, in some embodiments, include suggesting a name for the channel and/or an audience for the channel. The content may include a variety of different types of content (e.g., visual content, audio content, and/or text) and/or may be identified in a variety of contexts (e.g., from one or more digital text messages, one or more digital photo albums, and/or one or more posts to an additional channel). The digital prompt may be provided via a variety of different interfaces (e.g., via an interface of a social networking application, running on a device of the user and managed by the social networking platform, and/or via an interface of an application that was used to generate the content).
In one embodiment, a system for implementing the above-described method may include an identification module, stored in memory, that identifies content stored in a digital container for a user of a social networking platform. The system may also include a prompt module, stored in memory, that (1) provides the user with a digital prompt suggesting that the user add the content to a channel configured to share social media posts from the user to other users of the social networking platform and (2) receives user input accepting the suggestion. The system may also include a content creation module, stored in memory, that, in response to the prompt module receiving the user input, adds the content to the channel and a physical processor configured to execute the identification module, the prompt module, and the content creation module.
In some examples, the above-described method may be encoded as computer-readable instructions on a non-transitory computer-readable medium. For example, a computer-readable medium may include one or more computer-executable instructions that, when executed by at least one processor of a computing device, may cause the computing device to (1) identify content stored in a digital container for a user of a social networking platform, (2) provide the user with a digital prompt suggesting that the user add the content to a channel configured to share social media posts from the user to other users of the social networking platform, (3) receive user input accepting the suggestion, and (4) in response to receiving the user input, add the content to the channel.
As detailed above, the computing devices and systems described and/or illustrated herein broadly represent any type or form of computing device or system capable of executing computer-readable instructions, such as those contained within the modules described herein. In their most basic configuration, these computing device(s) may each include at least one memory device and at least one physical processor.
The term “memory device,” as used herein, generally represents any type or form of volatile or non-volatile storage device or medium capable of storing data and/or computer-readable instructions. In one example, a memory device may store, load, and/or maintain one or more of the modules described herein. Examples of memory devices include, without limitation, Random Access Memory (RAM), Read Only Memory (ROM), flash memory, Hard Disk Drives (HDDs), Solid-State Drives (SSDs), optical disk drives, caches, variations or combinations of one or more of the same, or any other suitable storage memory.
In addition, the term “physical processor,” as used herein, generally refers to any type or form of hardware-implemented processing unit capable of interpreting and/or executing computer-readable instructions. In one example, a physical processor may access and/or modify one or more modules stored in the above-described memory device. Examples of physical processors include, without limitation, microprocessors, microcontrollers, Central Processing Units (CPUs), Field-Programmable Gate Arrays (FPGAs) that implement softcore processors, Application-Specific Integrated Circuits (ASICs), portions of one or more of the same, variations or combinations of one or more of the same, or any other suitable physical processor.
Although illustrated as separate elements, the modules described and/or illustrated herein may represent portions of a single module or application. In addition, in certain embodiments one or more of these modules may represent one or more software applications or programs that, when executed by a computing device, may cause the computing device to perform one or more tasks. For example, one or more of the modules described and/or illustrated herein may represent modules stored and configured to run on one or more of the computing devices or systems described and/or illustrated herein. One or more of these modules may also represent all or portions of one or more special-purpose computers configured to perform one or more tasks.
In addition, one or more of the modules described herein may transform data, physical devices, and/or representations of physical devices from one form to another. For example, one or more of the modules recited herein may transform a processor, volatile memory, non-volatile memory, and/or any other portion of a physical computing device from one form to another by executing on the computing device, storing data on the computing device, and/or otherwise interacting with the computing device.
The term “computer-readable medium,” as used herein, generally refers to any form of device, carrier, or medium capable of storing or carrying computer-readable instructions. Examples of computer-readable media include, without limitation, transmission-type media, such as carrier waves, and non-transitory-type media, such as magnetic-storage media (e.g., hard disk drives, tape drives, and floppy disks), optical-storage media (e.g., Compact Disks (CDs), Digital Video Disks (DVDs), and BLU-RAY disks), electronic-storage media (e.g., solid-state drives and flash media), and other distribution systems.
The process parameters and sequence of the steps described and/or illustrated herein are given by way of example only and can be varied as desired. For example, while the steps illustrated and/or described herein may be shown or discussed in a particular order, these steps do not necessarily need to be performed in the order illustrated or discussed. The various exemplary methods described and/or illustrated herein may also omit one or more of the steps described or illustrated herein or include additional steps in addition to those disclosed.
The preceding description has been provided to enable others skilled in the art to best utilize various aspects of the exemplary embodiments disclosed herein. This exemplary description is not intended to be exhaustive or to be limited to any precise form disclosed. Many modifications and variations are possible without departing from the spirit and scope of the instant disclosure. The embodiments disclosed herein should be considered in all respects illustrative and not restrictive. Reference should be made to the appended claims and their equivalents in determining the scope of the instant disclosure.
Unless otherwise noted, the terms “connected to” and “coupled to” (and their derivatives), as used in the specification and claims, are to be construed as permitting both direct and indirect (i.e., via other elements or components) connection. In addition, the terms “a” or “an,” as used in the specification and claims, are to be construed as meaning “at least one of.” Finally, for ease of use, the terms “including” and “having” (and their derivatives), as used in the specification and claims, are interchangeable with and have the same meaning as the word “comprising.”
Number | Name | Date | Kind |
---|---|---|---|
20120151322 | Lindsay | Jun 2012 | A1 |
20190095067 | Huang | Mar 2019 | A1 |