EP4792507A1 - Animated communication based effects - Google Patents
Animated communication based effectsInfo
- Publication number
- EP4792507A1 EP4792507A1 EP23804820.1A EP23804820A EP4792507A1 EP 4792507 A1 EP4792507 A1 EP 4792507A1 EP 23804820 A EP23804820 A EP 23804820A EP 4792507 A1 EP4792507 A1 EP 4792507A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- message
- animation
- animation effect
- user interface
- graphical user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/7243—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
- H04M1/72436—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. short messaging services [SMS] or e-mails
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72427—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
A method comprising receiving, using a messaging application executing at a computing device, a message that includes text. The method further includes determining an animation effect based on the text, wherein the animation effect includes a first animation effect and a second animation effect. The method further includes associating the first animation effect with a first logical layer of a graphical user interface of the messaging application, the second animation effect with a second logical layer of the graphical user interface, and the text with a third logical layer of the graphical user interface, wherein the third logical layer is positioned between the first logical layer and the second logical layer. The method further includes generating, by the computing, a message animation that includes the message. The method further includes outputting, by die computing device and. for display, the message animation within the graphical user interface of the messaging application.
Description
ANIMATED COMMUNICATION BASED EFFECTS
BACKGROUND
[0001] Users may communicate with each other via one or more computing devices. In some cases, users may send each other emotive messages (e.g., an emoticon, an emoji) via one or more computing devices.
SUMMARY
[0002] In general, described herein are techniques for generating animated communication- based effects. A computing device may receive a message that includes animation effects for one or more layers of a graphical user interface (GUI) displayed by the computing device. For example, a computing device may receive a message and, based on the text of the message, leverage a machine learning model or generative Al to generate message animation that includes the message animation. In another example, the computing device may receive a message and an indication of an animation effect, where the animation effect includes a first animation effect for a foreground layer of the message and a second animation effect for a background layer of the message. The computing device may associate each of the animation effects with a logical layer of the GUI and generate an overarching message animation that includes the animation effects for the logical layers of the GUI. In this way, the techniques of this disclosure may provide various advantages, such as enabling a computing device to send sophisticated message animations that include animation effects for one or more layers of the GUI that result in an overarching message animation.
[0003] In one example, a method includes receiving, using a messaging application executing at a computing device, a message that includes text; determining an animation effect based on the text wherein the animation effect includes a first animation effect and a second animation effect; associating, by the computing device, the first animation effect with a first logical layer of a graphical user interface of the messaging application, the second animation effect with a second logical layer of the graphical user interface, and the text with a third logical layer of the graphical user interface, wherein the third logical layer is positioned between the first logical layer and the second logical layer; generating, by the computing device and based at least in part on the first, the second, and the third logical
layers, a message animation that includes the message; and outputting, by the computing device and for display, the message animation within the graphical user interface of the messaging application.
[0004] In another example, a computing device comprises one or more user input detection components; one or more displays; and one or more processors configured to receive, using, a messaging application executed by the computing device, a message that includes text; determine an animation effect based on the text, wherein the animation effect includes a first animation effect and a second animation effect; associate the first animation effect with a first logical layer of a graphical user interface of the messaging application, the second animation effect with a second logical la yer of the graphical user interface, and the text with a third logical layer of the graphical user interface, wherein the third logical layer is positioned between the first logical layer and the second logical layer; generate, based at least in pan on the first, the second, and the third, logical layers, a message animation that includes the message; and output, for display, the message animation within the graphical user interface of the messaging application.
[0005] In yet another example, a non-trausitory computer-readable medium, encoded with instructions that, when executed by one or more processors of a computing device, cause the one or more processors to: receive, using a messaging application executed by the computing device, a message that includes text; determine an animation effect based on the text, wherein the animation effect Includes at least a first animation effect and a second animation effect; associate the first animation, effect with a first logical layer of a graphical user interface of the messaging appl ication, the second animation effect with a second logical layer of the graphical user interface, and the text with a third logical layer of the graphical user interlace, wherein the third logical layer is positioned between the first logical layer and the second logical layer; generate a message animation that includes the message; and output, for display, the message animation within the graphical user interface of the messaging application.
[0006] The details of one or more examples of the disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.
BRIEF DESCRIPTION OF DRAWINGS
[0007] FIG. 1 is a conceptual diagram illustrating an example computing device and graphical user interface that includes a message animation, in accordance with one or more techniques of this disclosure.
[0008] FIG. 2 is a block diagram illustrating a computing device for generating and displaying message animations, in accordance with one or more techniques of this disclosure. [0009] FIGS. 3A-3C are conceptual diagrams illustrating an example message animation, in accordance wi th one or more techniques of this disclosure.
[0010] FIGS. 4A-4C are conceptual diagrams illustrating an example message animation, in accordance with one or more techni ques of this disclos ure.
[0011] FIGS. 5A-5C are conceptual diagrams illustrating an example message animation, in accordance with one or more techniques of this disclosure.
[0012] FIG. 6 is a flowchart illustrating an example operation for generating a message animation, in accordance with one or more techniques of this disclosure.
DETAILED DESCRIPTION
[0013] FIG. 1. is a conceptual diagram illustrating an example computing device 100 and GUI 112 that includes a message animation, in accordance with one or more techniques of this disclosure. As shown in the example of FIG. 1, computing device 100 displays GUI 112. Examples of computing device 100 may inc lude, but are not limited to, portable, mobile, or other devices, such as mobile phones (including smartphones), wearable computing devices (e.g,, smart watches, smart glasses, etc.) laptop computers, desktop computers, tablet computers, smart television platforms, infotainment systems (e.g., vehicle head units), etc. [0014] As shown in the example of FIG. 1 , computing device 100 includes one or more user interface (UI) devices (“UI device 102”), user interface module 104, applications 106A-106N (“applications 106”), and messaging application 108 UI device 102 of computing device 100 may function as an input device and/or an output device for computing device 100. For instance, UI device 102 may be configured to receive input from a user through tactile, audio, and/or video feedback. Examples of input devices include a presence-sensitive display, a presence-sensitive or touch-sensitive input device, a mouse, a keyboard, a voice responsive system, video camera, microphone or any other type of device for detecting a command from
a user. In some exampies, a presence-sensitive display includes a touch-sensitive or presence-sensitive input screen, such as a resistive touchscreen, a surface acoustic wave touchscreen, a capacitive touchscreen, a projective capacitive touchscreen, a pressure sensitive screen, an acoustic pulse recognition touchscreen, or another presence-sensitive technology. That is, UI device 102 may receive indications of user input by detecting one or more gestures from a. user (e.g., when the user touches or points to one or more locations of UI device 102 with a finger, stylus pen, or other object), [0015] UI device 102 may additionally or alternatively function as an output device by providing output to a user using tactile, audio, or video stimuli. Examples of output devices include a sound card, a video graphics adapter card, or any of one or more display devices, such as a liquid crystal display (LCD), dot matrix display, light emitting diode (LED) display, miniLED, microLED, organic light-emitting diode (DEED) display, e-ink, or similar monochrome or color display capable of outputting visible information to a user of computing device 100. Additional examples of an output device include a speaker, a haptic device, or other device that can generate intelligible output to a user. For instance, UI device 102 may present output to a user of computing device 100 as a graphical user interface that may be associated, with functionality provided, by computing device 100. In this way, Ul device 102 may present various user interfaces of applications executing at or accessible by computing device 100 (e.g., an electronic message application, an Internet browser application, etc.). A user of computing device 100 may interact with, a respective user interface of an applica tion to cause computing device 100 to perform operations relating to a function.
[0016] In. some examples, UI device 102 of computing device 100 may detect two- dimensional and/or three-dimensional gestures as input from a user of computing device 100. For instance, a sensor of UI device 1.02 may detect the user's movement (e.g., moving a hand, an arm, a pen, a stylus, etc. ) within a threshold distance of the sensor of UI device 102. UI device 102 may determine a two- or three-dimensional vector representation of the movement and correlate the vector representation to a gesture input (e.g., a hand-wave, a pinch, a clap, a pen stroke, etc.) that has multiple dimensions. In other words, UI device 102 may, in some examples, detect a multidimensional gesture without requiring the user to gesture at or near a screen or surface at which Ul device 102 outputs information for display.
Instead, UI device .102 may detect a multi-dimensional gesture performed at or near a sensor which may or may not be located near the screen or surface at which UI device 102 outputs information for display,
[0017] Applications 106 and messaging application 108 may perform operations described herein using handware, software, firmware, or a mixture thereof residing in and/or executing at computing device 100. Computing device 100 may execute applications 106 and 108 with one processor or with multiple processors. In some examples, computing device 100 may execute applications 106 and 108 as a virtual machine executing on underlying hardware. Applications 106 and 108 may execu te as one or more services of an operating system or computing platform or may execute as one or more executable programs at an application layer of a computing platform.
[0018] UI module 104, as shown in the example of FIG. 1 , may be operable by computing device 100 to perform one or more functions, such as receive input and send indications of such input to other components associated, with computing device 100 (e.g,, applications 106). UI module .104 may also receive data from components associated with computing device 100 such as application 106. Using the data received, UI module 104 may cause other components associated with computing device 100, such as UI device 1.02, to provide output based on the data. For instance, UI module 104 may receive data from one of applications 106 and 108 to display a GUI via Ul device 102.
[0019] Applications 106, as shown in the example of FIG. 1, may include functionality to perform any variety of operations on computing device 100. For instance, applications 106 may include a word processor, a text application, a web browser, a multimedia player, a calendar application, ah operating system, a distributed computing application, a graphic design application, a video editing application, a web development application, or any other application.
[0020] Computing device 100 may execute messaging application 108, which may be a Short Message Service (SMS) application, Rich Communication Services (RCS) application, or other messaging application. Messaging: application 108 may include functionality to compose outgoing message communications, receive incoming message communications, respond to incoming message communications, and other functions. The message
communications may include text, audio, graphical elements (e.g., emoji, images, etc.), video, other types of content, or any combination thereof
[0021] In general, messaging application 108 may provide a user a platform to electronically communicate with users of other computing, devices via computing device 100. For example, computing device 100 may send a message to and receive a message from another computing device. U1 device 102 may receive user inputs (e.g., audio inputs, touch inputs at a graphical keyboard, etc, ) to compose a draft message for message thread 114.
[0022] Messaging application 108 may generate a graphical user interface such as GUI 1 12. Messaging application 108 may generate an instance of GUI 112 that includes one or more multiple logical layers. For example, GUI 1 12 may include three logical layers with each logical layer representing, a visual layer of GUI 112, In this example, the first logical may correspond to a transparent “top” visual layer, the second logical layer may include the visual elements associated with one or more messages, and the third logical layer may correspond to a “background” visual layer that visual underlies the other two visual layers, [0023] Messaging application 108 may generate GUI 1 12 that includes message thread 114 and one or visual elements of graphical keyboard GUI 116 associated with one or more logical layers of GUI 1 12. Message thread 114 may include one or more messages that have been exchanged between computing device 100 and another user or another computing device. Messaging application 108 may associate message thread 114 with a middle logical layer of GUI 112. Graphical keyboard GUI 116 may include one or more visual elements such as a visual keyboard in addition to visual elements that display emojis, emoticons, stickers and other emotive and/or animated visual elements. Computing device 100 may execute a graphical keyboard application as a standalone application or as an application module of messaging application 108. Computing device 100 may execute the graphical keyboard application for a user to provide text input to computing device 100. Messaging application 108 may associate the GUI of the graphical keyboard application (e.g., graphical keyboard GUI 116) with a. logical layer of GUI 112 such as the middle logical layer.
[0024] Messaging application 108 may send and receive messages that include text for a message and an indication of animation effect that includes indications of animation effects for one or more layers of the message. In an example, messaging application 108 receives an indication of an animation effect that includes indications of animation effects for three
visual layers of the message. Messaging application 108 receives an animation effect that includes an indication of animation effect for a top visual layer of the message that includes multiple moving visual elements, an indication of animation effect for a visual layer of the message that results in a visual element of the message moving and changing in scale, and an indication of an animation effect for a background layer of the message that includes changes in color and one or more moving visual elements. In another example, messaging application 108 receives an indication of animation effect that includes an indication of animation effect for a visual layer associated with the message that includes an indication for an animation effect of moving a visual element of the message and the visual elemen ts “bouncing” off' of visual elements of message thread 114.
[0025] As shown in the example of FIG. 1 messaging application 108 includes effects module 110, Effects module 110 may orchestrate animations responsive to receiving indications of animation effect, receiving text consistent of a common message associated with one or more common effects, or receiving an emoji associated with an animated emoji effect. In addition, effects module 110 may orchestrate message animations for messages drafted by the user of computing device 100 (e.g., draft messages, the user trying out different animations, etc.).
[0026] Effects module 110 may associate animation effects of the indications of animation effect for visual layers of a message with logical layers of GUI 112. In an example, effects module 110 associates a first animation effect for a foreground visual layer of the message with a first logical layer of GUI 112, where tie first logical layer is visually located “at the top of GUI 1 12, a second animation effect with a second logical layer of GUI 1 12, where the second logical layer is visual ly “beneath” the visual elements of message thread 1 14 and at the visual “bottom” of GUI 1 12, and a third animation effect with a third logical layer of GUI 112 that includes the visual elements of message thread 1 14.
[0027] Effects module 110 may orchestrate a message animation based on the animation effects associated with the logical layers of GUI 112. For example, effects module 1 10 may orchestrate a message animation that includes animation effects for four logical layers of GUI 112.
[0028] Effects module 110 may orchestrate an animation effect based on text of the message received by computing device 100 and processed by messaging application 108 through one
or more models. Messaging application 108 may include one or more machine learning models or generative Al models and use the machine learning or generative Al models to process the text of a received message. Messaging application 108 may use the models to analyze the text and determine whether to generate an animation effect based on the text. For example, messaging application 108 receives a message that includes the text “Happy Birthday!” and processes the text through one or more of the models to determine a message effect. Messaging application 108 may cause effects module 110 to orchestrate an animation effect based on the determined message effect.
[0029] Messaging application 108 may determine an animation effect based on determining the text of the message as common text. Messaging application 108 may compare the text of a message to a store of common text to determine whether the text of the message is consistent with a common message. In an example, messaging application 108 compares the text of the message to the datastore of common messages and determines that the text of the message is consistent with the message. Messaging application 108, responsive to determining that the text is consistent with a common message, causes effects module 110 to orchestrate an animation effect that is associate with the common message.
[0030] Messaging application 108 may cause computing device 100 to output a GUI (e.g., GUI 112) that includes the message animation orchestrated by effects module 110 for display via Ul device 102. Messaging application 108 may cause Ul device 102 to display a GUI that includes a message animation with, one or more effects such as adjusting the visual scale and location of one or more GUI elements of GUI 112, displaying additional GUI elements, and changing colors of GUI 1 12, among other visual effects.
[0031] The techniques of this disclosure include one or more advantages. For example, instead of sharing: simple animations that modify only a single logical layer of a GUI, computing device 100 may share complex message animations that modify multiple layers of a GUI. Furthermore, computing device 100 may share animations via indications of animations that play simultaneously or are staggered to play at certain intervals, in addition to animations that modify multiple visual elements of a GUI. As a result, the techniques of this disclosure may enable computing devices to share sophisticated and complex message animations.
[0032] FIG. 2 is a block diagram illustrating computing device 200 for generating and displaying message animations, in accordance with one or more techniques of this disclosure. Computing device 200 may be one example of computing devices 100 in accordance with one or more techniques of this disclosure. FIG. 2 ilhistrat.es only one particular example of computing device 200, and many other examples of computing device 200 may be used in other instances and may include a subset of tie components included in example computing device 200 or may include additional components not shown in FIG. 2.
[0033] As shown in FIG. 2, computing device 200 may include one or more user interface devices 202 (“UI device 202”), one or more processors 220 (“processors 220”), one or more of communications units 222 (“communication units 222”), one or more of input devices 224 (“input devices 224”), one or more of output devices 226 (“output devices 226”), one or more of communication channels 228 (illustrated as “COMM. CHANNELS 228” in FIG. 2, hereinafter “comm channels 228”), and one or more storage devices 230 (“storage devices 230”). As also shown in FIG. 2, UI device 202 may include user interface device 202 (“1.11 device 202”). As also shown in FIG. 2, storage devices 230 may include a user interface module 204 (“UI module 204”), applications 206A-206N (“applications 206”), messaging application 208, operating system 232 (“OS 232”), and graphical keyboard app 236.
[0034] In some examples, UI device 202 may be a presence-sensitive display configured to detect input (e.g., touch and non-touch input) from a user of respecti ve computing device 200. UI device 202 may output information to a user in the form of a UI, which may be associated with functionality provided by computing device 200. Computing device 200 may output such UIs that may be associated with computing platforms, operating systems, applications, and/or services executing at or accessible from computing device 200 (e.g., electronic message applications, chat applications, Internet browser applications, mobile or desktop operating systems, social media applications, electronic games, menus, and other types of applications).
[0035] Processors 220 may implement functionality and/or execute instructions within computing device 200. For example, processors 220 may receive and execute instructions that provide the functionality of applications 206.. messaging application 208, and OS 232. These instructions executed by processors 220 may cause computing device 200 to store and/or modify information within storage devices 230 during program execution. Processors
220 may execute instructions of UI module 204, applications 206, messaging application 208, OS 232, and graphical keyboard app 236 to perform one or more operations. That is, UI module 204, applications 206, messaging application 208, OS 232, and graphical keyboard app 236 may be operable by processor 220 to perform various functions described herein. [0036] Communication units 222 of computing device 200 may communicate with one or more external devices via one or more wired and/or wireless networks by transmitting and/or receiving network signals on the one or more networks. Examples of communication units 222 inchtde a network interface card (e.g., ar Ethernet card), an optical transceiver, a radio frequency transceiver, a GPS receiver, or any other type of device that can send and/or receive information. Other examples of communication units 222 may include short wave radios, cellular data radios, satellite data radios, wireless network radios, as well as universal serial bus (USB) controllers.
[0037] Input devices 224 of computing device 200 may receive input. Examples of input are tactile, audio, and video input. Input devices 224 of computing device 200, in one example, includes a presence-sensitive display, a fingerprint sensor, touch-sensitive screen, mouse, keyboard, voice responsive system, video camera, microphone or any other type of device for detecting input from a human or machine.
[0038] Input devices 224 may include one or more sensors. Numerous examples of sensors exist and include any input component configured to obtain environmental information about the circumstances surrounding computing device 200 and/or physiological information that defines the activity state and/or physical well-being of a user of computing device 200. In some examples, a sensor may be an input component that obtains physical position, movement, and/or locati on information of computing device 200. For instance, sensors may include one or more location sensors (e.g., GNSS components, Wi-Fi components, cellular components), one or more temperature sensors, one or more motion sensors (e.g., multi-axial accelerometers., gyros), one or more pressure sensors (e.g., barometer), one or more ambient light sensors, and one or more other sensors (e.g., microphone, camera, infrared proximity sensor, hygrometer, and the like).
[0039] Output devices 226 of computing device 200 may generate one or more outputs. Examples of outputs are tactile, audio, and video output. Output devices 226 of computing device 200, in one example, includes a presence-sensitive display, sound card, video graphics
adapter card, speaker, liquid crystal display (LCD), or any other type of de vice for generating output to a human or machine.
[0040] Comm channels 228 may interconnect each of the components 202, 220, 222, 224, and 226 for inter-component communications (physically, communicatively, and/or operatively). In some examples, comm channels 228 may include a system bus, a network connection, an inter-process communication, data structure, or any other method for communicating data.
[0041] Storage devices 230 of computing device 200 may store information for processing during operation of computing device 200 (e g,, computing device 200 may store UI module 204, applications 206, messaging application 208, OS 232, and graphical keyboard app 236 during execution at computing device 200). to some examples, storage devices 230 may be a temporary memory, meaning that a primary purpose of storage devices 230 is not long-term storage. Storage devices 230 of computing device 200 may be configured for short-term storage of information as volatile memory and therefore not retain stored contents if powered off Examples of volatile memories include random, access memories (RAM), dynamic random access memories (DRAM), static random, access memories (SRAM), and other forms of volatile memories known in the art.
[0042] Storage devices 230 may include one or more computer-readable storage media. Storage devices 230 may be configured to store larger amounts of information than volatile memory, Storage device 230 may further be configured for long-term storage of information as non-volatile memory space and retain, information after power on/off cycles, Examples of non-volatile memories include magnetic hard disks, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. Storage devices 230 may store program instructions and/or information associated with applications 206, messaging application 208, and OS 232.
[0043] Computing device 200 may execute messaging: application 208, which may be an SMS application, RCS application, or other messaging application. Messaging application 208 may include functionality to compose outgoing message communications, receive incoming message communications, respond, to incoming message communications, and
other functions. Tile message communications may include text audio, graphical elements (e.g., emoji, images, etc.), video, other types of content, or any combination thereof.
[0044] Messaging application 208 may generate a GUI that includes one or more visual elements. Messaging application 208 may generate a GUI that includes visual elements containing text such as prior messages between users of messaging application 208. For example, messaging application 208 may generate a GUI that includes text within visual elements that comprises a message thread between the user of computing, device 200 and users of two other computing devices. Messaging application 208 generates the GUI and causes one or more components of computing device 200 such as UI device 202 and output devices 226 to output the GUI for display.
[0045] Messaging application 208, via. one or more components such as communication units 222, may receive a message that includes text and an indication of an animation effect. Messaging application 208 may receive an indication of animation effect that includes indications of one or more animation effects for one or more layers of the message. For example, messaging application 208 receives an indication of animation effect that includes an indication of animation effect for a foreground layer of the message and an indication of animation, effect for a background layer of the message.
[0046] Messaging application 208 may use effects module 210 to orchestrate the generation of message animations within the GUI of messaging application 208. Effects module 210 may be a plugin module of messaging application 208, a standalone application that interacts with messaging application 208, or a software component of messaging. Effects module 210 may orchestrate the generation of an animation effect for the GUI of messaging application. 208.
[0047] Effects module 210 may orchestrate the generation of one or more animation effects according to the associated visual layers of the message. Responsive to receiving, a message that includes an indication of an animation effect, effects module 210 associates the animation effect of the indication of animation effect for a visual layer of the message with a logical layer of the GUI of messaging application 208. In an example, effects module 210 receives a message that includes an indication of animation effect for a visual foreground layer of the message and an indication of animation effect for a visual background layer of the message. Effects module 210 associates foe animation effect of the indication of
animation effect for a visual foreground layer with a logical layer of the GUI of messaging application 208 that is positioned above other logical layers of the GUI of messaging application 208. Additionally, effects module 210 associates the animation effect of the indication of animation effect for a visual background layer with a logical layer of the GUI that is located below the logical layer of the GUI that includes the visual elements of the messages of the GUI.
[0048] Effects module 210 may orchestrate the generation of message animations that include one or more changes to the GUI of messaging application 208. For example, effects module 210 may generate a message animation that includes an animation effect that changes in the visual scale of one or more visual elemen ts of the GUI of messaging applica tion 208. In another example, effects module 210 generates a. message animation that includes an animation effect that changes the color of one or more visual elements within the GUI of messaging application 208. In yet another example, effects module 210 generates a message animation that includes an animation effect of several star-shaped visual elements moving within a top logical layer of the GUI of messaging application 208 and an animation effect of a visual element associated with the text of the received message moving and changing shape within a logical layer of the GUI of .messaging application 208.
[0049] Effects module 210 may orchestra te the generation of a message animation according to two or more keyframes. In an example, effects module 210 receives an indication of a message animation that includes an indication of animating the .movement of a visual element of the GUI of messaging application 208. Effects module 210 determines a first keyframe that defines a visual starting location of the visual element and a second keyframe that defines a subsequent visual location of the visual element. Effects module 210 generates the message animation based on the first keyframe and the second keyframe.
[0050] Effects module 210 may orchestrate the generation of a message animation that defines- whether one or more visual elements or animation effects may overlay each other or visual elements of the GUI of messaging application 208 and/or the GUI of graphical keyboard app 236.. For example, effects module 210 may orchestrate a message animation that requires none of the visual e lements of the GUI of messaging applica tion 208 visually overlap each other. In another example, effects module 210 may orchestrate a message animation that includes a first animation effect associated with a first logical layer of the GUI
visually overlaying a second animation effect associated with a second logical layer of the GUI and/or one or more visual elements of the GUI, such as visual elements within a third logical layer of the GUI between the first and second logical layers of the GUI of messaging application 208, In yet another example, effects module 210 orchestrates a message animation that includes an animation effect that causes other animation effect associated with the first logical layer of the GUI to overlay an animation effect of the second logical layer of the GUI and/or one or more visual elements of the GUI, such as those in the third logical layer of the GUI that comprise the visual elements of a message thread visually displayed, within the GUI of messaging application 208.
[0051] Effects module 210 may adjust animation effects within a message animation based on or more colors included in an active GUI theme before generating the message animation. In example, computing device 200 configures operating system 232 to display a GUI with a blue color hue. Effects module 210 orchestrates the generation of a message animation modified with a blue hue.
[0052] Effects module 210 may orchestrate message animations based on the text content of a message. In an example, messaging application 208 receives a. message that includes text. Effects module 210 identifies one or more predetermined words or phrases within the text (e,g.., words that have strong emotional connotations, particular phrases, etc. ). Responsive to identifying the one or more predetermined words or phrases within the text, effects module 210 selects one or more animation effects and orchestrates a message animation that includes the selected animation effects. In another example, messaging application 208 processes the received message using one or more machine learning models and determines an animation effect using the machine learning model. Messaging application 208 causes effects module 210 to orchestrate the animation effect.
[0053] Effects module 210 may orchestrate message animations that include one or more time-based animation effects. For example, messaging application 208 receives an indication of animation effect that includes a first indication of animation effect that is to play first and a second indication of animation effect that is to play after the animation effect of the first indication of animation effect is complete. Effects module 210 orchestrates a message animation that includes the first animation effect playing, first and the second animation effect playing after the completion of the first animation. Effects module 210 may orchestrate
message animations in one or more ways such as staggering the animation effects (e.g., start playing an animation effect 500ms after a previous animation effect)., using a timer to determine when to play animation effects, .and/or using a. predetermined order of animation effects, among other ways of determining, when to play animation effects as part of a message animation. In an example, messaging application 208 receives an indication of a message animation that includes an indication of a third animation effect an indication of a fourth animation effect, and an indication to generate the animation of the indication of the fourth animation effect after a predetermined period of time. Effects module 210 orchestrates a message animation based at least in part on the indication of the third animation effect. Responsive to the generation of the message animation, messaging applica tion 208 causes computing device 200 to output a GUI for display that includes the message animation. Effects module 210, responsive to determining that the predetermined period of time has elapsed (e.g., after the third animation effect has finished playing, while the third animation effect is still playing, etc.) orchestrates, based at least in part on the fourth animation effect, a third message animation. Responsi ve to the generation of the third message animation, messaging application 208 causes computing device 200 to output the third GUI for display. [0054] Effects module 210 may orchestrate message animations with one or more physics- based animation effects. Effects module 210 may orchestrate a message animation where the visual elements of the GUI of messaging application 208 move and contact each other as if they were physical effects. For example, effects module 210 may orchestrate a message animation that includes one or more visual elements visually shifting location within the GUI of messaging application 208. Effects module 210 may orchestrate the message animation such that the visual elements of the GUI of messaging application 208 do not visually overlap each other and that the visual elements “bounce” off each other when they visually contact each other.
[0055] Messaging application 208 may generate a GUI that includes one or more animation effects orchestrated by effects module 210 and cause computing device 200 to output the GUI. Messaging application 208 may cause computing device 200 to output the GUI via one or more components of computing device 200 such as user interface device 202 and output devices 226.
[0056] Messaging application 208 may generate and cause computing device 200 to output GUIs that display one or more options for a user to select a message animation to send with the text for a message. In an example, messaging application 208 generates a GUI that displays multiple options for animation effects to send with a message that a user of computing device 200 is composing. Messaging application 208 receives a user input of a selection of one or more animation effects for different layers of the GUI that comprises an overarching message animation. Responsive to receiving user input consistent with a selection of one or more animation effects, messaging, application 208 causes computing device 200 to send the text of the message along with, an indication of the message animation that includes indications of the one or more animation effects to another computing device or to another user. In another example, messaging application 208 may generate a. GUI that includes an option for an animation emoji for the user to select as part of an animation effect for a message.
[0057] Messaging application 208 may leverage effects module 210 to enable both the receiver and the sender of a message animation to view the message animation. In an example, effects module 210 generates the message animation on the receiving device (e.g., computing device 200), while a module substantially similar to effects module 210 generates the message animation on the sending device (e.g., a. device similar to computing device 200), In another example, effects module 210, responsi ve to the selection of an animation effect that is to be sent to another computing device, generates the message animation. Messaging application 208 causes computing device 200 to display a GUI that includes the message animation that is to be sent.
[0058] FIGS. 3A-3C are conceptual diagrams illustrating an example message animation, in accordance with one or more techniques of this disclosure. The examples of FIGS. 3A-3C illustrate a progression of a message ani mation within a GUI. For the pwposes of clarity, FIGS. 3A-3C are described in the context of FIG. 2 and may be generated and output by one or more elements of computing device 200.
[0059] In the example of FIG. 3A, GUI 312 A includes message thread 314A and graphical keyboard GUI 316A. In some examples, message thread 314A may include visual elements of a conversation between a user of computing de vice 200 and another user.
[0060] Messaging application 208 may receive one or more indications of user input selecting various characters or other elements included in graphical keyboard GUI 316A. In an example, messaging application 208 receives user input of typing “YES! I’m starving!!” and updates GUI 312A to include “YES! I’m starving !!” in a visual element textbox. In another example, messaging application 208 receives user input of a selection of an emoji. In yet another example, messaging application 208 receives user input of typing text and selecting an animation,
[0061] Messaging application 208, responsive to receiving user input, causes computing device 200 to send a message to another user or computing device. Computing device 200 may send a message that includes text for a message as well as an indication of an animation effect for a message. For example, computing device 200 sends a message that includes text for a message and an indication of an animation effect, where the indication of animation effect indudes an indication for three animation effects each for a different layer of a GUI. [0062] In the example of FIG. 3B, GUI 3I2B includes message thread 3 MB and graphical keyboard GUI 316B. In some examples, message thread 314B may include visual elements of a conversation between a user of computing device 200 and another user.
[0063] FIG. 3B illustrates the progression of a message animation within GUI 312B generated by messaging application 208. Messaging application 208 may use effects module 210 to orchestrate the message animation illustrated by FIG. 3B, Effects module 210 may orchestrate the animation by associating animation effects with one or more logical layers of GUI 312B.
[0064] FIG. 3B illustrates a change in mul tiple visual elements of message thread 314B such as changing the visual location of visual elements associated with previous messages within GUI 312B and visually rotating and increasing the size of a visual element associated with the text “YES! I’m starving!!”. Effects module 210 may orchestrate the animation effect of changing the visual locations of the visual elements based on the indication of an animation effect. For example, effects module 210 may associate the ani mation effect of visually rotating and increasing the size of the visual element that contains the text “YES! I’m starving!!” with the logical layer of GUI 312B that includes message thread 314B.
[0065] Effects module 210, as part of orchestrating the message animation, associates an animation effect that includes adding three star-shaped visual elements to GUI 312B. FIG.
3B illustrates the animation effect that includes adding three star-shaped visual, elements to GUI 312B. FIG, 3B shows that the star -shaped visual elements are visually attached to the visual element of “YES! I’m starving !!” as that visual element moves within GUI 312B. Effects module 210 associates the animation effect that includes the star-shaped visual elements with the logical layer of GUI 312B that includes message thread 314B.
[0066] Messaging application 208, responsive to effects module 210 orchestrating the message animation,, causes computing device 200 to output GUI 312B. Messaging application 208 causes computing device 200 to output GUI 312B that includes the animation effects associated with different logical layers of GUI 312B.
[0067] In the example of FIG. 3C, GUI 312C includes message thread 314C and graphical keyboard GUI 316C. In some examples, GUI 312C may display an end state of a message animation such as the message animation illustrated in FIG. 3B. Messaging application 208 may use effects module 210 to orchestrate the end state of the message animation illustrated in FIG. 3B. For instance, FIG, 3C illustrates the visual element that includes the text “YES! I'm starving!!” has stopped moving. Effects module 210 orchestrates the animation effect of the visual element that includes the text “YES! I’m starving!!” as part of orchestrating the animation, effect for the logical layer of GUI 312C that includes message thread 314C . FIG. 3C illustrates that, while the visual element is no longer moving, the visual element is left at a larger relative size and different orientation compared to the other visual elements of message thread 314C as part of the end state of the animation effect orchestrated by effects module 210.
[0068] FIGS, 4A-4C are conceptual diagrams illustrating an example message animation, in accordance with one or more techniques of this disclosure. The examples of FIGS. 4A-4C illustrate a progression of a message animation within a GUI, For the purposes of clarity, FIGS. 4A-4C are described in the context of FIG. 2. and output, by one or more elements of computing device 200.
[0069] Messaging application 208 may receive one or more indications of user input selecting various characters or other elements included in graphical, keyboard GUI 316A. In an example, messaging application 208 receives user input of typing “Sorry, I 'm not feeling great....” and updates GUI 312 A to include “Sony, I’m not feeling great... in a visual element textbox. In. another example, messaging application 208 receives user input of a
selection of an emoji. In yet another example, messaging application 208 receives user input of typing text and selecting an animation.
[0070] Messaging application 208, responsive to receiving user input, causes computing device 200 to send a message to another user or computing device. Computing device 200 may send a message that includes text for a message as well as an indication of as animation effect for a. message. For example, computing device 200 sends a message that includes text for a message and an indication of an animation effect, where the indication of animation effect includes an indication for three animation effects each for a different layer of a GUI . [0071] In the example of FIG, 4B, GUI 412B includes message thread 414B and graphical keyboard GUI 416B. In some examples, message thread 3I4B may include visual elements of a conversation between a user of computing device 200 and another user. [0072] FIG. 4B illustrates the progression of a message animation within GUI 412B generated by messaging application 208. FIG. 4B illustrates the generation of storm cloud- shaped visual elements that move on predetermined paths within GUI 412B, where individual “clouds” shift locations to simulate a collection of storm clouds. FIG. 4B further shows visual elements that simulate rain “falling” from the storm clouds towards the visual elements of messaging thread 414B. Effects module 210 may orchestrate the animation effects of the storm clouds moving and the min “falling” from the clouds. For example, effects module 210 associates the animation effects with a logical layer of GUI 412B visually located at the top of the logical layers of G UI 412B. Effects module 210 may associate the animation effect with a top logical layer of GUI 412B to cause the visual elements of the animation effect such as the rain to visually overlay other visual elements of GUI 412B. [0073] FIG. 4B illustrates changes in the size, color, and location of visual elements of message thread 414B during the progression of a message animation. FIG. 48 illustrates a visual element that includes the text “Sorry, I’m not feeling great. . increasing from a relatively smaller size to a relatively larger size while simultaneously changing from a relatively darker color to a relatively lighter color of fill. FIG . 48 further illustrates the changing: location of the other visual elements of message thread 414B as the visual element associated with the text increasing in size. Effects module 210 associates the animation effect of the visual element that includes the text “Sorry, I’m not feeling great. , changing size and color with the logical layer of GUI 4123 that includes message thread 414B.
[0074] In the example of FIG. 4C, GUI 4I2C includes message thread 414C and graphical keyboard GUI 416C. In some examples, GUI 412C may display an end state of a message animation such as the message animation illustrated in FIG. 4B.
[0075] Messaging application 208 may use effects module 210 to orchestrate the end state of the message animation illustrated in FIG. 4B, For instance, FIG. 4C illustrates an end state of the message animation illustrated in FIG. 4B. FIG. 4G illustrates that the cloud-shaped visual elements have reduced in size. In addition, FIG. 4C illustrates that the animated rain “falling” down GUI 412C has stopped. Effects module 210 may orchestrate the animation effects that corn prise the message animation that include an end slate for the one or more animation effects associated with different logical layers of GUI 412C.
[0076] FIG. 4G illustrates the visual elements of message thread 4140 at the end state of the message animation. FIG. 4C illustrates the visual element associated with the text “Sorry, I’m not feeling great.. as no longer changing in size. FIG. 4C further illustrates the visual element as no longer changing in color.
[0077] FIGS. 5A-5C are conceptual diagrams illustrating an example message animation, in accordance with one or more techniques of this disclosure. The examples of FIGS. 5A-5C illustrate a progression of a message animation within a GUI. For the puiposes of clarity, FIGS. 5A-5C are described in the context of FIG. 2.
[0078] In the example of FIG. 5A, GUI 512A. includes message thread 514A and graphical keyboard GUI 516A. In some examples, message thread 514A may include visual elements of a conversation between a user of computing device 200 and another user.
[0079] Messaging application 208 may receive one or more indications of user input selecting various characters or other elements included in graphical keyboard GUI 516A . In an example, messaging application 208 receives user input of typing “Happy Birthday!!!” and updates GUI 512A to include “Happy Birthday!!!” in a visual element textbox. In another example, messaging application 208 receives user input of a selection of an emoji. In yet another example, messaging application 208 receives user input of typing text and selecting an animation.
[0080] Messaging application 208, responsive to receiving user input, causes computing device 200 to send a message to another user or computing device. Computing device 200 may send a message that includes text for a message as well as an indication of an animation
effect for a message. For example, computing device 200 sends a message that includes text for a message and an indication of an animation effect, where the indication of animation effect includes an indication for three animation effects each for a different layer of a GUI.
[0081] In the example of FIG. 5B, GUI 512B include message thread 5148 and graphical keyboard GUI 516B. In some examples, message thread 514B may include visual elements of a conversation between a user of computing device 200 and another user.
[0082] Messaging application 208 may use effects module 210 to orchestrate the message animation illustrated in FIG. 5B that includes multiple animation effects for different layers of GUI 5.12B. For instance, FIG. 5B illustrates the progression of a message animation within GUI 512B orchestrated by effects module 210 that, include animation effects for one or more logical layers of GUI 5128. FIG. 58 illustrates two visual elements in the shape of halfspheres that expand, and are visually located “beneath” the visual elements of message thread 5148.
[0083] FIG. 5B further illustrates the progression of the message animation with respect, to the visual elements of message thread 5148. FIG . 5B illustrates die visual element that contains the text “Happy Birthday!!!” visually moving and rotating within GUI 5128, FIG. 5B also illustrates the other visual elements of message thread 5.I4B visually shifting location and making room for the visual element that contains the text. FIG. 5B illustrates confettishaped visual elements visually attached to the visual element that contains the text as the visual element changes shape and orientation.
[0084] Effects module 210 may orchestrate the message animation illustrated by FIG. 58 by associating the animation effects with one or more logical layers of GUI 5128. For example, effects module 210 associates the animation effect of the two visual elements of the half- spheres with a logical layer visually located beneath the logical layer that includes message thread 514B. Effects module 210 associates the animation effect with the lower logical layer so that the visual elements of the effect visually underlie the other visual elements of GUI 412B. In a further example, effects module 210 orchestrates the animation effect of the visual element that includes the text “Happy Birthday!!!” with a logical layer of GUI 512B that includes the visual elements of message thread 514B.
[0085] In the example of FIG. 5C, GUI 512C includes message thread 514C and graphical keyboard GUI 516C. In some examples GUI 512C may display an end state of a message animation such as the message animation illustrated in FIG. 5B.
[0086] Messaging application 208 may use effects module 210 to orchestrate the end state of the message animation illustrated in FIG. 5B. For instance, FIG. 5C illustrates that the visual element that contains the text “Happy Birthday!!!” has stopped moving and is orientated according to the orientation of the other visual elements o f mess age thread 514C. Effects module 210 may orchestrate a message animation that includes an end state for one or more animation effects associated with different logical layers of GUI 512C.
[0087] Effects module 210 may orchestrate the end state for the other animation effects illustrated by FIG. 5C. Effects module 210 may orchestrate the end state of animation effects by associating the animation effects with different layers of GUI 512C. For instance, FIG. 5C further illustrates that the visual elements of die message animation that were visually located beneath the visual elements of message thread 5 I4C are no longer visible. FIG. 5C also illustrates that the confetti-shaped .visual, elements remain attached to the visual element that includes the text “Happy Birthday!!!” after the completion of the message animation, [0088] FIG. 6 is a flowchart illustrating an example operation, for generating a message animation within a graphical user interface in accordance with one or more techniques of this disclosure. In the example of FIG. 6, a computing device, such as computing device 100 as illustrated in FIG. 1, receives, using a message application such as messaging application. 108 executing at computing device 100, a message that includes text and an. indication of animation effect, wherein the animation effect includes at least a first animation effect for a foreground layer of the message and a second animation effect for a background layer of the message (602).
[0089] Computing device .100 associates the first animation effect with a first logical layer of the graphical user interface of messaging application 108 such as GUI 112, the second animation effect with a second logical layer of the graphical user interface, and the text with a third logical layer of the graphical user interface, wherein the third logical layer is positioned between the first logical layer and the second logical layer (604). Computing device 100 may use effects module .1 10 to associate the first and second animation effects with the logical layers of GUI 112.
[0090] Computing device 100 generates, based at least in part on the first, the second, and the third logical layers, the message animation that includes the message (606), Computing device 100 may generate the message animation within GU1 1 12. In an example, computing device 100 may generate a message animation within GUI 112 that includes animations such as changing the position or orientation of one or more visual elements of GUI 112. In another example, computing device 100 device may generate a message animation that includes a change in scale of one or more GUI elements, wherein the GUI elements are associated, with the message.
[0091] Computing device 100 outputs, for display, the message animation within GUI 112 of messaging application 108 (608).
[0092] Example 1 : A method includes receiving, using, a messaging application executing at a computing device, a message that includes text: determining, by the computing device, an animation effect based on the text, wherein the animation effect includes a first, animation effect and a second, animation effect; associating, by the computing device, the first animation effect with a first logical layer of a graphical user interface of the messaging application, the second animation effect with a second logical layer of the graphical user interface, and the text with a third logical layer of the graphical user interface, wherein the third logical layer is positioned between the first logical layer and the second logical, layer; generating, by the computing device and based at least in part on the first, the second, and the third logical layers, a message animation that includes the message; and outputting, by the computing device and for display, the message animation within the- graphical user interface of the messaging application.
[0093] Example 2: The method of example 1, wherein the message includes an indication of an animation effect, and wherein the animation effect includes at least a first animation effect for a foreground layer of the message and a second animation effec t for a background layer of the message.
[0094] Example 3: The method of airy of examples 1 and 2, wherein al least one of the first animation effect or the second animation effect includes a change in position or orientation of one or more graphical user interface elements of the graphical user interface, wherein each of the one or more graphical user interface elements are associated with the message or one or
more prior messages of a pl urality of prior messages displayed within the graphical user interface of the messaging application.
[0095] Example 4. The method of example 3, further includes determining, by the computing device, a first keyframe that defines a visual starting location of the one or more graphical user interface elements; and determining, by the computing device, a second keyframe, wherein the second keyframe defines a subsequent visual location of the one or more graphical user interface elements, and wherein generating the message animation comprises generating the message animation according to the first keyframe and the second keyframe.
[0096] Example 5: The method of any of examples 3 and 4, wherein the one or more graphical user interface elements are visually positioned within the graphical user interface of the messaging application so that the each of the one or more graphical user interface elements do not visually overlap other graphical user interface elements of the one or more graphical user interface elements.
[0097] Example 6: The method, of any of examples 1-5, wherein at least one of the first animation effect or the second animation effect includes a change in scale of a graphical user interface element of the graphical user interface, wherein the graphical user interface element is associated with the message.
[0098] Example 7: The method of any of examples 1-6, wherein the first animation effect visually overlays the second animation effect or one or more visual elements of the graphical user interface.
[0099] Example 8r The method of any of examples 1-7, wherein the second animation effect visually underlies the first animation effect or one or more visual dements of the graphical user interface.
[0100] Example 9: The method of any of examples 1-8, wherein generating the message animation is fiirther based on one or more colors included in an active graphical user interface theme.
[0101] Example 10; The method of any of examples 1-9, wherein determining the animation effect for the message fiirther comprises: identifying one or more predetermined words or phrases within the text of the message; and selecting, based on the one or more predetermined words or phrases, the animation effect for the message from a plurality of animati on effects .
[0102] Example 11: The method of any of examples 1-10, wherein the graphical user interface is a graphical user interface, and further includes receiving a second indication of an animation effect, wherein the animation effect of the second indication includes at least a third animation effect, a fourth animation effect, and an indication to generate the fourth animation effect after a predetermined period of time; generating, by the computing device and based at least in part on a third animation effect, a second graphical user interface; outputting, by the computing device and for display, the third animation effect within the second graphical user interface; responsive to determining that the predetermined period of time has elapsed, generating, by the computing: device and based at least In part on a fourth animation effect, a third graphical user interface; and outputting, by the computing device and for display, the fourth animation effect within the third graphical user interface.
[0103] Example 12: A computing device includes one or more user input detection components; one or more displays; and one or more processors configured to: receive, using a messaging application executed by the computing device, a message that includes text; determine an animation effect based on the text, wherein the animation effect includes a first animation effect and a second animation effect: associate the first animation effect with a first logical layer of a graphical user interface of the messaging appl ication, the second animation effect with a second logical layer of the graphical user interface, and the text with a third logical layer of the graphical user interface, wherein the third logical layer is positioned between the first logical layer and the second logical layer; generate, based at least in part on the first, the second, and the third logical layers, a message animation that includes the message; and output, for display, the message animation within the graphical user interface of the messaging application.
[0104] Example 13: The computing device of example 12, wherein the message includes an indication of an animation effect, and wherein the animation effect includes at least a first animation effect for a foreground layer of the message and a second animation effect for a background lay er of the message.
[0105] Example 14: The computing device of example 12, wherein at least one of the first animation effect or the second animation effect includes a change in position or orientation of one or more graphical user interface elements of the graphical user interface, wherein each of the one or more graphical user interface elements are associated with the message or one or
more prior messages of a plurality of prior messages displayed within the graphical user interface of the messaging application.
[0106] Example 15 : The computing device of example 14, wherein the one or more processors are further configured to determine a first keyframe that defines a visual starting, location of the one or more graphical user interface elements; determine a second keyframe, wherein the second keyframe defines a subsequent visual location of the one or more graphical user interface elements, and wherein generating the message animation comprises generate the message animation according to the first keyframe and the second keyframe.
[0107] Example 16: The computing device of example 14, wherein the one or more graphical user interface elements are visually positional within the graphical user interface of the messaging application so that the each of the one or more graphical user interface elemen ts do not visually o verlap other graphical user interface elements of the one or more graphical user interface elements.
[0108] Example 17: The computing device of any of examples 12-16, wherein at least one of the first animation effect or the second animation effect includes a change in scale of a graphical user interface element of the graphical user interface, wherein the graphical user interface element is associated with the message.
[0109] Example 18: The computing device of any of examples 12-17, wherein the first animation effect visually overlays the second animation effect or one or more visual elements of the graphical user interface.
[0110] Example 19: The computing device of any of examples 12-18, wherein the second animation effect visually underlies the first animation effect or one or more visual elements of the graphical user int er lace.
[0111] Example 20: A non-transitory computer-readable medium, encoded with instructions that, when executed by one or more processors of a computi ng device, cause the one or more processors to receive, using a messaging application executed by the computing device, a message that includes text; determine an animation effect based on the text, wherein the animation effect includes a first animation effect and a second animation effect; associate the first animation effect with a first logical layer of a graphical user interface of the messaging application, the second animation effect with a second logical layer of the graphical user interface, and the text with a third logical layer of the graphical user interface, wherein the
third logical layer is positioned between the first logical layer and the second logical layer; generate, based at least in part on the first, the second, and the third logical layers, a message animation that includes the message; and output, for display, the message animation within the graphical user interface of the messaging application.
[0112] Example 21: A computing device comprising means for performing any combination of the methods of examples 1-11.
[0113] By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other storage medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer - readable medium. For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the defini tion of medium. It should be understood, however, that computer-readable storage mediums and media and data storage media do not include connections, carrier waves, signals, or other transient media, but are instead directed to non- transient, tangible storage media. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks usually reproduce data, magnetically, while discs reproduce data optically with lasers. Combinatio ns of the above should also be inc luded within the scope of computer-readable media.
[0114] The techniques described in this disclosure may be implemented, at least in part, in hardware, software, firmware, or any combination thereof. For example, various aspects of the described techniques may be Implemented within one Or more processors, including one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or any other equivalent integrated, or discrete logic circuitry, as well, as any combinations of such components. The term “processor” or “processing circuitry” may generally refer to any of the foregoing logic circuitry, alone or in combination with other logic circuitry, or any other equivalent circuitry.
A control unit including hardware may also perform one or more of the techniques of this disclosure.
[0115] Such hardware, software, and firmware may be implemented within the same device or within separate devices to support the various techniques described, in this disclosure. In addition, any of the described units, modules or components may be implemented together or separately as discrete but interoperable logic devices. Depiction of different features as modules or units is intended to highlight different functional aspects and does not necessarily imply that such modules or units must be realized by separate hardware, firmware, or software components. Rather, functionality associated with one or more modules or units may be performed, by separate hardware, firmware, or software components, or integrated within common or separate hardware, firmware, or software components.
[0116] Various examples have been described, These and other exampies are within the scope of the following claims.
Claims
1. A method, comprising: receiving, using a messaging application executing at a computing device, a message that includes text; determining, by the computing device, an animation effect based on the text, wherein the animation effect includes a first animation effect and a second animation effect: associating, by the computing device, the first animation effect with a first logical layer of a graphical user interface of the messaging application, the second animation effect with a second logical layer of the graphical user interface, and the text with a third logical layer of the graphical user interface, wherein the third logical layer is positioned between the first, logical layer and the second logical layer; generating, by the computing device and based at least in part on the first, the second, and the third logical layers, a message animation that includes the message; and outputting, by the computing device and for display, the message animation within the graphical user interface of the messaging application.
2. The method of claim 1, wherein the message includes an indication of an animation effect, and wherein the animation effect includes at least a first animation effect for a foreground layer of the message and a second animation effect for a background layer of the message.
3. The method of claim 1 , wherein at least one of the first animation effect or the second animation effect includes a change in position or orientation of one or more graphical user interface elements of the graphical user interface, wherein each of the one or more graphical user interface elements are associated with the message or one or more prior messages of a plurality of prior messages displayed within the graphical user interface of the messaging application.
4. The method of claim 3, further comprising: determining, by the computing device, a first keyframe that defines a visual starting location of the one or more graphical user interface elements; and determining, by the computing, device, a second keyframe, wherein the second keyframe defines a subsequent visual location of the one or more graphical user interface elements, and wherein generating the message animation comprises generating the message animation according to the first keyframe and the second keyframe.
5. The method of claim 3, wherein the one or more graphical user interface elements are visually positioned within the graphical user interface of the messaging application so that the each of the one or more graphical user interface elements do not visually overlap other graphical user interface elements of the one or more graphical user interface elements.
6. The method of any of claims 1-5, wherein at least one of the first animation effect or the second animation effect includes a change in scale of a graphical user interface element of the graphical user interface, wherein the graphical user interface element is associated with the message.
7. The method of any of claims 1 -6, wherein the first animation effect visually overlays the second animation effect or one or more visual elements of the graphical user interface.
8. The method of any of claims 1-7, wherein the second animation effect visually underlies the fi rst ani mation effect or one or more visual elements of the graphical user interface.
9. The .method of any of clai ms 1-8, w herein genera ting the message animation is further based on one or more colors included in an active graphical user interface theme.
10. The method of any of claims I -9, wherein determining the animation effect for the message further comprises: identifying one or more predetermined words or phrases within the text of the message; and selecting, based on the one or more predetermined words or phrases, the animation effect for the message from a plurality of animation effects.
11. The method of any of claims 1-10, wherein the graphical user interface is a graphical user interface, and further comprising; receiving a second indication of an animation effect, wherein the animation effect of the second indication includes at least a third animation effect, a fourth animation effect, and an indication to generate the fourth animation effect after a predetermined period of time; generating, by the computing device and based at least in part on a third animation effect, a second graphical user interface; outputting, by the computing device and for display, the third animation effect within the second graphical user interface; responsive to determining that the predetermined period of time has elapsed, generating, by the computing device and based at least in part on a fourth animation effect, a third graphical user interface; and outputting, by the computing device and for display, the fourth animation effect within the third graphical user interface.
12. A computing de vice, comprising: one or more user input detection components; one or more displays; and one or more processors configured to: receive, using a messaging application executed by the computing device, a message that includes text; determine an animation effect based on the text, wherein the animation effect includes a first animation effect and a second animation effect; associate the first animation effect with a first logical layer of a graphical user interface of the messaging application, the second animation effect with a second logical layer of the graphical user interface, and the text with a third, logical layer of the graphical user interface, wherein the third, logical layer is positioned between the first logical layer and the second logical layer; generate, based at least in part on the first, the second, and the third logical layers, a message animation that includes the message; and output, for display, the message animation within the graphical user interface of the messaging application.
13 The computing device of claim 12, wherein the message includes an indication of an animation effect, and wherein the animation effect includes at least a first animation effect for a foreground layer of the message and a second animation eff ect for a background layer of the message.
14. The computing device of any of claims 12-13, comprising means for performing any combination of the methods of claims 3-1 1.
15. A non-transitory computer-readable medium, encoded with instructions that, when executed by one or more processors of a computing device, cause the one or more processors to perform any combination of the methods of claims 1-11.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2023/034878 WO2025080248A1 (en) | 2023-10-11 | 2023-10-11 | Animated communication based effects |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4792507A1 true EP4792507A1 (en) | 2026-08-19 |
Family
ID=88757505
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23804820.1A Pending EP4792507A1 (en) | 2023-10-11 | 2023-10-11 | Animated communication based effects |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP4792507A1 (en) |
| CN (1) | CN121970310A (en) |
| DE (1) | DE112023007016T5 (en) |
| WO (1) | WO2025080248A1 (en) |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040250212A1 (en) * | 2003-05-20 | 2004-12-09 | Fish Edmund J. | User interface for presence and geographic location notification based on group identity |
| JP2005115896A (en) * | 2003-10-10 | 2005-04-28 | Nec Corp | Communication apparatus and method |
| KR100701856B1 (en) * | 2005-08-12 | 2007-04-02 | 삼성전자주식회사 | Method of providing background effect of message in mobile communication terminal |
| US20090016617A1 (en) * | 2007-07-13 | 2009-01-15 | Samsung Electronics Co., Ltd. | Sender dependent messaging viewer |
| US20100248741A1 (en) * | 2009-03-30 | 2010-09-30 | Nokia Corporation | Method and apparatus for illustrative representation of a text communication |
| US20210303119A1 (en) * | 2020-03-30 | 2021-09-30 | Daniel Evan Notice | Mobile messaging system with interactive animated icons and sounds and method for use |
-
2023
- 2023-10-11 EP EP23804820.1A patent/EP4792507A1/en active Pending
- 2023-10-11 CN CN202380102957.4A patent/CN121970310A/en active Pending
- 2023-10-11 DE DE112023007016.4T patent/DE112023007016T5/en active Pending
- 2023-10-11 WO PCT/US2023/034878 patent/WO2025080248A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| DE112023007016T5 (en) | 2026-08-06 |
| CN121970310A (en) | 2026-05-01 |
| WO2025080248A1 (en) | 2025-04-17 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |