Patent ID: 12229201

DETAILED DESCRIPTION

FIG.1is a block diagram of an illustrative system100for retrieving and modifying a version of a social media post. In some embodiments, system100may be executed by processing circuitry of user device400(FIG.4). It should be noted that system100or any step thereof could be performed on, or provided by, the system ofFIG.6. In addition, one or more steps of system100may be incorporated into or combined with one or more other steps described herein. As illustrated, social media post optimizer150receives social media post102, and, from the database of social media posts106, retrieves versions of the post, which include text and an image. This social media post may be shared104or can be generated by the sender. The social media post optimizer150will analyze the post for an identifier (not shown) and search a social media post database106for additional versions of the post. Upon retrieving additional versions of the post, the versions (106A,106B, and106C) are analyzed for quality based on the original publication. The social media post optimizer compares the metadata of each version (106A,106B, and106C) of the social media post. For example, the social media post optimizer determines the image in the first version106A was taken on a cloudy and rainy day, the image in second version106B has poor quality, and the image in third version106C was taken on a sunny day with high pixel quality. The social media post optimizer may then select110the third version for further processing and customizing for the target users. In some embodiments, the version that is selected can be based on preferred criteria of the target user.

FIG.1continues at112to target user selection, where each user or user group has its own criteria for how they prefer their respective social media posts. The target user may include any entities such as, for example, users, devices, accounts, instances of an application, addresses (e.g., network addresses), while the target user group may include any other suitable entity, or any combination thereof. The users may include friends112C connected on social media, family members112B, coworkers112A, or any other suitable users with access to the social media platform. Each of the users or target user groups may have preferred criteria for social media posts, for example, posts containing explanatory text, salutation text, images, action images, scenic images, videos, emojis, emoticons, or any other suitable preference or combination thereof.

FIG.1continues with the social media post optimizer modifying the selected version for customizing to each target user. For example, social media post optimizer150is configured to retrieve a plurality of versions of the social media post and select a second version of the social media post, and then modify the social media post based on a preference of a target user or a target user group to generate one or more modified versions of the social media post116for presentation to the associated target user or target user group. In some embodiments, system100may include other databases for modifying social media posts, instead of, or in addition to, social media post database320. For example, system100may include a video database, an audio database, an image database, any other suitable database, or any combination thereof. Accordingly, a personalized post116may include a video, an audio clip, an image, a link (e.g., a hyperlink), any other suitable object, or any combination thereof. The modified posts are then transmitted to each target user or user group116A,116B, and116C.

FIG.2is a block diagram of an illustrative system for comparing a number of modifications of a social media post to an original post. In some embodiments, process100may be executed by processing circuitry of user device400(FIG.4). It should be noted that process100or any step thereof could be performed on, or provided by, the system ofFIG.6. In addition, one or more steps of process100may be incorporated into or combined with one or more other steps described herein. As illustrated, social media post optimizer250receives social media post202, and from the database of social media posts206, retrieves versions of the post, which include text and an image. This social media post may be shared204or can be generated by the sender. The social media post optimizer250will analyze the post for an identifier (not shown) and search a social media post database206for additional versions of the post. Upon retrieving additional versions of the post, the versions (206A,206B, and206C) are analyzed for quality based on the original publication. The social media post optimizer compares the metadata of each version (206A,206B, and206C) of the social media post. For example, the social media post optimizer determines the image in the first version206A was taken on a cloudy and rainy day, the image in the second version206B has poor quality, and the image in the third version206C was taken on a sunny day with high pixel quality. The social media post optimizer may then select208the third version206C for further processing and customizing for the target users. In some embodiments, the version that is selected can be based on the preferred criteria of the target user.

In some embodiments, social media post optimizer250will analyze modified versions212of the post with the modifications214and original post216and determine whether the number of modifications to the version212exceeds the modifying threshold set by each target user. For example, each user may have a preference as to how much the post should be modified. In cases where the post exceeds the modifying threshold, the post may be forwarded but will likely not garner any attention. On the other hand, if the modified version of the post is below the modifying threshold, the modified version of the post is forwarded to the target user or target user group, it is likely going to provide an enhanced experience. In some embodiments, for each target user, the control circuitry (e.g., control circuitry504) determines that the number of modifications exceeds the modifying threshold and performs corrective actions so that modifications fall below the threshold and post is transmitted.

FIG.3is a block diagram of illustrative system300for optimizing social media posts (e.g., a post, a Facebook Story®, an Instagram Story®, TikTok®). Social media post optimizer350receives a social media post (e.g., received first version of social media post302) and a list of target users or target user groups (e.g., target user or target user group304). Social media post optimizer350is configured to retrieve a plurality of versions of the social media post for a selection of a second version of the social media post, and then modify the social media post based on a preference of a target user or a target user group to generate one or more modified versions of the social media post370for presentation to the associated target user or target user group. Social media post optimizer350selects the second version of the social media post based on metadata of the second version indicative of a content type, a content quality, an original time publication and authorship for improved quality as compared to the first version. Social media post optimizer350is configured to access social media post database320to retrieve a plurality of versions for the received social media post302. The plurality of versions may include posts such as, for example, text posts, still image posts, short video posts, video stories posts, posts with varying quality, post with varying angles, any other suitable versions of the post, or any combination thereof. Social media post optimizer350may select a second version, from the plurality of versions, that focuses on improved quality of the post. In some examples, the social media post optimizer350may select the second version based on improved content type, for example, the first version may include text and a still image, while the second version may include a short video or a video story post. In another example, social media post optimizer350may select a second version of the social media post310based on the preference of the target user or target user group. For example, the user or user group may prefer images rather than videos, or the user or user group may prefer receiving background and historical context of posts.

Social media post optimizer350may then apply one or more modifications to the selected second version of the post310to generate one or more modified versions of the social media post370based on the preferred criteria306of each of the target users or target user groups304. The target users may include any entities such as, for example, users, devices, accounts, instances of an application, addresses (e.g., network addresses), while the target user group may include any other suitable entity, or any combination thereof. The users may include friends connected on social media, family members, coworkers, or any other suitable users with access to the social media platform. Each of the users or target user groups may have preferred criteria for social media posts, for example, posts containing explanatory text, salutation text, additional pictures, action images, scenic images, videos, emojis, emoticons, or any other suitable preference or combination thereof. Social media post optimizer350may apply one or more modifications, based on the preferred criteria of each user, to a second version of the social media post310to generate one or more modified versions of the social media post370. For example, social media post optimizer350may apply text modification352based on text database362. In a further example, social media post optimizer350may apply image modification354based on image database364. In a further example, social media post optimizer350may apply video modification356based on video database366. In a further example, social media post optimizer350may apply another modification358based on database368. In an illustrative example, the first version of the social media post may include text, an image, a video, a story (e.g., entered into a smartphone); an email message (e.g., typed using a keyboard); a social media message (e.g., entered using an application on a smartphone); any other suitable message type, or any combination thereof.

Social media post optimizer350may be used when a user wants to share a post with a specific user or a group of people. Social media post optimizer350includes databases that include different message formats, templates, objects, or a combination thereof. Based on the social media post itself, as well as the preferred criteria between the sender and each of the users or user groups, social media post optimizer350may access the appropriate database for modifying the social media post. For example, social media post optimizer350may include post-modifying plug-ins (e.g., software modules) that are assigned a user name or user group name, sender name and the message to be sent. The plug-in may access the preferred criteria database (e.g., managed by a modifying analyzer) to find specific preferences for presentation of information such as broad grouping, narrow grouping, common phrases, or any other suitable information. The plug-in may then modify the post by adding salutations, emojis, or other suitable modifications that result in one or more modified versions of the social media post.

In an illustrative example, social media post optimizer350identifies a type of the second version of the social media post370to be shared and invokes an appropriate plug-in, application, module, or combination thereof. For each user or user group, the plug-in identifies aspects of the second version of the social media post that can be modified. For example, the plug-in may access a predetermined plug-in dictionary for this purpose. The plug-in accesses the preferred criteria database to determine preferred criteria for the user or user group. The plug-in then generates one or more modified versions of the post for presentation with each respective user or group of users. In some embodiments, social media post optimizer350may generate one or more modified versions of the social media post in parallel, in series, or a combination thereof. For example, an instance of the plug-in may repeat operations to generate one or more modified versions sequentially (e.g., in series). In a further example, multiple instances of the plug-in may operate in parallel to generate one or more modified versions in parallel. ReferencingFIG.3, text modification352may include a text plug-in configured to access database362, image modification354may include an image plug-in configured to access database364, video modification356may include a video plug-in configured to access database366, and other modification358may include a plug-in configured to access database368. For example, each plug-in may access a respective database, or the same database, using search keys. In a further example, a text plug-in may be configured to categorize versions of the social media post as related to salutations, historical information, well-wishes, greetings, events (e.g., festivals, holidays). In some embodiments, the text plug-in is configured to extract context using keywords (e.g., “Christmas,” “Diwali,” “Birthday,” or any other suitable keyword). In a further example, an image plug-in may be configured to determine background and object identifiers along with text scrapers to identify a greeting type. The video plug-in may be configured to extend the image plug-in by repeating across frames of images. Once constructs of the message have been determined, the plug-in then begins personalization by accessing the relationship entity database to determine a relationship (e.g., although this may occur in any suitable order). For example, a text plug-in may be configured to insert salutations, insert emojis, change fonts, change language, change the wording, or a combination thereof. In a further example, an image plug-in may be configured to change texts in images, change background colors, change attached images, or a combination thereof. In a further example, a video plug-in may be configured to insert customized texts (e.g., an overlay) to a video message, insert a video clip in a version of the social media, or a combination thereof.

Social media post database320includes a structured collection of information corresponding to social media posts among entities, for example, social media posts that have been shared on a social media platform. In some embodiments, social media post database320includes identifiers among stored posts. For example, identifiers may include a location identifier, an image identifier, a text identifier, and a video identifier. The identifiers may identify a category of each social media post relative to all types of social media posts. To identify versions of the same social media post, the social media post optimizer350can search for a post with similar identifiers. A version of the same post may include, for example, similar senders (e.g., users, persons, devices); a similar device (e.g., user devices, network devices); locations corresponding to the first version of the post; locations corresponding to devices, network entities, addresses (e.g., location-based or network-based), accounts (e.g., social media accounts, messaging services accounts), image identifier, any other suitable entity that corresponds to a version of the post sender or receiver, or any combination thereof. The plurality of versions may include, for example, a shared location between the versions, a context of similar background between the versions (e.g., person to person), a category similar between the versions, a communications network (e.g., devices on a particular network, devices hosting a particular application), a linkage in an application (e.g., versions linked in a social network or messaging application), any other suitable relationship type, or any combination thereof. For example, a relationship identifier may include a relationship between two versions (e.g., identified by a hardware address, IP address, device name, or other suitable identifiers) that may correspond to the first version and the plurality of versions retrieved from the database320. For example, a device may be configured to retrieve versions of the social media post to share with users or groups of users, without input or modification from the sender. In some embodiments, social media post optimizer350accesses social media post database320, transmits version identifiers (e.g., of content) to social media post database320(e.g., using a query), and retrieves a plurality of the versions of the social media post (e.g., identifying a version such as a video, image with higher quality, an image with improved vantage point).

In some embodiments, social media post optimizer350retrieves template information from template database330. Template database330may include one or more templates for parsing a social media post into sections. For example, a template may be configured to identify a salutation, a name, a message body, a sentence, a phrase, a send-off, an attachment, metadata associated with the social media post, a format of the social media post, any other attribute of the message, or any combination thereof. In some embodiments, the social media post optimizer350applies a plurality of templates to determine which most closely matches the social media post format. In some embodiments, social media post optimizer350transmits the version of the social media post and corresponding metadata to template database330. In some embodiments, social media post optimizer350retrieves a plurality of templates from template database330and then applies the templates to the social media post to determine which template best fits. In some embodiments, social media post optimizer350may determine the social media post format based on which template fits a matching criterion of the parts of the social media post. For example, a selected second version of the social media post has a salutation, a message body, a send-off, and a signature may best match, based on the system parsing the social media post template having those components.

In some embodiments, template database330includes templates for formatting one or more modified versions of the social media post. In some embodiments, a template includes instructions, criteria, or other features by which the system may determine how to format a version of the social media post, determine a format of a version of the social media post, or both. For example, social media post optimizer350may receive a version of the social media post and a target user or user group, each having a corresponding preferred criterion, which is associated with a template database330. In some cases, the template database330may be associated with a group of users.

In some embodiments, the sender may have a static relationship or a dynamic relationship with the users or user groups. A static relationship with users or user groups can include family members, coworkers, or friends. For example, a group of users may be “coworkers” and may have an associated template that includes more formal salutations, message structure, and send-off, and more appropriate images and videos that may avoid offending a coworker. In a further example, the template for a group of users from the “coworker” group may apply a spelling check, a grammar check, replacement of abbreviations, replacement of phrases or words (e.g., to remove profanity, slang, or informal text), removal of images or video, any other suitable formatting appropriate for the group of users, or any combination thereof. For example, in audio, video, and image posts, inappropriate imageries and sounds can be modified by overlay imagery or audio or muting. In a further example, the template for recipient category “friends” need not apply a spelling check or a grammar check, and may replace longhand words or phrases with abbreviations or other shorthand (e.g., determined from communications records), any other suitable formatting appropriate for the user category, or any combination thereof. A dynamic relationship can be identified by the frequency and quality of the latest conversation. The dynamic relationship can be based on the age of each user and sender, mood, latest conversation, habits, or any other suitable categories or a combination thereof. Each user's or group of user's likes and dislikes can be identified based on their respective age, mood, latest conversation, or habits. For example, the user may have recently liked a scenic image of a particular tourist destination. Accordingly, the user's interaction can assist in generating a template based on scenic images or scenic videos. In an example, the template for a group of users from the dynamic relationship may be selected based on the social media post format to guide the structure of the one or more modified versions of the social media post.

In some embodiments, social media post optimizer350may determine a social media post based on contextual information of the message. For example, social media post optimizer350may determine a context of a received message, and then select a template that corresponds to the context. In an illustrative example, social media post optimizer350may determine that a selected second version of the media content post includes a dinner invitation to a plurality of guests. Social media post optimizer350may retrieve from template database330a template corresponding to an event invitation, which may include text relevant to an invitation (e.g., “you are invited to:,” a date, a time, a theme). In a further example, social media post optimizer350may determine a context of a post be holiday-related and may accordingly select a template that includes holiday-themed images or videos to be included in the post. Social media post optimizer350may use any suitable criteria to select a template from template database330.

FIG.4depicts an illustrative device display400for inputting a social media post to be shared. Device400may include a smartphone or other suitable user device configured to share social media content inputted by a sender. As illustrated, device display402shows a text entry region404with icons405-407, list of potential target users410, list of target user groups412, share button414configured to receive a user indication to optimize a social media post, and icons415-417for indicating user instructions in navigating the displayed software application.

Text entry region404may include a displayed cursor and may display text inputted by a sender. For example, the sender may provide haptic interaction to the screen of device400by touching displayed keys of a displayed keyboard. In a further example, a sender may elect to forward a social media post displayed in the text entry region404. Icon405corresponds to inserting text into text entry region404. For example, when a user selects icon405(e.g., touching the region of the screen corresponding to icon405), a touchscreen keyboard may be displayed. Icon406corresponds to inserting an image into text entry region404. For example, when a sender selects icon406(e.g., touching the region of the screen corresponding to icon406), a file folder, directory, camera application, or thumbnail gallery of stored images may be displayed. Icon407corresponds to inserting a video into text entry region404. For example, when a sender selects icon407(e.g., touching the region of the screen corresponding to icon407), a file folder, directory, camera application, or thumbnail gallery of stored videos may be displayed.

Target users410, as illustrated, includes a list of users to whom the social media post may be forwarded. For example, a list of target users410may include a contacts list stored in the Memory of device400. In a further example, the list of target users410may include users with whom the sender has communicated using device400, an application of device400, a list of social media network entities connected to the sender, or any combination thereof. List of target users410, as illustrated, includes a vertical list with a scroll bar for navigating the list.

List of target user groups412includes a list of broad group identifiers such as “South Boston Friends” and “Neighbors” as illustrated. In some embodiments, recipients of list of target users410may be grouped into broad groupings in list of user groups412. List of user groups412, as illustrated, includes a vertical list with a scroll bar for navigating the list, with a listing of corresponding users provided for each user group.

Share button414may be selected by a sender (e.g., by touching the region of the screen corresponding to share button414) to generate one or more versions of the social media post. Icons415,416, and417may be used to navigate the software messaging application displayed. For example, as illustrated, icon416indicates a “send post” screen (e.g., currently displayed), on which the user may compose a post and, select target user and forward the social media post.

In an illustrative example, a user may input a social media post to text entry region404, select a plurality of recipients from either list of target users410or list of user groups412, and generate one or more modified versions of the social media post by selecting share button414.

FIG.5is a block diagram of an illustrative user device. A user may access content, an application, and other features from one or more of their devices (i.e., user equipment).FIG.5shows generalized embodiments of an illustrative user device. Although illustrated as a mobile user device (e.g., a smartphone), user device500may include any user electronic device with which a sender may share social media posts with other users. For example, a user device500may include a desktop computer, a tablet, a laptop, a remote server, any other suitable device, or any combination thereof. In some embodiments, display512may include a touchscreen, a television display or a computer display. In some embodiments, the one or more circuit boards illustrated include processing circuitry, control circuitry, and storage (e.g., RAM, ROM, Hard Disk, Removable Disk, etc.). In some embodiments, circuit boards include an input/output (hereinafter “I/O”) path. User device500may receive content and data via I/O path502. I/O path502may provide content and data to control circuitry504, which includes processing circuitry506and storage508. Control circuitry504may be used to send and receive commands, requests, and other suitable data using I/O path502. I/O path502may connect control circuitry504(and specifically processing circuitry506) to one or more communications paths (described below). I/O functions may be provided by one or more of these communications paths but are shown as a single path inFIG.5to avoid overcomplicating the drawing.

Control circuitry504may be based on any suitable processing circuitry such as processing circuitry506. As referred to herein, processing circuitry should be understood to mean circuitry based on one or more microprocessors, microcontrollers, digital signal processors, programmable logic devices, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), etc., and may include a multi-core processor (e.g., dual-core, quad-core, hexa-core, or any suitable number of cores) or supercomputer. In some embodiments, processing circuitry is distributed across multiple separate processors or processing units, for example, multiple of the same type of processing units (e.g., two Intel Core i7 processors) or multiple different processors (e.g., an Intel Core i5 processor and an Intel Core i7 processor). In some embodiments, control circuitry504executes instructions for an application stored in memory (e.g., storage508). Specifically, control circuitry504may be instructed by the application to perform the functions discussed above and below. For example, the application may provide instructions to control circuitry504to generate media guidance displays. In some implementations, any action performed by control circuitry504may be based on instructions received from the application.

In some client/server-based embodiments, control circuitry504includes communications circuitry suitable for communicating with an application server or other networks or servers. The instructions for carrying out the above-mentioned functionality may be stored on the application server. Communications circuitry may include a cable modem, an integrated-services digital network (ISDN) modem, a digital subscriber line (DSL) modem, a telephone modem, an ethernet card, a wireless modem for communications with other equipment, or any other suitable communications circuitry. Such communications may involve the Internet or any other suitable communications networks or paths. In addition, communications circuitry may include circuitry that enables peer-to-peer communication of user equipment devices, or communication of user equipment devices in locations remote from each other (described in more detail below).

Memory may be an electronic storage device provided as storage508that is part of control circuitry504. As referred to herein, the phrase “electronic storage device” or “storage device” should be understood to mean any device for storing electronic data, computer software, or firmware, such as random-access memory, read-only memory, hard drives, optical drives, solid state devices, quantum storage devices, gaming consoles, gaming media, any other suitable fixed or removable storage devices, and/or any combination of the same. Storage508may be used to store various types of content described herein as well as media guidance data described above. Non-volatile memory may also be used (e.g., to launch a boot-up routine and other instructions). Cloud-based storage, for example, may be used to supplement storage508or instead of storage508.

A user may send instructions to control circuitry504using user input interface510. The user input interface510, display512, or both, may include a touchscreen configured to provide a display and receive haptic input. For example, the touchscreen may be configured to receive haptic input from a finger, a stylus, or both. In some embodiments, user device500may include a front-facing screen and a rear-facing screen, multiple front screens, or multiple angled screens. In some embodiments, user input interface510includes a remote-control device having one or more microphones, buttons, keypads, any other components configured to receive user input or combinations thereof. For example, user input interface510may include a handheld remote-control device having an alphanumeric keypad and option buttons.

Audio equipment514may be provided as integrated with other elements of user device500or may be stand-alone units. The audio component of videos and other content displayed on display512may be played through speakers of audio equipment514. In some embodiments, the audio may be distributed to a receiver (not shown), which processes and outputs the audio via speakers of audio equipment514. In some embodiments, for example, control circuitry504is configured to provide audio cues to a user, or other audio feedback to a user, using speakers of audio equipment514. Audio equipment514may include a microphone configured to receive audio input, such as voice commands or speech. For example, a user may speak letters or words that are received by the microphone and converted to text by control circuitry504. In a further example, a user may input voice commands that are received by the microphone and recognized by control circuitry504.

An application (e.g., for generating a display) may be implemented using any suitable architecture. For example, a stand-alone application may be wholly implemented on user device500. In some such embodiments, instructions for the application are stored locally (e.g., in storage508), and data for use by the application is downloaded on a periodic basis (e.g., from an out-of-band feed or an Internet resource, or using another suitable approach). Control circuitry504may retrieve instructions of the application from storage508and process the instructions to generate any of the displays discussed herein. Based on the processed instructions, control circuitry504may determine what action to perform when input is received from input interface510. For example, movement of a cursor on a display up/down may be indicated by the processed instructions when input interface510indicates that an up/down button was selected. An application and/or any instructions for performing any of the embodiments discussed herein may be encoded on computer-readable media. Computer-readable media includes any media capable of storing data. The computer-readable media may be transitory, including, but not limited to, propagating electrical or electromagnetic signals, or it may be non-transitory including, but not limited to, volatile and non-volatile computer memory or storage devices such as a hard disk, floppy disk, USB drive, DVD, CD, media cards, register memory, processor caches, Random Access Memory (“RAM”), etc.

In some embodiments, the application is a client/server-based application. Data for use by a thick or thin client implemented on user device500is retrieved on-demand by issuing requests to a server remote from user device500. For example, the remote server may store the instructions for the application in a storage device. The remote server may process the stored instructions using circuitry (e.g., control circuitry504) and generate the displays discussed above and below. The client device may receive the displays generated by the remote server and may display the content of the displays locally on user device500. This way, the processing of the instructions is performed remotely by the server while the resulting displays (e.g., that may include text, a keyboard, or other visuals) are provided locally on user device500. User device500may receive inputs from the user via input interface510and transmit those inputs to the remote server for processing and generating the corresponding displays. For example, user device500may transmit a communication to the remote server, indicating that an up/down button was selected via input interface510. The remote server may process instructions in accordance with that input and generate a display of the application corresponding to the input (e.g., a display that moves a cursor up/down). The generated display is then transmitted to user device500for presentation to the user.

In some embodiments, the application is downloaded and interpreted or otherwise run by an interpreter or virtual machine (e.g., run by control circuitry504). In some embodiments, the application may be encoded in the ETV Binary Interchange Format (EBIF), received by control circuitry504as part of a suitable feed, and interpreted by a user agent running on control circuitry504. For example, the application may be an EBIF application. In some embodiments, the application may be defined by a series of Java-based files that are received and run by a local virtual machine or other suitable middleware executed by control circuitry504.

FIG.6is a block diagram of an illustrative system600for transmitting social media posts to target users or target user groups. In system600, there may be more than one of each type of user device, but only one of each is shown inFIG.6to avoid overcomplicating the drawing. In addition, each user may utilize more than one type of user device and also more than one of each type of user device. In some embodiments, a user device (e.g., user device630, user computer equipment620) may be referred to as a “second screen device.” For example, a second screen device may supplement content, software applications, or other functionality presented on a first user device. As illustrated, a first user may use user device620, and a second user may use user device630(e.g., a sender and a recipient of a message).

User devices620and630, illustrated as wireless-enabled devices, may be coupled to communications network602(e.g., the Internet). For example, user device620is coupled to communications network602via communications path622to access point624and wired connection626, and user device630is coupled to communications network602via communications path632to access point634and wired connection636. User devices620and630may also include wired connections to a LAN, or any other suitable communications link to network602. Communications network602may be one or more networks including the Internet, a mobile phone network, mobile voice or data network (e.g., a 4G or LTE network), cable network, public switched telephone network, or other type of communications network or combination of communications networks. Paths612,626, and636may separately or together include one or more communications paths, such as a satellite path, a fiber-optic path, a cable path, a path that supports Internet communications, free-space connections (e.g., for broadcast or other wireless signals), or any other suitable wired or wireless communications path or combination of such paths. Although communications paths are not drawn between user devices620and630, these devices may communicate directly with each other via communications paths, such as those described above in connection with paths626and636, as well as other short-range point-to-point communications paths, such as USB cables, IEEE 1394 cables, wireless paths (e.g., Bluetooth, infrared, IEEE 802-11x, etc.), or other short-range communication via wired or wireless paths. BLUETOOTH is a certification mark owned by Bluetooth SIG, INC. The user equipment devices may also communicate with each other directly through an indirect path via communications network602.

System600includes network entity604(e.g., a server or other suitable computing device) coupled to communications network602via communications path612. Path612may include any communications path described above in connection with paths626and636. Communications with network entity604may be exchanged over one or more communications paths but are shown as a single path inFIG.6to avoid overcomplicating the drawing. Network entity604is configured to access database606or applications608(e.g., an application database or host server) via communications links614and616, respectively. Although shown as a separate device, network entity604may include database606and applications608(e.g., stored in memory). In addition, there may be more than one of each of database606and applications608, but only one of each is shown inFIG.6to avoid overcomplicating the drawing. In some embodiments, database606and applications608may be integrated as one source device (e.g., that may be, but need not be, network entity604). Although communications between database606and applications608with user devices620and630are shown as through communications network602, in some embodiments, database606and applications608may communicate directly with user devices620and630via communications paths (not shown) such as those described above.

Database606may include one or more types of stored information, including, for example, a social media posts database, user and user group information, user-preferred criteria database, post template database, user profile information, text database, image database, video database, any other suitable information, or any combination thereof. Applications608may include an applications-hosting database or server, plug-ins, a software developers kit (SDK), an applications programming interface (API), or other software tools configured to provide software (e.g., as a download to a user device), run software remotely (e.g., hosting applications accessed by user devices), or otherwise provide applications support to applications of user devices620and630. In some embodiments, information from network entity604, database606, applications608, or a combination thereof may be provided to a user device using a client/server approach. For example, user device620or user device630may pull information from a server, or a server may push information to user device620or user device630. In some embodiments, an application client residing on user device620or user device630may initiate sessions with database606, applications608, network entity604, or a combination thereof to obtain information when needed (e.g., when data is out-of-date or when a user device receives a request from the user to receive data). In some embodiments, information may include user information. For example, the user information may include current and/or historical user activity information (e.g., what communications the user engages in, what times of day the user sends/receives messages, whether the user interacts with a social network, at what times the user interacts with a social network to post information, what types of content the user typically inserts in messages, stored contacts of the user, frequent contacts of the user, any other suitable information, or any combination thereof. In some embodiments, the user information may identify patterns of a given user for a period of more than one year.

In some embodiments, an application may include a social media post optimizer as a stand-alone application implemented on user devices620and630. For example, the application may be implemented as software or a set of executable instructions, which may be stored in storage (e.g., storage508) of the user devices (e.g., user device500), and executed by control circuitry (e.g., control circuitry504) of the user devices (e.g., user device500). In some embodiments, an application may include a social media post optimizer application that is implemented as a client/server-based application where only a client application resides on the user device, and a server application resides on a remote server (e.g., network entity604). For example, social media post optimizer applications may be implemented partially as a client application on user device620or user device630(e.g., by control circuitry504of user device500) and partially on a remote server as a server application running on control circuitry of the remote server (e.g., control circuitry of network entity604). When executed by control circuitry of the remote server, the social media post optimizer application may instruct the control circuitry to generate the displays and transmit the generated displays to user devices620and630. The server application may instruct the control circuitry of the remote device to transmit data for storage on user device620or user device630. The client application may instruct control circuitry of the receiving user device to generate the application displays.

In some embodiments, the arrangement of system600is a cloud-based arrangement. The cloud provides access to services, such as information storage, messaging, or social networking services, among other examples, as well as access to any content described above, for user devices. Services can be provided in the cloud through cloud computing service providers, or through other providers of online services. For example, the cloud-based services can include a storage service, a sharing site, a social networking site, or other services via which user-sourced content is distributed for viewing by others on connected devices. These cloud-based services may allow a user device to store information to the cloud and to receive information from the cloud rather than storing information locally and accessing locally stored information. Cloud resources may be accessed by a user device using, for example, a web browser, a messaging application, a desktop application, a mobile application, and/or any combination of access applications of the same. The user device may be a cloud client that relies on cloud computing for application delivery, or the user equipment device may have some functionality without access to cloud resources. For example, some applications running on the user device may be cloud applications (e.g., applications delivered as a service over the Internet), while other applications may be stored and run on the user device. In some embodiments, a user device may receive information from multiple cloud resources simultaneously.

FIG.7shows a flowchart of an illustrative process for retrieving and modifying a second version of the social media post. In some embodiments, user device500may be used to perform the illustrative steps of process700. A process700for optimizing social media post versions with content that is relevant to the consumer of the post may begin at block702. For example, control circuitry504of media device630may receive an input of a first version of social media post502and/or a user selection, such as via user input interface510, of social media post310.

At step702, control circuitry (e.g., control circuitry504) receives a social media post to present to target users and target user groups. In some embodiments, a sender may forward/share a social media post (e.g., to user input interface510, display512on a touchscreen, or both of a user device). For example, a sender may receive a post and may desire to share that post. Accordingly, the sender may share the social media post on a social media platform, after performing some modifications using an electromechanical keyboard (e.g., a USB keyboard) or a touchscreen keyboard, or may speak a message into a microphone (e.g., of audio equipment514) of a user device, and control circuitry (e.g., control circuitry504) may identify words, commands, or phrases, and convert them to text. In an illustrative example, as shown inFIG.4, a user may share a social media post to a user device using a messaging application. In some embodiments, the control circuitry may optimize the social media post to generate one or more social media posts that will be modified to broadcast to target users or target user groups based on their preference.

At step704, control circuitry (e.g., control circuitry504) retrieves versions of the social media post of the received first social media post of step702. In some embodiments, the social media post may have many formats. For example, the format may include text, an image, a video, a story, any other suitable element of a post, or any combination thereof.

At step706, control circuitry (e.g., control circuitry504) identifies a second version of the plurality of versions of the social media post. In some embodiments, a sender may specify the criteria for the second version. For example, the sender may prefer versions with videos only, or pictures only. In some embodiments, the system considers the quality of each of the versions and selects the second version based on the highest-quality.

At step708, control circuitry (e.g., control circuitry504) retrieves preferred criteria for each of the target users or target user groups. In some embodiments, each target user is compared against a database of users (e.g., a relationship entity database) to determine a target user's category (e.g., a relationship). A target user's category may include a relationship identifier (e.g., coworker, boss, friend, family member, significant other, acquaintance, first friend group, second friend group), a grouping based on social media post preferences, any other suitable categorization, or any combination thereof. In some embodiments, the control circuitry (e.g., control circuitry504) retrieves information from a server, database or other network device. For example, in some embodiments, the control circuitry provides a name to a database as input, searches for a matching entry and then extracts the relationship type from the entry. In some embodiments, target user categories may be stored on the user device. For example, in some embodiments, a contact list may include, for each contact, one or more categories to which that contact belongs.

At step710, control circuitry (e.g., control circuitry504) modifies the second version of the social media post for each of the target users based on the preferred criteria. For each target user category, the control circuitry may determine a post format, a post template, a set of text, images, or video to apply, any other suitable edits to the message, or any combination thereof. In some embodiments, the control circuitry determines one or more modified versions of the social media post for each recipient category. In some embodiments, the control circuitry determines one or more modified versions of the social media post for each target user. In some embodiments, a social media post optimizer determines an appropriate plug-in, application, module, or combination thereof to use for generating one or more modified versions of the social media post. For each target user or target user group, the social media post optimizer selects a version of the post that is the highest-quality. In some embodiments, the social media post optimizer selects a version of the post that has the earliest publication. The selected version of the post is then modified using the preferences of each of the target users. For example, the social media post optimizer may access a predetermined database for this purpose.

The social media post optimizer may, for example, access a target user database to determine personalization options (preferred criteria or template) for each target user. The social media post optimizer then retrieves versions of the post to determine if a version exists that is better quality. The social media post optimizer then selects a version of the post based on the quality of the version. The social media post optimizer then modifies the selected version to form one or more modified versions of the post tailored to the target users. In some embodiments, the social media post optimizer may generate one or more modified versions in parallel, in series, or a combination thereof. For example, a text plug-in may be configured to insert salutations, insert emojis, change fonts, change language, change the wording, or a combination thereof. In a further example, an image plug-in may be configured to change texts in images, change background colors, change attached images, or a combination thereof. In a further example, a video plug-in may be configured to insert customized texts (e.g., an overlay) to a video message, insert a video clip in a text message, or a combination thereof. One or more modified versions of the post may be stored in storage (e.g., storage508) of a user device, any other suitable storage, or any combination thereof.

At step712, control circuitry (e.g., control circuitry504) transmits the one or more modified versions of the social media post. In some embodiments, the control circuitry generates the one or more modified versions for transmission in a series, one after another. In some embodiments, at least one of the modified versions may be of a different type. For example, some of the one or more modified versions of the social media post may be on one application (e.g., What's Up®) while other modified versions may be on another application (e.g., TikTok®). The control circuitry may generate for transmission one or more modified versions of the social media post of a particular type first, and then proceed to generate one or more modified versions of the social media post of a different type for transmission. In some embodiments, one or more modified versions of the social media post are generated for broadcast transmission, posting (e.g., on a social media page or feed), instant messaging, transmission to a message server, or a combination thereof.

In an illustrative example of process800, a social media post optimizer receives a post from a sender to transmit to a plurality of target users. For each target user of the plurality of target users, the social media post optimizer identifies a plurality of versions of the post and, selects a version of the post based on target user preferences. The social media post optimizer modifies the post based on the preferences of each target user and identifies a relationship for each target user. In some embodiments, identifying each respective relationship identifier includes accessing historical communications records stored in a database. In some embodiments, for example, the stored historical communications records include a chat group record, contacts list, text message record, email message record, social media post record, and comments record or a combination thereof corresponding to a media post. In some embodiments, the social media post optimizer extracts one or more patterns of conversation from the historical communications records, determines a relationship identifier based on the one or more patterns of conversation, and stores the relationship identifier in a database. In some embodiments, determining the one or more modifiers to apply includes determining a modification to one of a salutation, a closing, and a displayed object. In some embodiments, determining one or more modifiers includes determining one or more message templates to apply to the social media post. For example, determining the one or more templates may include identifying an object in the post, determining a contextual indicator based at least in part on the object, and modifying one or more of a word, an emoticon, and a visual attribute of the message based on the contextual indicator. In an illustrative example, the one or more modifiers may include one of a text modifier, an image modifier, and a video modifier.

FIG.8shows a flowchart of an illustrative process for comparing a number of modifications of a social media post to an original post. In some embodiments, user device500may be used to perform the illustrative steps of process800. A process800for optimizing social media post versions with content that is relevant to the user of the post may begin at block802. For example, control circuitry504of media device630may receive an input of a first version of social media post302and/or a user selection, such as via user input interface510, of social media post310.

At step802, control circuitry (e.g., control circuitry504) receives a social media post to present to a target users and target user groups. In some embodiments, a sender may forward/share a social media post (e.g., to user input interface510, display512on a touchscreen, or both of a user device). For example, a sender may receive a post and may desire to share that post. Accordingly, the sender may share the social media post on a social media platform, after performing some modifications using an electromechanical keyboard (e.g., a USB keyboard) or a touchscreen keyboard, or may speak a message into a microphone (e.g., of audio equipment514) of a user device, and control circuitry (e.g., control circuitry504) may identify words, commands, or phrases, and convert them to text. In an illustrative example, as shown inFIG.4, a user may share a social media post to a user device using a messaging application. In some embodiments, the control circuitry may optimize the social media post to generate one or more social media posts that will be modified to broadcast to target users or target user groups based on their preference.

At step804, control circuitry (e.g., control circuitry504) retrieves versions of the social media post of the received first social media post of step802. In some embodiments, the social media post many formats. For example, the format may include text, an image, a video, a story, any other suitable post, or any combination thereof.

At step806, control circuitry (e.g., control circuitry504) selects a second version of the plurality of versions of the social media post. In some embodiments, a sender may specify the criteria for the second version. For example, the sender may prefer versions with videos only, or pictures only. In some embodiments, the system considers the quality of each of the versions and selects the second version based on the highest-quality.

Step808includes control circuitry (e.g., control circuitry604) modifying the second version of the social media post for each of the target users based on preferred criteria. For each target user category, the control circuitry may determine a post format, a post template, a set of text, images, or video, any other suitable edits, or any combination thereof to apply to the post. For example, the social media post optimizer may modify the selected version to form one or more modified versions of the post tailored to the target users. In some embodiments, the social media post optimizer may generate one or more modified versions in parallel, in series, or a combination thereof. For example, a text plug-in may be configured to insert salutations, insert emojis, change fonts, change language, change the wording, or a combination thereof. In a further example, an image plug-in may be configured to change texts in images, change background colors, change attached images, or a combination thereof. In a further example, a video plug-in may be configured to insert customized texts (e.g., an overlay) to a video message, insert a video clip in a text message, or a combination thereof. One or more modified versions of the post may be stored in storage (e.g., storage508) of a user device, any other suitable storage, or any combination thereof.

At step812, control circuitry (e.g., control circuitry604) determines whether the number of modifications to the version exceeds the modification threshold set by each user. For example, each user may have a preference as to how much the post should be modified. In cases where the post exceeds the modification threshold, the post is forwarded but will garner minimal interactions from the target user or target user group. In some embodiments, for each target user, the control circuitry (e.g., control circuitry604) determines that the number of modifications exceeds the modifying threshold and proceeds to perform corrective actions so that the modifications fall below the modifying threshold and the post if transmitted.

At step814, control circuitry (e.g., control circuitry604) determines that the number of modifications falls below the modifying threshold. In some embodiments, the control circuitry may determine that a target user is in agreement with the modifications and may proceed to presentation of the modified version of the social media post. In another embodiment, control circuitry may determine that the number of modifications to the modified version of the post falls below the modifying threshold for this target user and, at step816, proceed to transmit the one or more modified versions of the social media post to the target user.

At step818, control circuitry (e.g., control circuitry504) determines that the number of modifications exceeds the modifying threshold. In some embodiments, the control circuitry performs a comparison of the modified version and a first version identified from the plurality of versions to determine the number of modifications performed on the modified version. Each modification counts as one modification. The total number of modifications is summed up to arrive at the number of modifications. In some embodiments, the control circuitry may select a first version of the social media post, select the one or more modified versions of the social media post and compare the first version of the social media post to the one or more modified versions of the social media post to determine the number of modifications in each version. In some embodiments, the control circuitry updates the metadata of the one or more modified versions with the number of modifications based on the comparison.

In some embodiments, the control circuitry may extract one or more identifiers associated with a first version of the social media post and with the one or more modified versions of the social media post. The one or more identifiers may include a location identifier, an image identifier, a text identifier, and a video identifier. The control circuitry may compare the one or more identifiers associated with the first version against the one or more identifiers associated with the one or more modified versions of the social media post to identify the number of modifications and store the number of modifications of each version.

At step820, control circuitry (e.g., control circuitry504) revises the one or more modified versions of the social media post. In some embodiments, the control circuitry may revise the one or more modified versions to remove modifications from the one or more modified versions to generate semi-modified versions of the social media post. For example, a number of modifications to the post can be removed to decrease the number of modifications in the modified version. The new version is semi-modified. In another embodiment, the control circuitry may delete the one or more modified versions that exceed the modification threshold and select a third version of the plurality of versions of the social media post. In such an embodiment, adjusting the preferred criteria associated with each target user or target user group by reducing modifications to form adjusted preferred criteria. Further, the control circuitry may modify the third version based on the adjusted preferred criteria of each target user or target user group to generate one or more semi-modified versions of the social media post for each target user or target user group. Control circuitry may, at step822, forward the revised version of the social media post to the target user.

In some embodiments, while revising the modified version of the post, the control circuitry may identify one or more unique modifications to the one or more modified versions based on the comparing of the number of modifications. Accordingly, the control circuitry may modify the one or more modified versions by eliminating one or more unique modifications to generate one or more semi-modified versions. For example, the semi-modified version of the post will have fewer modifications.

It will be apparent to those of ordinary skill in the art that methods involved in the present disclosure may be embodied in a computer program product that includes computer-usable and/or -readable medium. For example, such a computer-usable medium may consist of a read-only memory device, such as a CD-ROM disk or conventional ROM device, or a random-access memory, such as a hard drive device or a computer diskette, having a computer-readable program code stored thereon. It should also be understood that methods, techniques, and processes involved in the present disclosure may be executed using processing circuitry.

The processes discussed above are intended to be illustrative and not limiting. More generally, the above disclosure is meant to be exemplary and not limiting. Only the claims that follow are meant to set bounds as to what the present invention includes. Furthermore, it should be noted that the features and limitations described in any one embodiment may be applied to any other embodiment herein, and flowcharts or examples relating to one embodiment may be combined with any other embodiment in a suitable manner, done in different orders, or done in parallel. It should also be noted, the systems and/or methods described above may be applied to, or used in accordance with, other systems and/or methods.