The present application generally describes messaging, and more particularly to applying transformations to messages within message conversations.
With the growth of the Internet and wireless communication technologies, mobile messaging, such as texting and instant messaging (e.g., chatting) have become a ubiquitous form of communication. As mobile messaging has grown, new features have been developed to enhance the messaging experience. For example, users can send emoji, share photos and videos, send an audio message, and/or send a virtual sticker. However, these experience-enhancing features have mostly left the body text of the messages undisturbed. Features targeted to the message body text opens up new avenues of enhancement and revitalization of the messaging experience.
Systems and methods are provided for displaying a graphical input stream comprising a plurality of keys, a first subset of which is a character set source and a second subset of which provides a message effect source. A first user input from the character set source forms an original multi-word message that is displayed in a message area. A second user input from the message effect source applies a corresponding message effect to the entire multi-word message (e.g., converting the entire message to a hashtag) thereby forming a transformed representation. The multi-word message displayed in the message area is replaced with the transformed representation. In some embodiments, upon receipt of a third user input to transmit the contents of the message area, the original multi-word message and an indication of the message effect is transmitted (e.g., to a remote recipient device). In some embodiments, upon receipt of a third user input to transmit the contents of the message area, the transformed representation is transmitted.
In accordance with some implementations, a method is provided that comprises, at an electronic device with a display and an input device, displaying a graphical input stream comprising a plurality of keys. The plurality of keys comprises a first subset of keys that collectively provide a character set source. Each respective key in the first subset of keys corresponds to a key in the character set. The plurality of keys comprises a second subset of keys that collectively provide a message effect source. Each respective key in the second subset of keys represents a unique message effect in a plurality of message effects. The first and second subset of keys is displayed concurrently in the graphical input stream. A message area is also displayed. A first user input is received from the character set source. The first user input forms an original multi-word message. Each respective character of the original multi-word message is displayed in the message area as the respective character is inputted. A second user input from the message effect source specifies a message effect in the plurality of message effects. Responsive to receiving the second user input, the message effect is applied to the entire multi-word message thereby forming a transformed representation of the multi-word message. The multi-word message displayed in the message area is replaced with the transformed representation of the multi-word message. A third user input to transmit the contents of the message area is received. In response, the original multi-word message and an indication of the message effect is transmitted.
In some embodiments, the transmitting further comprises sending formatting instructions for (i) displaying the transformed representation of the multi-word message on a receiving device, and (ii) in response to a user input with respect to the transformed representation at the receiving device, transiently replacing the displayed transformed representation with a display of the original multi-word message for a time period (e.g., five minutes or less, one minute or less, 30 seconds or less, 10 seconds or less, or 1 second or less), and without further user intervention, upon completion of the time period, restoring display of the transformed representation on the receiving device. In some such embodiments, the transformed representation comprises a plurality of characters found in the original multi-word text in a scrambled order relative to their order in the original multi-word text, and the transiently replacing comprises displaying an animation of the plurality of characters moving into place and re-forming the words of the original multi-word message.
In some embodiments, the graphical input stream further includes a source of emojis, Unicode symbols, emoticons, icons or logos. In some embodiments, the message effect comprises a character order transformation that changes the character order of each word in the original multi-word message to form the transformed representation of the multi-word message.
In some embodiments, the message effect comprises application of an obscuring graphic over the original multi-word text to form the transformed representation of the multi-word message.
In some embodiments, the message effect comprises a word order transformation that changes the word order of the original multi-word message to form the transformed representation of the multi-word message.
In some embodiments, the message effect comprises a character order transformation that changes the character order of each word in the original multi-word message and adds one or more characters to each word in the original multi-word message to form the transformed representation of the multi-word message.
In some embodiments, the message effect comprises a word order transformation that removes one or more words from the multi-word message to form the transformed representation of the multi-word message. In some embodiments, the words excluded from the transformed representation comprise one or more words that satisfy one or more predefined word exclusion criteria.
In some embodiments, the representation comprises, for each respective word of the original multi-word message, one or more of (i) the respective word and one or more additional characters, (ii) the respective word with one or more characters substituted, and, (iii) the respective word with one or more characters removed.
In some embodiments, the transformed representation comprises a character spacing transformation that increases the character spacing in the original multi-word message to form the transformed representation of the multi-word message.
In some embodiments, the message effect comprises a hashtag transformation that converts the multi-word message to a hashtag.
Another aspect of the present disclosure provides a method comprising, at a first electronic device with a display and an input device, displaying a graphical input stream comprising a plurality of keys. The plurality of keys comprises a first subset of keys that collectively provide a character set source. Each respective key in the first subset of keys corresponds to a key in the character set. The plurality of keys comprises a second subset of keys that collectively provide a message effect source. Each respective key in the second subset of keys represents a unique message effect in a plurality of message effects. The first subset of keys and the second subset of keys are displayed concurrently in the graphical input stream. In the method, a message area is displayed. Further, in the method, a first user input from the character set source is received. The user input forms an original multi-word message. The receiving further comprises displaying each respective character of the original multi-word message in the message area as the respective character is inputted. In the method, a second user input from the message effect source is received. The second user input specifies a message effect in the plurality of message effects. The message effect is a hashtag key. In the method, responsive to receiving the second user input, the message effect is applied to the entire multi-word message thereby forming a transformed representation of the original multi-word message. The transforming converts the multi-word message to a hashtag. The multi-word message displayed in the message area is then replaced by the hashtag. A third user input to transmit the contents of the message area is received. In response to receiving the third user input to transmit the contents of the message area, the hashtag is transmitted (e.g., a remote device).
Another aspect of the present disclosure provides an electronic device comprising a display, one or more processors, memory, and one or more programs running on the one or more processors. The one or more programs comprise instructions for displaying a graphical input stream comprising a plurality of keys on the display. The plurality of keys comprises a first subset of keys that collectively provide a character set source. Each respective key in the first subset of keys corresponds to a key in the character set. The plurality of keys comprises a second subset of keys that collectively provide a message effect source. Each respective key in the second subset of keys represents a unique message effect in a plurality of message effects. The first and second subset of keys is displayed concurrently in the graphical input stream. A message area is displayed on the display. A first user input from the character set source is received. The first user input forms an original multi-word message. The receiving further comprises displaying each respective character of the original multi-word message in the message area as the respective character is inputted. A second user input from the message effect source is received. The second user input specifies a message effect in the plurality of message effects. Responsive to receiving the second user input, the message effect is applied to the entire multi-word message thereby forming a transformed representation of the multi-word message. The multi-word message displayed in the message area is replaced with the transformed representation of the multi-word message. A third user input to transmit the contents of the message area is received. In response to receiving the third user input to transmit the contents of the message area, the original multi-word message and an indication of the message effect is transmitted. In some embodiments, this transmitting further comprises sending formatting instructions for (i) displaying the transformed representation of the multi-word message on a receiving device, and (ii) in response to a user input with respect to the transformed representation at the receiving device, transiently replacing the displayed transformed representation with a display of the original multi-word message for a time period, and without further user intervention, upon completion of the time period, restoring display of the transformed representation on the receiving device. In some embodiments, this time period is (e.g., five minutes or less, one minute or less, 30 seconds or less, 10 seconds or less, or 1 second or less).
Another aspect of the present disclosure provides a non-transitory computer-readable storage medium storing one or more programs. The one or more programs comprise instructions which, when executed by an electronic device with a display and an input device, cause the device to display a graphical input stream comprising a plurality of keys. The plurality of keys comprises a first subset of keys that collectively provide a character set source. Each respective key in the first subset of keys corresponds to a key in the character set. The plurality of keys comprises a second subset of keys that collectively provide a message effect source. Each respective key in the second subset of keys represents a unique message effect in a plurality of message effects. The first subset of keys and the second subset of keys are displayed concurrently in the graphical input stream. The one or more programs further comprise instructions to display a message area. In response to receiving a first user input from the character set source, the first user input forming an original multi-word message, the one or more programs further comprise instructions to display each respective character of the original multi-word message in the message area as the respective character is inputted. Upon receiving a second user input from the message effect source, the second user input specifying a message effect in the plurality of message effects, the one or more programs further comprise instructions to apply the message effect to the entire multi-word message thereby forming a transformed representation of the multi-word message. The one or more programs further comprise instructions to replace the multi-word message displayed in the message area with the transformed representation of the multi-word message. In response to receiving a third user input to transmit the contents of the message area, the one or more programs further comprise instructions to transmit the original multi-word message and an indication of the message effect (e.g., to a remote device). In some embodiments, the transmitting further comprises sending formatting instructions for (i) displaying the transformed representation of the multi-word message on a receiving device, and in response to a user input with respect to the transformed representation at the receiving device, transiently replacing the displayed transformed representation with a display of the original multi-word message for a time period, and without further user intervention, upon completion of the time period, restoring display of the transformed representation on the receiving device.
Another aspect of the present disclosure provides a method of communicating at a server comprising one or more processors, and memory for storing programs to be executed by the one or more processors. The method comprises formatting for display on a source electronic device, a graphical input stream comprising a plurality of keys. The plurality of keys comprises a first subset of keys that collectively provide a character set source for a character set. Each respective key in the first subset of keys corresponds to a key in the character set. The plurality of keys comprises a second subset of keys that collectively provide a message effect source. Each respective key in the second subset of keys represents a unique message effect in a plurality of message effects. The first and second subset of keys is displayed concurrently in the graphical input stream. In the method, there is received, from the source electronic device, (i) an original multi-word message entered by a user through use of the first subset of keys and (ii) an indication of a message effect entered by the user at the source electronic device by selection of a key in the second subset of keys. The message effect is applied to the entire multi-word message thereby forming a transformed representation of the multi-word message. In the method the transformed representation is transmitted to a recipient electronic device indicated by the user. In some embodiments, the source electronic device and/or the recipient electronic device are portable electronic devices. In some embodiments, the message effect comprises a hashtag transformation that converts the multi-word message to a hashtag. In some embodiments, a spell checker operating at the source electronic device or the recipient electronic device ignores the hashtag. In some embodiments, the hashtag is stored at the source electronic device for subsequent use. In some embodiments, the transformed representation is formed at the source electronic device and the server does not receive or transmit the original multi-word message. In some embodiments, the transformed representation is formed at the server and the server does not transmit the original multi-word message. In some embodiments, the transformed representation is formed at the recipient electronic device and the server receives the original multi-word message from the source electronic device and transmits the original multi-word message to the recipient electronic device.
Like reference numerals refer to corresponding parts throughout the drawings.
Reference will now be made in detail to various implementations, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention and the described implementations. However, the invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the implementations.
In some implementations, the client-server environment 100 is a messaging environment, in which client devices 102 can send multi-word messages (e.g., chat messages, text messages, instant messaging messages, email messages) to each other through the server system 106. In some embodiments, a multi-word message includes one or more of: text, hyperlinks, emoji, virtual stickers, image(s), audio, and video. The server system 106 operates a messaging service that facilitates the sending and receiving of multi-word message messages by the client devices 102.
The communication network(s) 104 can be any wired or wireless local area network (LAN) and/or wide area network (WAN), such as an intranet, an extranet, or the Internet. It is sufficient that the communication network 104 provides communication capability between the client devices 102, the server system 106, and optional other devices and systems. In some implementations, the communication network(s) 104 uses the HyperText Transport Protocol (HTTP) to transport information using the Transmission Control Protocol/Internet Protocol (TCP/IP). HTTP permits client devices 102 to access various resources available via the communication network(s) 104. The various implementations described herein, however, are not limited to the use of any particular protocol.
The client-server environment includes multiple client devices 102 (e.g., clients 102-1 thru 102-N in
In some implementations, the client device 102 includes a messaging module 110, and one or more messages 112. The client device 102 stores received and sent multi-word messages 112. The client device 102 is configured to, with user input, manage, input/edit, and present the multi-word messages 112 using the messaging module 110. The client device 102 is configured to send and receive multi-word messages and content to/from other client devices 102 using the messaging module 110. In some implementations, the client device 102 also includes other modules, such as a content sharing module. In some implementations, the messaging module 110 is a client application (e.g., a messaging application).
Multi-word messages sent by a client device 102 are sent to the server system 106, which sends the multi-word messages to respective destination client devices 102. In some implementations, the server system 106 includes a messaging server 114. The messaging server 114 operates a messaging service in which client devices 102 can send and receive multi-word messages to/from each other. The messaging server 114 facilitates connections between client devices 102 for sending and receiving multi-word messages, receiving multi-word messages from client devices 102, sending the multi-word messages and content to destination client devices 102, and maintains user accounts and data with respect to the messaging service. The messaging server 114 also stores, in the server system 106, copies of the messages exchanged by the client devices 102. In some implementations, the servers system 106 operates a social network service, of which the messaging service and the messaging server 114 are parts.
The server system 106 is described herein as a single server computer for sake of convenience and ease of understanding. It should be appreciated, however, that the server system 106 may be implemented as a single server computer or as multiple server computers (e.g., in a distributed server system).
In some implementations, the display device 212 is integrated with the device (e.g., housed in the same chassis as the CPU and memory, such as with a smartphone or an all-in-one desktop computer). In some other implementations, the display device 212 is separate from other components of the client device 102 (e.g., a separate device from the device that houses the CPUs 202 and memory 206, such as with a desktop computer with a “tower” chassis housing the CPU and memory and a separate display device).
In some implementations, the input device(s) 214 include one or more of: a mouse or similar pointing device, a keyboard, a touch-sensitive surface (e.g., a touch pad, a touch-sensitive display), a joystick, and one or more buttons. In some implementations, the display device 212 is a touch screen (e.g., a touch-sensitive display).
In some implementations, the client device 102 includes additional input devices, such as an audio input device (e.g., a microphone). In some implementations, the client device 102 includes an audio output device (e.g., a speaker, headphones).
In some implementations, the client device 102 also includes one or more of: one or more sensors 216 (e.g., accelerometer, magnetometer, proximity sensor, gyroscope), an image capture device 218 (e.g., a camera device or module and related components), and a location module 220 (e.g., a Global Positioning System (GPS) receiver or other navigation or geolocation device and related components).
Memory 206 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and may include non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. Memory 206 may optionally include one or more storage devices remotely located from the CPU(s) 202. Memory 206, or alternatively the non-volatile memory device(s) within memory 206, comprises a non-transitory computer readable storage medium. In some implementations, memory 206 or the computer readable storage medium of memory 206 store the following programs, modules and data structures, or a subset thereof, including operation system 222, network communication module 224, one or more client applications 226, a location module 238, and multi-word messages 112.
The operating system 222 includes procedures for handling various basic system services and for performing hardware dependent tasks, as well as optionally obtaining readings from sensors 216.
The network communication module 224 facilitates communication with other devices and computers (e.g., other client devices 102, server system 106) via the one or more communication network interfaces 208 (wired or wireless) and one or more communication networks 104, such as the Internet, other wide area networks, local area networks, metropolitan area networks, and so on.
The client application(s) 226 perform various operations. In some implementations, the client applications 108 include a messaging module 110. The messaging module 110 is configured to, in conjunction with the messaging service operated by the server system 106, send and receive multi-word messages. The messaging module 110 includes a text input module 228, a message effect module 230, and message management module 232. The text input module is configured to present user interfaces (e.g., graphical user interfaces and input fields) for user input of text for a message and user selection of a message effect, and receiving that user input and user selection. The message effect module 230 is configured to apply a message effect to an entire multi-word message thereby forming a transformed representation of the multi-word message. In some embodiments this includes generating corresponding metadata for the multi-word message. The message effect module 230 is further configured to replace the multi-word message displayed in the message area with the transformed representation of the multi-word message. The message management module 232 is configured to manage multi-word messages 112 in accordance with user direction, including deleting, archiving, and organizing multi-word messages 112.
In some implementations, the location module 238 determines the location of the client device 102 (e.g., using GPS or other similar systems, location identification by IP address, etc.).
The client device 102 stores multi-word messages 112 (e.g., multi-word messages 112-1 and 112-2) sent and received by the messaging module 110. In some implementations, the multi-word messages 112 are a time-limited set or number-limited set of the multi-word messages (e.g., last one months' worth, last two months worth, last 100 messages for each message conversation with a respective user) sent and received by the client device 102; a complete archive or repository of the messages is stored at the server system 106. For a given multi-word message, such as message 112-1, what is stored is the original multi-word input provided by the user and the message effect selected by the user. Typically, this message effect is stored as metadata 242. The message effect metadata indicates whether a message effect is applied to the message (more particularly, the text 240), and a message effect is applied, which message effect is applied. Further details regarding message effects are described below.
Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and each of the modules or programs corresponds to a set of instructions for performing a function described above. The set of instructions can be executed by one or more processors (e.g., the CPUs 202). The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various implementations. In some implementations, memory 206 may store a subset of the modules and data structures identified above. Furthermore, memory 206 may store additional modules and data structures not described above.
Although
The operating system 316 includes procedures for handling various basic system services and for performing hardware dependent tasks.
The network communication module 318 facilitates communication with other devices and computers (e.g., client devices 102) via the one or more communication network interfaces 308 (wired or wireless) and one or more communication networks 104, such as the Internet, other wide area networks, local area networks, metropolitan area networks, and so on.
The messaging server module 114 operates a messaging service and performs operations related to the messaging service. In some implementations, the messaging server module 114 connects client devices 102, receives messages and content from client devices 102 and sends the messages and content to their destination client devices 102, and manages the user data 320 for the messaging service.
User data 320 is the data associated with the users of the messaging service. User data 320 includes user account and profile information (e.g., username, password) (not shown), and, for each user, multi-word messages 322 sent and received by the users. The multi-word messages 322 are a complete archive or repository of the messages sent and received by the client device 102 using the messaging service. For any given multi-word message that includes text, such as message 322-1, the message 322-1 includes the original multi-word message text 324 (analogous to text 240 of message 112-1) and an indication of the message effect to be applied to the original multi-word message 326 (analogous to message effect metadata 242 of message 112-1).
Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and each of the modules or programs corresponds to a set of instructions for performing a function described above. In some embodiments, the set of instructions is executed by one or more processors (e.g., the CPUs 302). The above identified modules or programs need not be implemented as separate software programs, procedures or modules, and thus, in some implementations, various subsets of these modules is combined or otherwise re-arranged. In some implementations, memory 306 stores a subset of the modules and data structures identified above. Furthermore, in some embodiments, memory 306 stores additional modules and data structures not described above.
Although
The user interface 4000-A also includes a graphical input stream (e.g., virtual keyboard) 4006 that includes a plurality of keys including a first subset of keys 4040 that collectively provide a character set source. Each respective key in the first subset of keys corresponds to a key in the character set (e.g., ASCII character set). Some examples of character sets are ASCII, HANZI, Guojia Biaozhun, GB2312 character set, GBK/1, GBK/2, GBK/3, GBK/4, GBK/5, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, and ISO-8859-10. The graphical input stream further includes and a second subset of keys 4012-1, 4012-2, etc. that collectively provide a message effect source. Each respective key in the second subset of keys represents a unique message effect in a plurality of message effects. For instance, key 4012-1 represents a first message effect and key 4012-2 represents a second message effect. The user interface 4000-A also includes an emoji icon 4008, a message area 4010, a send icon 4014, and a time 4020 of the start of the most recent message exchange between User A and User B. First user input from the character set source (by User A) is displayed in message area 4010 by activating (e.g., with tap gestures, tap and hold gesture, etc.) various keys of the graphical input stream 4006. User A can also toggle between the graphical input stream 4006 and an emoji input interface (e.g., an emoji keyboard, an emoji selection interface) by activating the emoji icon 4008. In some embodiments, the emojis and the character set source are displayed concurrently. When User A is ready to send a message, User A activates the send icon 4014. Whatever text and emoji is input into message area 4010 is sent as a message to the server system 106, which sends the message to the device of User B.
In some implementations, the character rearranging within the message text 4026 is word-by-word (as shown in
While text 4026-B is displayed in the message 4002-2, User A may make an input with respect to the message 4002-2 (e.g., make a tap gesture on the message 4002-2). In response to the tap on the message 4002-2, the original multi-word message 4026-A is transiently displayed in the message 4002-2 for a period of time (e.g., for a minute or less, 30 seconds or less, or 5 seconds or less), as shown in
Returning to, and continuing from
While the text 4026 is obscured by the censoring graphic 4028, User A may make an input with respect to the message 4002-2 (e.g., make a tap gesture on the message 4002-2). In response to the tap on the message 4002-2, the original multi-word message 4026-A is displayed in the message 4002-2, as shown in
Returning to, and continuing from
While text 4026-C is displayed in the message 4002-2, User A may make an input with respect to the message 4002-2 (e.g., make a tap gesture on the message 4002-2). In response to the tap on the message 4002-2, the multi-word message 4026-A is displayed in the message 4002-2, as shown in
Returning to, and continuing from
While transformed representation 4026-D is displayed in the message panel 4002-2, User A may make an input with respect to the message 4002-2 (e.g., make a tap gesture on the message 4002-2). In response to the tap on the message 4002-2, the original multi-word message is displayed in the message panel 4002-2, as shown in
Returning to, and continuing from
While transformed representation 4026-E is displayed in the message 4002-2, User A may make an input with respect to the message 4002-2 (e.g., make a tap gesture on the message 4002-2). In response to the tap on the message 4002-2, the original multi-word message 4026-A is displayed in the message 4002-2, as shown in
Returning to, and continuing from
While transformed representation 4026-F-1 is displayed in the message 4002-2, User A may make an input with respect to the message 4002-2 (e.g., make a tap gesture on the message 4002-2), or a predefined amount of time has elapsed. In response to the tap on the message 4002-2 or elapse of the predefined amount of time, transformed representation 4026-F-2 is displayed in the message 4002-2, as shown in
In some implementations, after a certain number of user inputs with respect to the message 4002-2 (e.g., tap gestures on the message 4002-2) or after the words in the original multi-word message 4026-A have each been individually displayed, the entire original multi-word message 4026-A is displayed in the message 4002-2, as shown in
Returning to, and continuing from
While the transformed representation is displayed, User A may make an input with respect to the message 4002-2 (e.g., make a tap gesture on the message 4002-2). In response to the tap on the message 4002-2, the original multi-word message 4026-A is displayed in the message 4002-2 without scrolling, as shown in
Returning to, and continuing from
While transformed representation 4026-H is displayed in the message 4002-2, User A may make an input with respect to the message 4002-2 (e.g., make a tap gesture on the message 4002-2). In response to the tap on the transformed representation 4002-2, the original multi-word message 4026-A is displayed in the message 4002-2, as shown in
Returning to, and continuing from
While the transformed representation 4026-I is displayed in the message area 4002-2, User A may make an input with respect to the message area 4002-2 (e.g., make a tap gesture on the message 4002-2). In response to the tap on the message area 4002-2, the characters in the transformed representation 4026-I move (e.g., come together) and re-arrange automatically (e.g., in an animation, without further human intervention) into the original multi-word message 4026-A in the message 4002-2, as shown in
Returning to, and continuing from
While the transformed representation 4026-QQ is displayed in the message area 4002-2, User A may make an input with respect to the message area 4002-2 (e.g., make a tap gesture on the message area 4002-2). In response to the tap on the transformed representation 4026-QQ, the original multi-word message 4026-A is displayed in the message area 4002-2, as shown in
The description above describes messages sent by User A, with message effects, viewed at User A's device (e.g., the message sender interacting with messages sent by the message sender). However, the above message effects and responses to user inputs are applicable to received messages. For example,
While the censoring graphic 4028 is displayed in the message 4004-1, User A makes an input with respect to the message 4004-1 (e.g., make a tap gesture on the message 4004-1). In response to the tap on the message 4004-1, the original multi-word message 4026-A is displayed in the message 4004-1, as shown in
In some implementations, in the message 4002-2, when there is a transition from displaying a non-original message text (e.g., text 4026-B, 4026-C, etc.) to displaying the original message text (e.g., text 4026-A), an animation of the transition, showing characters flying into place to reveal the original multi-word message 4026-A, is displayed.
It should be appreciated that the message effects described above and their names are exemplary. Other names for the same message effects may be given, and other message effects, as well as variants of the message effects described above, are possible.
The device receives (502) a message from a second electronic device. The message includes a first text and a message effect applied to the message. For example,
The device displays (506) a first representation of the message in accordance with the message effect. As shown in
The device receives (508) a user input with respect to the first representation. For example, User A makes an input (e.g., performs a gesture, such as a tap gesture) with respect to the message 4004-1 (e.g., the gesture is performed on the message 4004-1). The device 4001 receives and detects the user input (e.g., the gesture performed by User A). In some implementations, the user input with respect to the first representation is a non-editing input (e.g., an input that does not input or edit a message or message text). For example, the user input does not input text into message area 4010, or edit text in message area 4010 or in a message 4002 or 4004. In some implementations, the messaging module 110 is configured to not allow editing of text in messages that have been sent. Thus, user inputs with respect to the first representation of a message (that has been sent) do not edit the message or the message text.
In response to the user input with respect to the first representation, the device (512) displays a second representation of the message in accordance with the message effect. As shown in
In some implementations, the message includes message effect metadata corresponding to the message effect applied to the message (504). The message 4004-1 includes the text 4005 and message effect metadata (e.g., metadata 242). The messaging module 110 displays the message 4004-1 in accordance with the “top secret” message effect based on the metadata indicating the “top secret” effect has been applied to the message 4004-1.
In some implementations, the input device includes a touch-sensitive display, and receiving a user input with respect to the first representation includes detecting a tap gesture on the displayed first representation (510). For example, the device 4001 includes a touch screen. User A makes the user input with respect to the message 4004-1 by tapping on the touch screen at the location of the message 4004-1. The device 4001 detects the tap by User A as a tap gesture on the message 4004-1.
In some implementations, after a predefined amount of time has elapsed since receiving the user input with respect to the first representation, the device re-displays (514) the first representation of the message in accordance with the message effect. For example, after a predefined amount of time has elapsed from User A's tap gesture on the message 4004-1, the message 4004-1 is again displayed with the censoring graphic 4028.
In some implementations, the first text includes one or more words, each respective word of the one or more words including a respective plurality of characters in a first respective character order; the first representation includes a second text, the second text including, for each respective word of the one or more words, the respective plurality of characters in a second respective character order different from the first respective character order; and the second representation includes the first text (516). For example, the original message text (e.g., text 4026-A or text 4005) of a message includes one or more multi-character words. For each multi-character word, the characters are in an ordering. When the message is displayed in accordance with the “character jumble” effect, the characters in the words in the message text are rearranged into different orders on a word-by-word basis, as shown in FIGS. 4C-4E for example. In response to the user input with respect to the message, the original message text is displayed; the original character orderings are restored.
In some implementations, the first representation includes an obscuring graphic over the first text, and the second representation includes the first text (518). For example, when a message is displayed in accordance with the “top secret” effect, the message text is obscured by a censoring graphic 4028, as shown in
In some implementations, the first text includes a plurality of words in a first word order; the first representation includes a second text, the second text including the plurality of words in a second word order different from the first word order; and the second representation includes the first text (520). For example, the original message text of a message (e.g., text 4026-A or text 4005) includes multiple words in one order (e.g., an order as composed by the user who composed the message). When the message is displayed in accordance with the “reverse” effect, the words in the message text are presented in reverse order, as shown in
In some implementations, the first text includes one or more words, each respective word of the one or more words including a respective plurality of characters in a first respective character order; the first representation includes a second text, the second text including, for each respective word of the one or more words: the respective plurality of characters in a second respective character order different from the first respective character order, and one or more additional characters; and the second representation includes the first text (522). For example, the original message text (e.g., text 4026-A or text 4005) of a message may include one or more multi-character words. For each multi-character word, the characters are in an ordering. When the message is displayed in accordance with the “pig latin” effect, the original message text is converted into Pig Latin. In some implementations, the Pig Latin conversion includes, for a word with a leading non-silent consonant, moving the leading consonant to the end of the word (i.e., the characters in the word is a different order than in the original message text) and adding an “ay” suffix to the re-ordered word, as shown in
In some implementations, the first text includes a plurality of words; the first representation includes a second text, the second text including a subset of the plurality of words; and the second representation includes the first text (524). In some implementations, the words of the plurality of words excluded from the second text include one or more words that satisfy one or more predefined word exclusion criteria (526). For example, the original message text (e.g., text 4026-A or text 4005) of a message includes multiple words. When the message is displayed in accordance with the “toddler talk” effect, some of the words in the original message text are removed. Words that meet one or more word exclusion criteria are removed. For example, words that belong in predefined categories (e.g., a word is a connector word, an article, a pronoun, or a preposition) are removed, as shown in
In some implementations, the first text includes a plurality of words; the first representation includes a second text, the second text including a first word of the plurality of words; and the second representation includes a third text, the third text including a second word of the plurality of words (528). For example, the original message text (e.g., text 4026-A or text 4005) of a message includes multiple words. When the message is displayed in accordance with the “one at a time” effect, words of the original message text are displayed or presented one at a time (e.g., one per tap on the message, words displayed one at a time automatically with a predefined amount of time between words). In response to the user input with respect to the message or elapse of a predefined amount of time, the next word appears, as shown in
In some implementations, the first representation includes the first text scrolling, and the second representation includes the first text, wherein the scrolling has ceased (530). For example, when a message is displayed in accordance with the “marquee” effect, the message text is scrolled (e.g., as in text scrolling on a scoreboard or a stock ticker), as shown in
In some implementations, the first text includes one or more words; the first representation includes a second text, the second text including, for each respective word of the one or more words, one or more of: one or more additional characters, one or more substitute characters, and one or more removed characters; and the second representation includes the first text (532). For example, the original message text (e.g., text 4026-A or text 4005) of a message includes multiple words. When the message is displayed in accordance with the “rapper style” effect, each of one or more words of the original message text are converted by adding characters, substituting characters, and/or removing characters, as shown in
In some implementations, the first text includes a plurality of characters, forming one or more words; the first representation includes the plurality of characters, wherein the plurality of characters are, within the first representation, spread apart from each other; and the second representation includes the first text (534). In some implementations, displaying the second representation of the message in accordance with the message effect includes displaying an animation of the plurality of characters moving into place and re-forming the one or more words (536). For example, the original message text (e.g., text 4026-A or text 4005) of a message includes multiple characters. When the message is displayed in accordance with the “spread out” effect, the characters of the original message text spread apart from each other, as shown in
The device receives (602) user selection of a message effect. As shown in
The device receives (604) user input of a message, including a text of the message. User A inputs the message text 4026 for a message 4002-2 into message area 4010.
It should be appreciated that the user may select the message effect before or after inputting the text into the message area 4010. As long as the message has not been sent yet, the user may select a message effect, change the message effect, or cancel the message effect for text input in the message area 4010.
The device sends (606) the message to a second electronic device. When the User A activates the send icon 4014, the message 4002-2 is sent from the device 4001 to the server system 106, which sends the message to the destination device.
The device displays (608) a first representation of the message in accordance with the message effect. At the device of the message sender, the sent message is displayed in accordance with the selected message effect. For example, if the selected message effect is “character jumble,” the sent message 4002-2 is displayed with the characters in the words in message text 4026 rearranged, as shown in
The device receives (612) a user input with respect to the first representation. For example, User A makes an input (e.g., performs a gesture, such as a tap gesture) with respect to the message 4002-2 (e.g., the gesture is performed on the message 4002-2). The device 4001 receives and detects the user input (e.g., the gesture performed by User A). In some implementations, the user input with respect to the first representation is a non-editing input (e.g., an input that does not input or edit a message or message text). For example, the user input does not input text into message area 4010, or edit text in message area 4010 or in a message 4002 or 4004. In some implementations, the messaging module 110 is configured to not allow editing of text in messages that have been sent. Thus, user inputs with respect to the first representation of a message (that has been sent) do not edit the message or the message text.
In response to the user input with respect to the first representation, the device displays (614) a second representation of the message in accordance with the message effect. In response to the user input, the message text 4026 is displayed differently. For example, the original message text 4026-A is displayed, as shown in
In some implementations, the message includes metadata corresponding to the selected message effect (610). The message 4002-2 is sent with message effect metadata (e.g., message effect metadata 242) generated by the message effects module 230 when the message 4002-2 is sent with a message effect selected by User A. The message effect metadata indicates what message effect is applied to the message 4002-2.
In some implementations, after a predefined amount of time has elapsed since receiving the user input with respect to the first representation, the device re-displays (616) the first representation of the message in accordance with the message effect. For example, from
Turning to
In some embodiments, the graphical input stream further includes a source of emojis, unicode symbols, emoticons, icons or logos (704). For instance, in
A message area is displayed (706). An example of such a message area is message area 4010 in
For instance, in
As another example, referring to
As another example, referring to
As still another example, the message effect comprises a character order transformation that changes the character order of each word in the original multi-word message and adds one or more characters to each word in the original multi-word message to form the transformed representation of the multi-word message (718).
As still another example, the message effect comprises a word order transformation that removes one or more words from the multi-word message to form the transformed representation of the multi-word message (720). In some embodiments, the words excluded from the transformed representation comprise one or more words that satisfy one or more predefined word exclusion criteria (722). For example, the original message text (e.g., text 4026-A or text 4005) of a message includes multiple words. When the message is displayed in accordance with the “toddler talk” effect 4012-5 of
As still another example, the transformed representation comprises, for each respective word of the original multi-word message, one or more of: the respective word and one or more additional characters, the respective word with one or more characters substituted, and the respective word with one or more characters removed (724).
As still another example, the message effect comprises a character spacing transformation that increases the character spacing in the original multi-word message to form the transformed representation of the multi-word message (726).
As still another example, referring to
Referring to
Continuing to refer to
Continuing to refer to
Referring once again to
In some embodiments, the transformed representation comprises a plurality of characters found in the original multi-word text in a scrambled order relative to their order in the original multi-word text, and the transiently replacing comprises displaying an animation of the plurality of characters moving into place and re-forming the words of the original multi-word message (746)
It should be appreciated that the user interfaces illustrated in the drawings and described above are exemplary. Many variations on the user interfaces illustrated in the drawings and described above are possible. For example, positions of icons and buttons within an interface may differ from what is shown in the drawings. Icons and buttons that are shown may be omitted, and icons and buttons that are not shown may be included. Backgrounds may differ from what is shown in the drawings. The arrangement of areas and objects within an interface may differ from what is shown in the drawings.
It will be understood that, although the terms “first,” “second,” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first device could be termed a second device, and, similarly, a second device could be termed a first device, which changing the meaning of the description, so long as all occurrences of the “first device” are renamed consistently and all occurrences of the “second device” are renamed consistently. The first device and the second device are both device, but they are not the same device.
The terminology used herein is for the purpose of describing particular implementations only and is not intended to be limiting of the claims. As used in the description of the implementations and the appended claims, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
As used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in accordance with a determination” or “in response to detecting,” that a stated condition precedent is true, depending on the context. Similarly, the phrase “if it is determined [that a stated condition precedent is true]” or “if [a stated condition precedent is true]” or “when [a stated condition precedent is true]” may be construed to mean “upon determining” or “in response to determining” or “in accordance with a determination” or “upon detecting” or “in response to detecting” that the stated condition precedent is true, depending on the context.
The foregoing description, for purpose of explanation, has been described with reference to specific implementations. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The implementations were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various implementations with various modifications as are suited to the particular use contemplated.
This Application is a continuation-in-part of U.S. patent application Ser. No. 14/497,242, entitled “Methods and Systems for Obscuring Text in a Conversation,” filed Sep. 25, 2014, which is hereby incorporated by reference herein in its entirety. This Application also claims priority to U.S. Provisional Application No. 62/142,681, entitled “Systems and Methods for Facilitating Conversations,” filed Apr. 3, 2015, which is hereby incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5388194 | Vogel | Feb 1995 | A |
20030038820 | Purpura | Feb 2003 | A1 |
20070299925 | Kirkland | Dec 2007 | A1 |
20090315895 | Pahud | Dec 2009 | A1 |
20140195619 | Hodjat | Jul 2014 | A1 |
Number | Date | Country | |
---|---|---|---|
20160286028 A1 | Sep 2016 | US |
Number | Date | Country | |
---|---|---|---|
62142681 | Apr 2015 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14497242 | Sep 2014 | US |
Child | 15084228 | US |