This description relates to embedding style into text messaging systems, for example, to present recognizable brands in individual messages. Along with providing selectable brand styles for end user selection, feedback data can be provided to brand owners for various analysis, brand adjustment, etc.
Over the past years, text messaging has continued to evolve towards becoming the preferred manner of communicating, among the younger segment of our society, in particular. Along with this portion of users, older individuals continue to become increasingly comfortable with using text messaging services and operating with ever increasing numbers of text messages per day. With this ever increasing usage growth of this technology, more and more potential consumers are using text messaging services in professional aspects of their lives along with their personal lives.
The systems and techniques described herein can aid in harmoniously presenting text messages and user-selectable styles that may be developed by individual, groups, well established brands, etc. Rather than presenting advertisements absent any input from users, style features (e.g., fonts, colors, graphics, etc.) closely associated with a brand are visually presented with the message, thereby reducing the viewer's ability to consciously or subconsciously ignore the brand (in contrast to ignoring advertisements positioned on the viewer's peripheral, often referred to as “banner blindness”). Along with the stylistic attributes of a brand, other information may be embedded into the text message. Product or service information, links to associated electronic assets (e.g., websites, webpages, etc.) and other related information may be presented for improving the engagement with viewers.
In one aspect, a computing device implemented method includes receiving at a publisher, a request from a user device for immutable style information of a brand to present a text message on the user device. The immutable style information of the brand is provided to the publisher from an owner of the immutable style information of the brand or an agent of the owner. The method also includes preparing one or more files that include data representative of the (immutable) style information of the brand. The method also includes sending the one or more data files to the user device to provide the immutable style information of the brand for presenting within a text message that includes mutable content.
Implementations may include one or more of the following features. Sending the one or more data files to the user device to provide the immutable style information of the brand may be initiated by a request from the user device. Sending the one or more data files to the user device to provide the immutable style information of the brand may be initiated by content being sent to the user device. The publisher may manage immutable style information associated with multiple brands. The publisher may apply conditions to accessing the immutable style information. The conditions may include limiting access to the immutable style information for periods of time. The conditions may include granting access to the immutable style information base upon a subscription. The conditions may include granting access to the immutable style information base upon a product purchase. The immutable style information may be stored in a cloud computing network that is accessible by the publisher. The method may also include receiving feedback at the publisher reflective upon the use of the immutable style information within the text message.
In another aspect, a system includes a computing device that includes a memory configured to store instructions. The system also includes a processor to execute the instructions to perform operations that include receiving at a publisher, a request from a user device for immutable style information of a brand to present a text message on the user device. The immutable style information of the brand is provided to the publisher from an owner of the immutable style information or an agent of the owner. Operations also include preparing one or more files that include data representative of the immutable style information of the brand. Operations also include sending the one or more data files to the user device to provide the immutable style information of the brand for presenting within a text message that includes mutable content.
Implementations may include one or more of the following features. Sending the one or more data files to the user device to provide the immutable style information of the brand may be initiated by a request from the user device. Sending the one or more data files to the user device to provide the immutable style information of the brand may be initiated by content being sent to the user device. The publisher may manage immutable style information associated with multiple brands. The publisher may apply conditions to accessing the immutable style information. The conditions may include limiting access to the immutable style information for periods of time. The conditions may include granting access to the immutable style information base upon a subscription. The conditions may include granting access to the immutable style information base upon a product purchase. The immutable style information may be stored in a cloud computing network that is accessible by the publisher. Operations may also include receiving feedback at the publisher reflective upon the use of the immutable style information within the text message.
In another aspect, one or more computer readable media storing instructions that are executable by a processing device, and upon such execution cause the processing device to perform operations that include receiving at a publisher, a request from a user device for immutable style information of a brand to present a text message on the user device. The immutable style information of the brand is provided to the publisher from an owner of the immutable style information of the brand or an agent of the owner. Operations also include preparing one or more files that include data representative of the immutable style information of the brand. Operations also include sending the one or more data files to the user device to provide the immutable style information of the brand for presenting within a text message that includes mutable content.
Implementations may include one or more of the following features. Sending the one or more data files to the user device to provide the immutable style information of the brand may be initiated by a request from the user device. Sending the one or more data files to the user device to provide the immutable style information of the brand may be initiated by content being sent to the user device. The publisher may manage immutable style information associated with multiple brands. The publisher may apply conditions to accessing the immutable style information. The conditions may include limiting access to the immutable style information for periods of time. The conditions may include granting access to the immutable style information base upon a subscription. The conditions may include granting access to the immutable style information base upon a product purchase. The immutable style information may be stored in a cloud computing network that is accessible by the publisher. Operations may also include receiving feedback at the publisher reflective upon the use of the immutable style information within the text message.
These and other aspects, features, and various combinations may be expressed as methods, apparatus, systems, means for performing functions, program products, etc.
Other features and advantages will be apparent from the description and the claims.
Referring to
By incorporating additional content into the message, additional information may be provided to the users as they exchange messages (for example, graphical information can be embedded into a message to convey information related to or unrelated to the message content). Such additional material may originate from a variety of sources, for example, graphical features associated with a brand of an entity (e.g., commercial company) may be incorporated into the messaging. Along with producing more eye-catching messages, such additional material may also assist the owner of the brand. By recognizing the stylistic features, the brand is exposed to the users as they focus upon the messages being exchanged. Further, by allowing the use of a brand style to propagate to others (e.g., a recipient of a message infused with the style of a brand can be allowed to send messages that use the brand style), text message users in effect become an advertising source for the brand.
In the illustrated example, another interface 106 is presented on the smartphone 100 that allows text messages to include stylistic features of commercial brands and other sources. In this example, a series of text messages 108-112 are received by the smartphone 100. Two of the messages 110, 112 include just text entered by the sender while another message 108 uses an icon to represent an emotion (e.g., that the user is tired) and is absent any text (often referred to as “emoticons”). The user of the device 100 first sends a reply message 114 that similarly uses an icon to convey an emotion. The sender that initiated the text message exchange then sends a message 116 that includes textual content that employs the stylistic brand features associated with the Reese's Peanut Butter Cup of the Hershey Company (of Hershey Pa.). Through the use of the brand's style, multiple messages may be conveyed by the single text message 116. For example, along with the message provided by the textual content (e.g., asking if the other user is hungry), the message 116 can also be suggesting a food of interest. By using this brand style, the message 116 can be considered as advertising the brand (e.g., Reese's Peanut Butter Cups) based on instructions from the message creator (e.g., the brand style is user-selected for message creation). Further, embedded within the message, the brand is more likely to be noticed by the users compared to brand information (or advertisement material) being presented outside of the message listing (e.g., banner advertisements located on the periphery of the listing).
These stylistic features can provide various types of information to a viewer; for example pictures, video, etc. types of stylistic features can provide style information associated with the imagery of a brand. One or more particular fonts associated with the brand can be a stylistic feature that provides visual style information of the brand to a viewer. A jingle, audible slogan, etc., or other similar stylistic feature (provided by one or more files, etc.) can provide audible stylistic information to a viewer. In this example, style features are associated with a particular product of a brand owner, however other sources may provide such stylistic features. For example, various types of entities associated with products, services, etc. may provide a brand style. Stylistic features may also be developed by individuals not associated with a product or service and may simply develop as stylistic effects on their own. By allowing text messaging users to somewhat control the distribution of brand information, brand knowledge may be distributed among large numbers of text message users (e.g., by being circulated rapidly over the Internet) and potentially advertise the brand in a viral manner compared to conventional advertisement campaigns.
Along with the brand style, other information may be conveyed through the use of such styles. For example, locations associated with brands may be subliminally suggested by the appearance of the brand style. With reference to the illustrated example, the sender and/or recipient of the text message 116 may associate a particular location (e.g., candy store, ice cream shop, etc.) with the presented brand. Along with reducing the effects of banner-blindness, smaller displays (e.g., of mobile devices) may be better suited for presenting the brand styles within messages compared to other locations of the display (which may not be easily readable by the user of a mobile device). With user interaction needed (e.g., to select a brand style for embedding), users are given an option whether to “opt in” or “opt out” of allowing such style information to take part in text messaging conversations.
Referring to
Along with creating text messages for delivery and presenting received text messages, the text messenger 200 may provide other functionality for using styles, such as brand styles, with text messaging. For example, multiple styles may be stored (in memory) and managed by the text messenger 200. From a received message (that includes style information), other messages may be created that use the style information (e.g., style features may be stored and later retrieved to create a new message that employs some or all of the features). Along with allowed styles to be created, edited, deleted, stored, etc., the text messenger 200 may request style information, style features (e.g., fonts, graphics) etc., as needed. For example, style information, style features, etc. may be requested from external sources and stored on the user device (and retrieved as needed to prepare a message). One or more techniques and methodologies may be implemented for attaining such information. For example, font information may be provided in an incremental manner (e.g., as font characters are needed) from one or more locations (e.g., remotely located servers) using transfer techniques as described in “Font Data Streaming”, U.S. patent application Ser. No. 12/457,792 filed on Jun. 22, 2009, the entire contents of which are hereby incorporated by reference.
Along with the ability to download font information along with other types of style information, the smartphone 100 may also execute operations to provide style information to other devices, locations, etc. For example, upon creating style information that may be embedded into a text message, data may be uploaded to other locations for various activities such as storing the style information, allowing it to be used by other devices for presenting stylized messages, etc. The text messenger 200 may also interact with one or more applications being executed by the smartphone. Through such interactions, the text messenger can exchange data with the application (e.g., for using the data with a stylized text message). The execution of an application (e.g., application 204) can also be initiated through operations of the text messenger 200. In some arrangements, the text messenger 200 may produce a stylized message that includes objects (e.g., radio buttons, links, etc.) that allow viewers of the message to initiate the execution of an application located on the viewing device (e.g., a smartphone) or other device (e.g., a remotely located server in communication with a viewing device).
Referring to
Referring briefly to
Returning to
To convey a text message that includes style information to a recipient device (or multiple devices), one or more techniques may be employed. For example, the text message 302 may include data (e.g., links) for accessing appropriate style information being stored at the publisher 308 and potentially at other locations (e.g., links included in the message provide access to fonts stored at the font service provider 312). Upon receiving the text message 302, operations can be executed by the recipient device to request needed style information (e.g., immutable style information, style features, etc. associated with a brand). For example, by using a link included in the received message, one or more files containing style information 320 can be sent to the recipient device (e.g., the smartphone 304) for presenting the contents of the text message 302. Similarly, font information may be provided in one or more files 322 to the recipient device (e.g., as initiated by links included in the text message). To appropriately control the distribution of style information, a style manager 324 is executed by a server 326 that is located at the publisher 308 (although the functionality of the style manager may be distributed across multiple locations in some arrangements). The style manager 324 may manage the style information (e.g., immutable style information, style features, etc.) for multiple brands. In managing the information, the style manager 324 may also apply conditions for allowing the information to be accessed. For example, conditions may include rules that grant access for a period of time, based on a subscription being valid, based upon one or more particular products or services being purchased, etc. As illustrated in the figure, style information 328 (which can be included in the file 320) is stored at the publisher 308 and is accessible by the server 326. Other architectures may be implemented for storing style information; for example, all of the information, portions of it, etc. can be stored at locations external to the publisher 308 (e.g., in a cloud-based architecture accessible by the publisher 308). In some instances, additional content may be provided with the style information (e.g., based upon the text message received at the recipient device) such as imagery, video, audio, etc. As illustrated in the figure, such content 330 may be stored at the publisher 308, however, the content may be stored at one or more other locations (e.g., in a distributed manner), such as multiple locations that include the publisher 308. In some arrangements, content delivery to a user device (or other type of recipient) may initiate the sending of style information (e.g., immutable style information, style features, etc.).
As illustrated in
In a typical text messaging interaction, a text message is created by one device (e.g., the smartphone 100) and is sent via a file (e.g., text message 302) to a recipient device (e.g., the smartphone 304) over one or more networks (e.g., the Internet 306, a wireless network, SMS systems, etc.). To create a message, style information which has been previously requested from and provided by the publisher 308 is selected for use by the operator of the device. Upon receipt of the message, operations are executed by the recipient device to prepare and present the stylized message; for example, style information is requested and received from the publisher 308 and corresponding font information included in the style information is requested and received from the font service provider 312. In some instances the style information may already be present at the recipient device, thereby removing the need to request the information from the publisher 308. In some arrangements, based upon the style information received, operations may be executed at the device to determine (e.g., estimate, speculate, etc.) other font information that may be needed in the near future. For example, an agent executed at the recipient device may monitor the data present at the device for presenting particular characters of a font. Based upon the characters present, the agent may determine which characters would soon likely be needed. For example, rules may be checked (e.g., is the most used character, “e”, present for this font?) to identify one or more characters to request from the font service provider 312. Such subsetting and incremental subsetting techniques are described in “Network Based Font Management for Imaging Devices”, U.S. patent application Ser. No. 13/692,593 filed on Dec. 3, 2012, the entire contents of which are hereby incorporated by reference. Similarly, agent actions may be used for requesting other types of style information, for example, based upon the types of styles previously selected by a user (e.g., a style associated with particular brands) the agent may identify similar styles and accordingly send a request (or requests) to the publisher 308. Upon receiving the text message file 302, the recipient device can interrogate the file and appropriately request style information as needed (e.g., one or more font characters from the font service provider 312, style information from the publisher 308, etc.). In some instances subsets of information (e.g., font characters) in an incremental manner to complement previously received data (and reduce redundant transmissions).
Software agents (e.g., as illustrated in
In some arrangements, predictive operations may be executed at one or more locations to identify style information in advance of need. For example, upon a series of messages being exchanged between two or more user devices, predictive operations (e.g., executed by the publisher 308, the font service provider 312, etc.) can identify future needs such as graphics, fonts, font characters, font subsets, etc. Such predictive operations may utilize style information present at one or more of the devices. For example the presence of fonts, font characters, etc. may be monitored at each user device to predict style information that may be soon needed (e.g., font characters to complete a font set). In some instances, predictive operations may be executed using the message content exchanged (e.g., identify font characters already present at a user device from messages and provide characters not yet used in a message, incrementally send font characters based on previously used characters, etc.), or predictions may be made independent of message content (e.g., send font characters that have a historically high frequency of use, etc.). Similar methodologies may also be utilized.
In some arrangements, the style information sources may also execute operations to determine the data that should be provided to a user device (e.g., smartphone 100). For example, the style manager 324 executed at the publisher 308 may monitor brand styles present and accordingly send style information. The font service provider 312 may perform similar operations by monitoring the fonts, font characters, etc., present at a user device (e.g., the smartphone 100). For example, the font service manager 316 may determine that a certain percentage of font characters (e.g., 90%) are present at a user device and initiate the transmission of the remaining 10% to complete the font set (without any request being sent from the device). The font service provider 312, a software agent (being executed at a user device), etc. operating alone or in concert may determine the fonts, font characters, etc. being supported by the user device and appropriate initiate transmission of lacking fonts, font characters, etc. if one or more thresholds are broached.
While style information may be provided to user devices in order to properly present text messages, such style information may also be provided for other types of content presenting applications. For example, content 330 stored at the publisher may be sent (e.g., broadcast) to one or more devices and include style information as needed for presenting the content. For instance, content may be sent in a sequence of data packets (e.g., a data stream) to present content, such as video, audio, graphics, etc., to an viewer (of a user device). Style information may be incorporated into the sequence of content packets to enhance the content presentation. Such style information may also be selected for downloading from the publisher 308, the font service provider 312, etc. For example, prior to preparing a text message, a user may interact with an interface of the text messenger 200 (or another application) in order to select one or more styles (associated with one or multiple brands) and initiate the downloading of the corresponding style information to the user device (e.g., smartphone 100). Such interactions may initiate a request being sent to the font service provider 312 for appropriately downloading one or more fonts as determined from the user selections. Similar to using an interface provided by the text messenger 200 to select a style for downloading, other vehicles may be utilized for style selection. For example, upon receiving and presenting a stylized message on a recipient device (e.g., smartphone 304), a user can interact with the message to initiate the downloading of the style. For the situation in which the style information is downloaded for presenting the message (as initiated by a link included in the stylized text message), user interaction with the message may result in the style information being installed (e.g., stored) on the device for local operations (e.g., creating a message that is infused in this style).
By downloading different styles and related information, a style library may be initiated, grown and shared with others. For example, by sending a text message that employs a particular style (e.g., associated with product or service brand), the recipient may be encouraged to request the style for themselves and propagate the style to still more users (e.g., by sending individual messages, broadcasting messages to many users, etc.). Along with collecting different style types through use, operations of the text messenger 200, the publisher 308, etc. may assist with developing such style libraries. For example, the text messenger 200, an agent, etc. executed by the smartphone may monitor the locally residing styles and may recommend additional styles that may be downloaded from the publisher 308 or from other sources. Recommendations may also be based upon other information such as characteristics, demographics, geographic location, etc. of the user (e.g., based upon one or more user profiles stored at the device, publisher 308, etc.). Along with assisting the requesting of styles, the text messenger 200 may also perform library functions such as deleting, moving, manipulating style information, stylistic features, etc. locally stored at the device. As such, libraries of immutable style information, style features, etc. may be developed and used to access such brand-related information for use in text messages. Such functionality may also be utilized for architectures in which the style information is stored by using one or more remotely located computing devices (e.g., servers) such as in a cloud computing system.
Along with providing style information to user devices and other types of computing devices, the publisher 308 interacts with style owners (and/or their agents) to collect information representative of the style (e.g., graphics, video, audio, color templates, etc.). Additionally, the brand owner 310 may provide other information to the publisher 308 that is associated with the use of this style information. For example, conditions can be provided to control user access to style information (e.g., immutable style information, style features, etc.). For example, one or more restrictions may control access based upon factors such as user characteristics (e.g., age, user profile information, etc.), periods of time (e.g., an access period), geography (e.g., restrict use to particular regions), one or more business rules (e.g., check for a valid and active subscription, etc.), device capabilities (e.g., user device model, display size and resolution, etc.). Conditions may also include temporal aspects; for example, users may be granted access to style information associated with a product that is marketed over a particular time period (e.g., the run up period until a motion picture is released, the period the motion picture is in theaters, the season of a television series, etc.). Similar to restrictions, incentives may be used.
One or more techniques may be utilized for interacting with style owners (and/or their agents) for exchanging such information with publishers. For example, various types of editors, interfaces, wizards, software suites etc. may be utilized to assist with providing, selecting, etc. graphics, such as colors, imagery, video, audio, fonts and other types of stylistic features. Typically the style owners interact primarily with the publishers, however, in some arrangements the information may be exchanged with other entities (e.g., the font service provider 312) for preparing style information that may be accessible by end users. Along with providing information (e.g., selecting graphics and fonts), the style owners may also receive information from the environment 300. For example, as style information is employed in text messages, feedback data may be provided to the style owners for monitoring use and further analysis (e.g., determine if the brand is gaining traction in a marketplace, with a particular type of user, etc.). Such feedback (e.g., text message sender identification, recipient identification, etc.) may first be received by the publisher 308, font service provider 312, etc. and then forwarded to the style owner for potentially processing prior to delivery. In other arrangements, feedback data may be directly received by the style owners from end users (e.g., provided from smartphone 100 and 304). For example, agents being executed by user devices may collect and provide use data to the style owners. Operations associated with delivering and presenting text messages may initiate the sending of feedback information to the style owner. For example, when a recipient user device (e.g., smartphone 304) requests information from the publisher 308 and/or the font service provider 312, feedback information (e.g., an indication that the style is being used) may be provided to the style owner (or an agent of the style owner). Upon receiving this information, further analysis may be executed, for example; adjustments to style information may be initiated based upon user feedback. In some instances such feedback may assist with finalizing selections of style features. For example, different types of styles may be provided to a variety of users and based upon their feedback, particular feature variants may be selected for branding use by the style owner. Feedback may also assist with distributing style information; for example, based upon the feedback provided to the publisher 308 and/or the style owner 310, adjustments (e.g., restrictions) may be applied to the distribution of the style information (e.g., targeting particular user types for allowing access to the style information, identifying particular geographical regions, etc.).
Along with interacting with style owners (and potentially their agents), publishers, such as publisher 308, may use one or more techniques for providing style information to the user devices in need, that have requested the information, etc. For example, upon receiving a text message, the recipient user device (smartphone 304) may interact with the publisher (e.g., via a link in the text message) to request and retrieve needed information. Similarly, the text message may include information for the recipient user device to interact with the font service provider 312 (e.g., for retrieving one or more needed fonts, font characters, character subsets, etc., for presenting the content of the text message). The publisher 308 can also manage the resident style information 328 (e.g., that is locally stored). For example, as the style owner provides updated data (e.g., different graphics, use time periods, restrictive conditions, etc.), the style information 328 stored at the publisher 308 can be correspondingly updated (e.g., appended, added to, deleted, etc.) by the style manager 324. Various events may trigger updating; for example, feedback information regarding a brand, style information, style features, etc. may be received (e.g., by a brand/style owner) that contributes to having a brand updated (e.g., update/create new style information, style features, etc. associated with the brand). The feedback may be provided by one or more entities, for example, end users (via their devices), publishers, and other potential information sources. Such information may also be provided to other entities internal to the environment (e.g., the font service provider 312) or external to the environment. The publisher 308 may also manage data associated with users; for example, subscriptions for being allowed access to the stored style information may be managed (e.g., checked for valid subscriptions, request subscriptions renewals, etc.).
Interactions with the publisher 308 may also include exchanging data with the font service provider 312. For example, font information stored at the font service provider 312 may be updated as new materials (e.g., adjustments to font characters) become available (e.g., from font developers, etc.). However, information may also be sent to the font service provider (e.g., at a style owner's request) to adjust a font. In some instances, the update request may be sent from the publisher to the font service provider upon indication that style information is being used (e.g., a request from a user device is received at the publisher for the corresponding style information). Such update requests to the font service provider 312 can be initiated by the style manager 324, for communicating with the font service manager 316, both of which can be implemented in software, hardware, or a combination of software and hardware. Similar to the publisher and/or style owner, the font service provider may also receive feedback information based upon the exchanging of stylized text messages. For example, font characters and font character subsetting needs may be determined from information provided to the font service provider 312. Based upon the received information, the font service provider can determine and provide the needed font characters, character subsets, etc. to a user device. Feedback information may be provided to the font service provider 312 from one or more entities; for example, the publisher 308, the style owner (or agent of a style owner) 310, individual user devices, etc. may provide feedback individually or in one or more combinations. Font usage information can be of particular interest to the font service provider 312. Along with determining which fonts are used frequently, less frequently used fonts can be identified; usage trends and estimates can be calculated, etc. Such information can be useful in decisions about allowing access to fonts (e.g., setting subscription rates, etc.). In some arrangements, fonts can reside at the publisher 308 (rather than at the font service provider 312) and correspondingly font requests from user devices can be directed to the publisher. To attain usage information, feedback from the publisher 308 to the font service provider 312 would be needed. Such feedback regarding font usage (e.g., request for individual fonts, etc.) can assist the font service provider 312 in making determinations (e.g., providing similar fonts for availability, removing fonts from availability, adjusting subscription rates, etc.). The font service provider 312 may perform additional operations such as speculating which font sets, font characters, character subsets, etc. may be needed in the future based upon previously provided data and correspondingly send relevant data based upon these speculations. For example, if a relatively small portion of characters (e.g., less than 10%) are needed to complete a font set, the font service manager 316 may initiate the transmission of these remaining characters. In some arrangements, such proactive (or eager) loading techniques may be implemented, or alternatively techniques may be implemented that defer taking action until data is needed (e.g., lazy loading techniques).
Along with being capable of using different types of files and employing different types of data transmission techniques for exchanging text messages among the devices within the environment 300, various transmission techniques may be used for exchanging style information, font information, etc. For example, cloud architectures, distributed processing techniques, etc. can be implemented within the environment.
Referring to
While this example code listing includes explicit code instructions for some parameters and other instructions that provide information through links, in some arrangements the instructions may be reduced by having just a few instructions (or event one) that provide a link (or other type of identifier) to invoke the gathering of the style information and text content for presentation. While this style information may be provided by one source (e.g., a single publisher), multiple sources may be employed (e.g., a publisher, a font service provider, a brand owner, multiple publishers, etc.) to attain the style information. Information sources may also be located at the user device; for example, one or more applications (e.g., mobile applications) executed by the user device may be utilized for attaining style information. In some instances, instructions provided by a text message may even initiate the execution of a local (or remote) application for gathering information for use in presenting the text message. For example, applications associated with e-commerce, audio and/or video playback, and other types of applications may be executed to assist information collection. Similar to accessing style information at different sources, using different access techniques, etc.; different types of style information may be included in a text message based upon the viewer, the viewer device, etc. For example, different style information may be presented if the viewer is a new purchaser (of a product or service), a previous customer, etc. Data provided by viewer profiles and user device capabilities may also drive the type of style information presented (e.g., a viewer who resides at a particular region of interest to a brand owner may be provided more multimedia content in a test message compared to other regions).
As represented in the sample text message 500, a portion of the presented information can be considered immutable while another portion of the information is mutable. To consistently present the stylistic information associated with the brand (e.g., colors, graphics, audio, etc.), the brand related information can be immutable and end users (e.g., that provide textual content to a message, a message recipient, etc.) are typically unable to change any of the immutable stylistic information. For example, stylistic features such as graphics associated with a brand logo, colors, font, etc. and other brand related features (e.g., a file containing an audio jingle for the brand, etc.) are generally immutable and cannot be adjusted by an end user. The mutable information provided with the message can be considered as content from an end user (e.g., the individual that creates the text message, replies to a message, forwards a message to others, etc.). For example, the textual content of the message can be created, edited, deleted, etc. by such an individual. As illustrated in the figure, the text content 502 (e.g., “What Say buddy? Are you up for it;)”) is mutable and can be adjusted as determined by an end user. Similar to immutable stylistic information and related features not being adjustable (e.g., an end user cannot change the presented brand name from “Carlsberg” to “Karlsberg”), other types of stylistic features and related data are immutable and cannot be adjusted by an end user. For example, one or more files (e.g., the graphic file storing the brand logo graphic, the audio file containing a brand jiggle, etc.) are generally immutable from being adjusted by an end user, end user device, etc. Correspondingly, files and other types of structures associated with the mutable portion of a text message (e.g., user created textual content, a user inserted image, photograph, data representing text that is stored in a file etc.) can be adjusted. Having an immutable portion and a mutable portion, the structure or structures (e.g., a file or files) that store the text message can be considered to have a fixed portion and a variable portion. Further, the variable portion can be modularized so that different content types can be embedded into a message. For example, one or more XML files used to define a text message and may include different modules depending upon the end user-provided content to be presented by the text message. For one message, a module (e.g., structure) may be included to store textual content to be presented by the message. In another message, an imagery module may be included in the file (or files) to present imagery (e.g., a picture, video, etc.) as message content, as determined by an end user. In still another example, the end user may be interested in providing audio to a message recipient (or recipients) and a module may be included in the file (or files) to provide an audio file, a link to an audio file, etc. Other techniques may similarly be employed to provide a fixed structure (or structures) to provide immutable information associated with a brand and flexible structures to provide mutable information (e.g., that can be created, adjusted, etc.) that may be related or unrelated to the immutable information.
Referring to
To assist with viewing the presented text, one or more areas clear of text may be included in the template; for example, one area 606 provides a padding area for the presented text and another area 608 defines a boundary for the message template 600 (e.g., to allow for selection by a pointing device). In one arrangement, the padding area 606 may be on the order of 12 pixels wide while the area 608 may be 10 pixels wide. The first text area 602 may be approximately 340 pixels in the horizontal direction and 120 pixels in the vertical direction. The second text area may be 340 pixels in the horizontal direction and 340 pixels in the vertical direction.
Along with providing content for presenting to a message viewer, other types of functionality may be provided. Viewers can interact with the messages in some instances. For example, links to resources (e.g., URL of an entity whose brand is presented in the message) may be presented in a message and selected through view interactions (e.g., selecting with a pointing device). In some arrangements applications, processes, etc. may be executed by the user device (e.g., smartphone) to assist with presenting the resource (e.g., a web browser may be executed upon the URL being selected). In some arrangements, default applications may be executed to perform the operations. A viewer may indicate their interest in a resource (e.g., by selecting to bookmark the resource) through interactions with the message. Different types of interactions may also be indicative of different operations to be executed. For example, brief interaction with a display, button, etc. (e.g., a “short press” or “short tap”) may indicate certain operations (e.g., highlight content for selection) while a relatively longer interaction with the display, button, etc. (e.g., a “long press”)—lasting for a second or two, for example, may indicate other operations (e.g., copy, paste, delete, etc.). In some arrangements, such interactions may redirect the viewer to other content (e.g., an application installation screen, an account/password entry screen, an age verification screen, etc.) that calls for further interactions prior to presented content of interest. Information may also be provided to viewers, message creators, etc. without interactions with the user computing device. For example, various type of notifications can be provided (e.g., via messages, graphics, audio alerts, etc.) to indicate one or more conditions to the user. Indications may be provided that represent that a device is online (e.g., having an established network connection), is off line (e.g., a network connection is not active), etc. Notifications may also indicate the status of messages and such notification can change as the message status changes (e.g., one indication for the arrival of a new message, another indication of the message being read, etc.).
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Along with management and use of selectable style information, functionality may be provided in an interface for selecting style information for downloading and local storage (for later retrieval and use). As shown in the figure, another interface 1422 is presented that illustrates selecting style information from a message (included in a string of exchanged messages 1424). In this instance, a stylized message 1426 is received by the user device and appropriately presented with alignment to the right side of the interface (to indicate the message has been received from the other individual taking part in the message exchange). As shown with a graphic 1428, the user may select the particular style for local storing (for later use to create messages). For example, the user may click with a pointing device on the message and the appropriate data would be requested from a publisher (or other source) for local storage. Once downloaded, the style information may be presented for use; for example, a sample message 1430, which employs the style information, may be inserted into a listing of other locally available styles.
Referring
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Operations of the style manager may include receiving 1902, at a publisher, a request from a user device for immutable style information of a brand to present a text message on the user device. The immutable style information of the brand is provided to the publisher by an owner of the immutable style information of the brand or an agent of the owner. For example, stylistic information may be used for presenting a message similar to the message 500 shown in
Computing device 2000 includes processor 2002, memory 2004, storage device 2006, high-speed interface 2008 connecting to memory 2004 and high-speed expansion ports 2010, and low speed interface 2012 connecting to low speed bus 2014 and storage device 2006. Each of components 2002, 2004, 2006, 2008, 2010, and 2012, are interconnected using various busses, and can be mounted on a common motherboard or in other manners as appropriate. Processor 2002 can process instructions for execution within computing device 2000, including instructions stored in memory 2004 or on storage device 2006 to display graphical data for a GUI on an external input/output device, including, e.g., display 2016 coupled to high speed interface 2008. In other implementations, multiple processors and/or multiple busses can be used, as appropriate, along with multiple memories and types of memory. Also, multiple computing devices 2000 can be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system).
Memory 2004 stores data within computing device 2000. In one implementation, memory 2004 is a volatile memory unit or units. In another implementation, memory 2004 is a non-volatile memory unit or units. Memory 2004 also can be another form of computer-readable medium (e.g., a magnetic or optical disk. Memory 2004 may be non-transitory.)
Storage device 2006 is capable of providing mass storage for computing device 2000. In one implementation, storage device 2006 can be or contain a computer-readable medium (e.g., a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state memory device, or an array of devices, such as devices in a storage area network or other configurations.) A computer program product can be tangibly embodied in a data carrier. The computer program product also can contain instructions that, when executed, perform one or more methods (e.g., those described above.) The data carrier is a computer- or machine-readable medium, (e.g., memory 2004, storage device 2006, memory on processor 2002, and the like.)
High-speed controller 2008 manages bandwidth-intensive operations for computing device 2000, while low speed controller 2012 manages lower bandwidth-intensive operations. Such allocation of functions is an example only. In one implementation, high-speed controller 2008 is coupled to memory 2004, display 2016 (e.g., through a graphics processor or accelerator), and to high-speed expansion ports 2010, which can accept various expansion cards (not shown). In the implementation, low-speed controller 2012 is coupled to storage device 2006 and low-speed expansion port 2014. The low-speed expansion port, which can include various communication ports (e.g., USB, Bluetooth®, Ethernet, wireless Ethernet), can be coupled to one or more input/output devices, (e.g., a keyboard, a pointing device, a scanner, or a networking device including a switch or router, e.g., through a network adapter.)
Computing device 2000 can be implemented in a number of different forms, as shown in the figure. For example, it can be implemented as standard server 2020, or multiple times in a group of such servers. It also can be implemented as part of rack server system 2024. In addition or as an alternative, it can be implemented in a personal computer (e.g., laptop computer 2022.) In some examples, components from computing device 2000 can be combined with other components in a mobile device (not shown), e.g., device 2050. Each of such devices can contain one or more of computing device 2000, 2050, and an entire system can be made up of multiple computing devices 2000, 2050 communicating with each other.
Computing device 2050 includes processor 2052, memory 2064, an input/output device (e.g., display 2054, communication interface 2066, and transceiver 2068) among other components. Device 2050 also can be provided with a storage device, (e.g., a microdrive or other device) to provide additional storage. Each of components 2050, 2052, 2064, 2054, 2066, and 2068, are interconnected using various buses, and several of the components can be mounted on a common motherboard or in other manners as appropriate.
Processor 2052 can execute instructions within computing device 2050, including instructions stored in memory 2064. The processor can be implemented as a chipset of chips that include separate and multiple analog and digital processors. The processor can provide, for example, for coordination of the other components of device 2050, e.g., control of user interfaces, applications run by device 2050, and wireless communication by device 2050.
Processor 2052 can communicate with a user through control interface 2058 and display interface 2056 coupled to display 2054. Display 2054 can be, for example, a TFT LCD (Thin-Film-Transistor Liquid Crystal Display) or an OLED (Organic Light Emitting Diode) display, or other appropriate display technology. Display interface 2056 can comprise appropriate circuitry for driving display 2054 to present graphical and other data to a user. Control interface 2058 can receive commands from a user and convert them for submission to processor 2052. In addition, external interface 2062 can communicate with processor 2042, so as to enable near area communication of device 2050 with other devices. External interface 2062 can provide, for example, for wired communication in some implementations, or for wireless communication in other implementations, and multiple interfaces also can be used.
Memory 2064 stores data within computing device 2050. Memory 2064 can be implemented as one or more of a computer-readable medium or media, a volatile memory unit or units, or a non-volatile memory unit or units. Expansion memory 2074 also can be provided and connected to device 2050 through expansion interface 2072, which can include, for example, a SIMM (Single In Line Memory Module) card interface. Such expansion memory 2074 can provide extra storage space for device 2050, or also can store applications or other data for device 2050. Specifically, expansion memory 2074 can include instructions to carry out or supplement the processes described above, and can include secure data also. Thus, for example, expansion memory 2074 can be provided as a security module for device 2050, and can be programmed with instructions that permit secure use of device 2050. In addition, secure applications can be provided through the SIMM cards, along with additional data, (e.g., placing identifying data on the SIMM card in a non-hackable manner.)
The memory can include, for example, flash memory and/or NVRAM memory, as discussed below. In one implementation, a computer program product is tangibly embodied in a data carrier. The computer program product contains instructions that, when executed, perform one or more methods, e.g., those described above. The data carrier is a computer- or machine-readable medium (e.g., memory 2064, expansion memory 2074, and/or memory on processor 2052), which can be received, for example, over transceiver 2068 or external interface 2062.
Device 2050 can communicate wirelessly through communication interface 2066, which can include digital signal processing circuitry where necessary. Communication interface 2066 can provide for communications under various modes or protocols (e.g., GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others.) Such communication can occur, for example, through radio-frequency transceiver 2068. In addition, short-range communication can occur, e.g., using a Bluetooth®, WiFi, or other such transceiver (not shown). In addition, GPS (Global Positioning System) receiver module 2070 can provide additional navigation- and location-related wireless data to device 2050, which can be used as appropriate by applications running on device 2050. Sensors and modules such as cameras, microphones, compasses, accelerators (for orientation sensing), etc. may be included in the device.
Device 2050 also can communicate audibly using audio codec 2060, which can receive spoken data from a user and convert it to usable digital data. Audio codec 2060 can likewise generate audible sound for a user, (e.g., through a speaker in a handset of device 2050.) Such sound can include sound from voice telephone calls, can include recorded sound (e.g., voice messages, music files, and the like) and also can include sound generated by applications operating on device 2050.
Computing device 2050 can be implemented in a number of different forms, as shown in the figure. For example, it can be implemented as cellular telephone 1480. It also can be implemented as part of smartphone 2082, a personal digital assistant, or other similar mobile device.
Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor. The programmable processor can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the terms machine-readable medium and computer-readable medium refer to a computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a device for displaying data to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor), and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be a form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in a form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a backend component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a frontend component (e.g., a client computer having a user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or a combination of such back end, middleware, or frontend components. The components of the system can be interconnected by a form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
In some implementations, the engines described herein can be separated, combined or incorporated into a single or combined engine. The engines depicted in the figures are not intended to limit the systems described here to the software architectures shown in the figures.
A number of embodiments have been described. Nevertheless, it will be understood that various modifications can be made without departing from the spirit and scope of the processes and techniques described herein. In addition, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other steps can be provided, or steps can be eliminated, from the described flows, and other components can be added to, or removed from, the described systems. Accordingly, other embodiments are within the scope of the following claims.
This application claims benefit of priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application Ser. No. 62/055,365 filed on Sep. 25, 2014, the entire contents of which are hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
62055365 | Sep 2014 | US |