Method and system for placing animated images within a dynamic keyboard interface

The method and system optimize the placement of animated images in dynamic keyboard interfaces by using context and interaction data to improve relevance and accessibility, addressing inefficiencies in existing interfaces.

JP7799782B2Active Publication Date: 2026-01-15GOOGLE LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024180671
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2018-08-31
Filing Date
2024-10-16
Publication Date
2026-01-15
Estimated Expiration
2039-08-20

AI Technical Summary

Technical Problem

Existing dynamic keyboard interfaces lack the ability to effectively utilize animated images based on context and user interactions, leading to inefficient selection and presentation of relevant content.

Method used

A method and system that determines the location of animated images within a dynamic keyboard interface based on user context, previous interactions, and contextual data, including frequency of selection and sharing, to enhance relevance and accessibility.

Benefits of technology

Enhances the presentation of contextually relevant animated images, reducing search time and conserving computing resources by presenting more relevant images quickly and prominently.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007799782000001
    Figure 0007799782000001
  • Figure 0007799782000002
    Figure 0007799782000002
  • Figure 0007799782000003
    Figure 0007799782000003
Patent Text Reader

Abstract

To provide methods and systems for positioning animated images within a dynamic keyboard interface.SOLUTION: Methods and systems of the present disclosure can: receive data indicating a selection of a particular animated image from amongst a plurality of different animated images presented by a dynamic keyboard interface provided in association with an application; receive data indicating a context of the dynamic keyboard interface or the application; and determine, based at least in part on the data indicating the selection and the data indicating the context, a position within the dynamic keyboard interface for presenting the particular animated image in response to data indicating a subsequent context of the dynamic keyboard interface, the application, and / or a different and distinct application.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Related Applications This application claims priority to and the benefit of U.S. Provisional Patent Application No. 62 / 725,641, filed August 31, 2018. U.S. Provisional Patent Application No. 62 / 725,641 is incorporated herein by reference in its entirety.

[0002] The present disclosure relates generally to animated images and, more particularly, to placing animated images within a dynamic keyboard interface. [Background technology]

[0003] Computing devices (e.g., desktop computers, laptop computers, tablet computers, smartphones, wearable computing devices, etc.) are ubiquitous in modern society. Computing devices support communication between their users and can provide their users with information about their environment, current events, the world at large, etc. Countless different types of interfaces allow users to interact with such devices. For example, many devices include touchscreens and provide interfaces (e.g., including user-selectable options, keyboards, etc.) configured to allow users to input information. Animated images (e.g., Graphics Interchange Format (GIF) images, etc.) can include data representing a series of ordered image frames that, when rendered, generate a moving image, etc. Animated images can be utilized to express, communicate, etc., thoughts, feelings, concepts, emotions, etc. Summary of the Invention [Means for solving the problem]

[0004] Aspects and advantages of embodiments of the present disclosure will be set forth in part in the description that follows, or may be learned from the description, or may be learned through practice of the embodiments.

[0005] One exemplary aspect of the present disclosure is directed to a computer-implemented method. The method may include receiving, by one or more computing devices, data indicating a selection of a particular animated image from among a plurality of different animated images to be presented by a dynamic keyboard interface provided in association with an application. The method may also include receiving, by the computing device, data indicating a dynamic keyboard interface based at least in part on the selection of the plurality of different animated images for presentation by the dynamic keyboard interface and / or data indicating a context of the application based at least in part on the selection of the plurality of different animated images for presentation by the dynamic keyboard interface. The method may further include determining, by the computing device and based at least in part on the data indicating the selection and the data indicating the context, a location within the dynamic keyboard interface for presenting the particular animated image in response to data indicating a subsequent context of the dynamic keyboard interface, the application, and / or a different, separate application associated with which the dynamic keyboard interface is provided.

[0006] Another exemplary aspect of the present disclosure is directed to a system. The system may include one or more processors and a memory storing instructions that, when executed by the processor, cause the system to perform operations. The operations may include receiving, associated with an application for which a dynamic keyboard interface is provided, data indicating a context of the dynamic keyboard interface when a particular animated image is selected from among a plurality of different animated images presented by the dynamic keyboard interface and / or an application for which the dynamic keyboard interface is provided when a particular animated image is selected from among a plurality of different animated images presented by the dynamic keyboard interface. The operations may also include determining, based at least in part on the data indicating the context, a location within the dynamic keyboard interface for presenting the particular animated image in response to data indicating a subsequent context of the dynamic keyboard interface, the application, and / or a different, separate application for which the dynamic keyboard interface is provided.

[0007] A further exemplary aspect of the present disclosure is directed to one or more non-transitory computer-readable media. The non-transitory computer-readable media may comprise instructions that, when executed by one or more computing devices, cause the computing devices to perform operations. The operations may include receiving data indicating a selection of a particular animated image from among a plurality of different animated images presented by a dynamic keyboard interface provided in association with an application. The operations may also include receiving data indicating an amount of time between the selection of the particular animated image and a time at which the plurality of different animated images were presented by the dynamic keyboard interface and / or a time at which the particular animated image was first made selectable from among the plurality of different animated images by the dynamic keyboard interface. The operations may further include determining a location within the dynamic keyboard interface for presenting the particular animated image based at least in part on the data indicating the selection and the data indicating the amount of time in response to data indicating the context of the dynamic keyboard interface, the application, and / or a different, separate application associated with which the dynamic keyboard interface is provided.

[0008] Other aspects of the present disclosure are directed to various systems, apparatus, non-transitory computer-readable media, user interfaces, and electronic devices.

[0009] These and other features, aspects, and advantages of various embodiments of the present disclosure will become better understood with reference to the following description and appended claims. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments of the present disclosure and, together with the description, serve to explain the associated principles.

[0010] A detailed discussion of embodiments directed to those skilled in the art is provided herein and refers to the accompanying drawings. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 1 illustrates an exemplary computing environment according to an exemplary embodiment of the present disclosure. [Figure 2A] FIG. 1 illustrates an exemplary sequence of events according to an exemplary embodiment of the present disclosure. [Figure 2B] FIG. 1 illustrates an exemplary sequence of events according to an exemplary embodiment of the present disclosure. [Figure 2C] FIG. 1 illustrates an exemplary sequence of events according to an exemplary embodiment of the present disclosure. [Figure 2D] FIG. 1 illustrates an exemplary sequence of events according to an exemplary embodiment of the present disclosure. [Figure 2E] FIG. 1 illustrates an exemplary sequence of events according to an exemplary embodiment of the present disclosure. [Figure 3A] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3B] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3C] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3D] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3E] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3F] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3G] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3H]FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3I] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3J] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3K] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3L] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3M] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3N] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3O] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3P] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3Q] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3R] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3S] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3T] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3U]FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3V] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3W] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3X] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 3Y] FIG. 1 illustrates an exemplary graphical user interface (GUI) according to an exemplary embodiment of the present disclosure. [Figure 4] FIG. 1 illustrates an exemplary method according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0012] An example aspect of the present disclosure is directed to arranging animated images within a dynamic keyboard interface. In particular, the animated images may be identified based at least in part on the context of the dynamic keyboard interface (e.g., one or more search terms entered via the dynamic keyboard interface, data presented by and / or entered into one or more applications in association with which the dynamic keyboard interface is provided, etc.), arranged based at least in part on the context, their frequency of selection, etc., and presented by the dynamic keyboard interface associated with the application (e.g., for browsing, selection, etc.).

[0013] Animated images can be presented to a user in the dynamic keyboard interface based on previous interactions with the animated images and / or other contextual information. As one example, animated images that are generally popular (e.g., among many users) can be placed more prominently within the dynamic keyboard interface for the user. As another example, animated images previously selected by a user can be displayed and / or highlighted within the dynamic keyboard interface. Furthermore, animated images that are similar to such previously selected animated images can be displayed and / or highlighted within the dynamic keyboard interface.

[0014] As another example, some animated images may be shared more frequently with multiple recipients (e.g., in a "group chat") than with a single recipient (e.g., in a one-on-one conversation). Animated images that are shared more frequently with multiple recipients may be displayed or highlighted (e.g., displayed more prominently than other animated images) within the dynamic keyboard interface when a user is searching for animated images to send to multiple recipients. Similarly, animated images that are shared more frequently with a single recipient may be displayed or highlighted (e.g., displayed more prominently than other animated images) within the dynamic keyboard interface when a user is searching for animated images to send to a single recipient.

[0015] As a further example, contextually relevant animated images may be presented to a user more prominently based on the user's previous interactions with the user device. A user may select an animated image to send to a first contact. For example, while messaging a friend, the user may suggest going to the beach next weekend. Later, when the user is searching for an animated image to send to a second contact, the computing system may select the animated image based on contextual information collected from the user's interaction with the first contact. For example, in response to a message from the user's boss asking if the user is available to work next weekend, the computing system may display or highlight an animated image related to the beach within a dynamic keyboard interface.

[0016] As yet another example, animated images can be displayed or highlighted based on sequentially shared information indicating the user's previous interactions and / or the previous interactions of other users. For example, a particular GIF may often be shared immediately after or in response to another particular animated image. A computing system can track and record such correlations and suggest animated images based on such contextual information. For example, a user may share an animated image (e.g., an animated image depicting a person saying "call me" and gesturing with a phone). Statistically, this particular user and / or other users may often respond to a particular animated image with a particular animated image (e.g., an animated image including text or an image conveying "like" or "how are you?"). Such animated images can be displayed or highlighted based on contextual information including such correlations.

[0017] As a further example, the animated images can be displayed and / or highlighted based on context information including a “time to share” indicator. The “time to share” indicator can indicate the period of time between (1) when a user begins searching for animated images (e.g., when they enter search criteria and / or begin scrolling through animated images within a dynamic keyboard interface) and (2) when the user selects or otherwise interacts with and / or engages with one of the animated images to share. As a result, the computing system and / or the dynamic keyboard interface can select animated images to display and / or highlight to the user in a manner that reduces the user's search time.

[0018] Additionally, in some implementations, the animated image may be displayed and / or highlighted based on contextual data that may be collected across multiple computer applications (e.g., text messaging applications, email applications, etc.). The dynamic keyboard interface may be configured to interface with multiple applications. Contextual data may be acquired when the dynamic keyboard interface is interfacing with one computer application (e.g., a text messaging application). Such contextual data may be used to select which animated image to display and / or highlight when the dynamic keyboard interface is later used in another, separate computer application (e.g., an email application).

[0019] A dynamic keyboard interface (e.g., for use via a touchscreen, etc.) can be provided (e.g., as part of an operating system (OS), a third-party application, a plug-in, etc.) to one or more user devices (e.g., computers, smartphones, tablet computing devices, wearable computing devices, etc.). One or more aspects of the dynamic keyboard interface can be configured to provide access (e.g., via a search function, a suggestion function, a browsing function, etc.) to a corpus of animated images (e.g., Graphics Interchange Format (GIF) images, etc.) that are, for example, uploaded to, stored by, indexed by, managed by, etc., a remotely located computing system (e.g., one or more computing devices, etc.).

[0020] A user (e.g., utilizing a user device that provides a dynamic keyboard interface, etc.) can perform one or more actions that provide context, such as, for example, the user device, the dynamic keyboard interface, an application (e.g., a messaging application, etc.) associated with which the dynamic keyboard interface is provided, etc. For example, the user can place the user device in a particular geographic location, enter one or more search terms via the dynamic keyboard interface, interact with an application via that interface, etc. Data indicative of the context can be generated (e.g., by the user device, the dynamic keyboard interface, etc.), communicated to a computing system (e.g., via one or more networks, etc.), and received by the computing system, which can update one or more records related to the corpus of animated images based at least in part on such data.

[0021] Based at least in part on the data indicative of the context, records regarding a corpus of animated images, etc., the computing system may identify a plurality of different animated images associated with the context (e.g., contextually relevant, responsive, etc. animated images) for presentation by a dynamic keyboard interface associated with the application. In some embodiments, one or more of the plurality of different animated images associated with the context may include one or more advertisements (e.g., for one or more products, services, media content items, etc.).

[0022] According to aspects of the present disclosure, for each of one or more animated images included in a plurality of different animated images associated with a context, the computing system may determine a location within a dynamic keyboard interface for presenting the animated image (e.g., based at least in part on data indicative of the context, records regarding a corpus of animated images, etc.). Data indicative of the plurality of different animated images associated with the context, their respective determined locations, etc. may be generated (e.g., by the computing system, etc.) and communicated (e.g., over a network, etc.) to the dynamic keyboard interface (e.g., a user device, etc.), and the dynamic keyboard interface may present the plurality of different animated images associated with the context in relation to an application based at least in part on their respective determined locations. For example, the plurality of different animated images associated with the context may be presented in an ordered, sorted, and / or similar manner (e.g., animated images determined to be more relevant, responsive, etc. to the context may be presented more quickly, more prominently, and / or similarly).

[0023] A user can select one or more specific animated images from among a plurality of different animated images associated with a context via the dynamic keyboard interface. For example, a user can select one or more of the specific animated images for communication (e.g., typing, pasting, etc.) to an application via the dynamic keyboard interface. Additionally or alternatively, a user can select one or more of the specific animated images for future accessibility within the dynamic keyboard interface (e.g., designating such specific animated images as frequently used, "favoriting" them, etc.).

[0024] Data indicative of the selection, the type of selection (e.g., for communication to an application, for future accessibility, etc.), the particular animated image selected, etc. can be generated (e.g., by a user device, a dynamic keyboard interface, etc.), communicated (e.g., via a network, etc.) to, and received by, the computing system, which can update its records regarding the corpus of animated images based at least in part on such data.

[0025] A user (e.g., utilizing a user device providing a dynamic keyboard interface, a different separate user device providing a dynamic keyboard interface, etc.) may perform one or more actions that provide subsequent context for, e.g., such user device, the dynamic keyboard interface, an application associated with which the dynamic keyboard interface is provided (e.g., a messaging application, etc.), a different separate application associated with which the dynamic keyboard interface is provided (e.g., an email application, etc.), etc. For example, a user may place such user device in a particular geographic location, enter one or more search terms via the dynamic keyboard interface, interact with such application via the respective interface, etc. Data indicative of the subsequent context may be generated (e.g., by the user device, the different separate user device, the dynamic keyboard interface, etc.), communicated (e.g., via a network, etc.) to, and received by, a computing system, which may update records related to the corpus of animated images based at least in part on such data.

[0026] Based at least in part on the data indicative of the previous context, the data indicative of the subsequent context, the data indicative of the selection, the selection type, the particular animated image selected, etc., records regarding the corpus of animated images, etc., the computing system may identify a plurality of different animated images associated with the subsequent context for presentation by the dynamic keyboard interface associated with the application and / or different distinct applications (e.g., animated images that are relevant to the subsequent context, responsive, etc.). In some embodiments, one or more of the plurality of different animated images associated with the subsequent context may include one or more advertisements.

[0027] According to aspects of the present disclosure, for each of one or more animated images included in a plurality of different animated images associated with a subsequent context, the computing system may determine a location within the dynamic keyboard interface for presenting the animated image (e.g., based at least in part on data indicative of the previous context, data indicative of the subsequent context, data indicative of the selection, the selection type, the particular animated image selected, etc., records regarding the corpus of animated images, etc.).

[0028] Data indicative of a plurality of different animated images associated with the subsequent context, their respective determined positions, etc., can be generated (e.g., by a computing system, etc.) and communicated (e.g., over a network, etc.) to a dynamic keyboard interface (e.g., a user device, a different separate user device, etc.), which can present the plurality of different animated images associated with the subsequent context in association with the application and / or different separate applications based at least in part on their respective determined positions. For example, the plurality of different animated images associated with the subsequent context can be presented in an ordered, sorted, and / or similar manner (e.g., animated images determined to be more relevant, responsive, etc. to the subsequent context can be presented more quickly, more prominently, and / or similarly).

[0029] In some embodiments, the animated images included in the plurality of different animated images associated with the subsequent context may include one or more of the particular animated images previously selected. In some such embodiments, the location within the dynamic keyboard interface for presenting such particular animated images may be determined based at least in part on their previous selection, the context associated with their selection, etc. For example, such particular animated images may be presented earlier, more prominently, and / or in a similar manner than they would otherwise be (e.g., absent their previous selection, etc.). In some embodiments, one or more of such particular animated images may include one or more advertisements.

[0030] In some embodiments, the data indicative of the previous context may indicate one or more search terms entered via a dynamic keyboard interface. In some such embodiments, the data indicative of the subsequent context may indicate at least one of such search terms entered via a dynamic keyboard interface.

[0031] In some embodiments, the data indicative of the previous context may indicate data presented by and / or entered into an application associated with the previous context, and the data indicative of the subsequent context may indicate one or more of data presented by or entered into such application, a different separate application, a dynamic keyboard interface, etc. In some such embodiments, for at least one animated image among the plurality of different animated images associated with the subsequent context, determining a location within the dynamic keyboard interface for presenting such animated image may include determining data presented by and / or entered into an application associated with the previous context, which corresponds at least in part to one or more of data presented by or entered into such application, a different separate application, a dynamic keyboard interface, etc.

[0032] In some embodiments, the data indicative of the previous context may indicate a previously selected animated image via the dynamic keyboard interface, a time at which a previously selected animated image via the dynamic keyboard interface was selected, etc. In some of such embodiments, the data indicative of the subsequent context may include data indicative of a previously selected selection of an animated image via the dynamic keyboard interface, a time associated with a selection of an animated image via the dynamic keyboard interface, etc.

[0033] In some embodiments, the data indicative of the prior context may indicate a human language preference associated with a user device on which an application associated with the prior context executes, a geographic region in which such user device is registered, a network identifier associated with such user device, a geographic location of such user device associated with a particular animated image selection, a time associated with a particular animated image selection, a time of day associated with a particular animated image selection, a date associated with a particular animated image selection, a day of the week associated with a particular animated image selection, a month associated with a particular animated image selection, a year associated with a particular animated image selection, an audience size associated with a particular animated image selection, an entity that provided one or more of the particular animated images and / or content included in one or more of the particular animated images, etc. In some such embodiments, the data indicative of the subsequent context may include data corresponding at least in part to a human language preference, a geographic region, a network identifier, a geographic location, a time, a time of day, a date, a day of the week, a month, a year, an audience size, an entity, etc.

[0034] In some embodiments, the computing system may receive (e.g., from a user device on which an application associated with the previous context executes, over a network, etc.) data indicating an amount of time between selection of a particular animated image and a time when a plurality of different animated images associated with the previous context were presented by the dynamic keyboard interface, a time when the particular selected animated image first became available for selection by the dynamic keyboard interface from among the plurality of different animated images associated with the previous context, etc. In some such embodiments, determining, for at least one animated image included in the plurality of different animated images associated with the subsequent context, a location within the dynamic keyboard interface for presenting such animated image may include determining such location based at least in part on the data indicating the amount of time.

[0035] In some embodiments, determining such a position based at least in part on data indicative of the amount of time may include normalizing the data indicative of the amount of time based at least in part on a position of a plurality of different animated images associated with a previous context within the dynamic keyboard interface when such an animated image was presented by the dynamic keyboard interface, a position of such an animated image within the dynamic keyboard interface when such an animated image was first made selectable from among a plurality of different animated images associated with a previous context by the dynamic keyboard interface, etc.

[0036] In some embodiments, for at least one animated image included in a plurality of different animated images associated with a subsequent context, determining a location within the dynamic keyboard interface for presenting such animated image may include determining a selection frequency for such animated image based at least in part on data indicating a selection of such animated image. In some such embodiments, a location for such animated image may be determined based at least in part on a selection frequency for such animated image, one or more selection frequencies for such location, etc.

[0037] The techniques described herein may provide many technical effects and advantages. For example, as previously indicated, the techniques described herein may present animated images more quickly, more prominently, and / or similarly that are determined to be more relevant, responsive, etc. to a given context, thereby reducing the time spent viewing, locating, etc. such animated images, and thus conserving computing resources (e.g., energy, processing cycles, network bandwidth, etc.).

[0038] Referring now to the drawings, exemplary embodiments of the present disclosure will be described in more detail.

[0039] FIG. 1 illustrates an exemplary computing environment according to an exemplary embodiment of the present disclosure.

[0040] 1 , environment 100 may include one or more computing devices (e.g., one or more desktop computers, laptop computers, tablet computers, mobile devices, smartphones, wearable devices, servers, etc.). For example, environment 100 may include computing devices 10, 20, 30, 40, and 50, as well as computing system 112, which may include one or more computing devices. Environment 100 may also include one or more networks 110 (e.g., one or more wired networks, wireless networks, etc.). Network 110 may interface computing devices 10, 20, 30, 40, and / or 50 with each other and / or with computing system 112.

[0041] Computing device 10 may include one or more processors 102, one or more communication interfaces 104, and memory 106 (e.g., one or more hardware components for storing executable instructions, data, etc.). Communication interface 104 may enable computing device 10 to communicate with computing devices 20, 30, 40, and / or 50 and / or with computing system 112. Memory 106 may include (e.g., store, etc.) instructions 108. When executed by processor 102, instructions 108 may cause computing device 10 to perform one or more operations, functions, etc., as illustrated herein. It will be understood that computing devices 20, 30, 40, and / or 50 may include one or more of the components described above with respect to computing device 10.

[0042] Computing system 112 may include one or more processors 114, one or more communication interfaces 116, and memory 118 (e.g., one or more hardware components for storing executable instructions, data, etc.). Communication interface 116 may enable computing system 112 to communicate with computing devices 10, 20, 30, 40, and / or 50. Memory 118 may include (e.g., store, etc.) instructions 120. When executed by processor 114, instructions 120 may cause computing system 112 to perform one or more operations, functions, etc., as described herein.

[0043] Unless otherwise specified, the operations, functions, etc. illustrated herein may be performed by computing devices 10, 20, 30, 40, and / or 50 and / or computing system 112 (e.g., by computing devices 10, 20, 30, 40, or 50, by computing system 112, by one or more combinations of computing devices 10, 20, 30, 40, and / or 50 and / or computing system 112, etc.).

[0044] 2A-2E illustrate an example sequence of events according to an example embodiment of the present disclosure.

[0045] 2A , at (202), computing device 10 may communicate (e.g., via network 110, etc. (as indicated by the pattern-filled box above the line extending downward from network 110)) data indicative of one or more animated images (e.g., Graphics Interchange Format (GIF) images, etc.), advertisements, advertising content, a context for presenting such animated images, advertisements, advertising content, etc., to computing system 112, which may receive and store such data, one or more records generated at least in part based thereon, etc. For example, computing system 112 may be located remotely from computing devices 10, 20, 30, 40, and / or 50 and may receive, store, index, manage, etc., uploads to a corpus of animated images, one or more records related to such corpus, etc.

[0046] Similarly, at (204), computing device 20 may communicate data indicative of a context for presenting one or more animated images, advertisements, advertising content, etc. to computing system 112, and computing system 112 may receive and store such data, one or more records generated at least in part based thereon, etc.; and at (206), computing device 30 may communicate data indicative of a context for presenting one or more animated images, advertisements, advertising content, etc. to computing system 112, and computing system 112 may receive and store such data, one or more records generated at least in part based thereon, etc.

[0047] Computing device 40 may be a user device (e.g., one or more associated computing devices that are at least temporarily associated with a particular user, user account, etc.). Computing device 50 may be a distinct user device different from computing device 40 (e.g., one or more associated computing devices that are at least temporarily associated with a different distinct user, user account, etc.).

[0048] Computing devices 40 and / or 50 may execute one or more different separate applications. For example, with reference to Figure 3A, computing devices 40 and / or 50 may execute an application associated with graphical user interface (GUI) element 302 (e.g., a messaging application, etc.), a different separate application associated with element 304 (e.g., an email application, etc.), etc.

[0049] 3B , in some embodiments (e.g., to mitigate potential privacy concerns, etc.), one or more users of computing devices 40 and / or 50 may be provided with one or more controls (e.g., via element 306, etc.) to enable the user to make one or more selections regarding whether and / or when the methods, systems, features, operations, etc. described herein may enable collection of particular data (e.g., presented by and / or entered into an application, a dynamic keyboard interface described herein, etc.), and / or the like. Additionally or alternatively, particular data (e.g., presented by and / or entered into an application, a dynamic keyboard interface described herein, etc.) may be processed in one or more ways before storage, use, etc. (e.g., such personally identifiable information may be removed, etc.). For example, a user's identity, data associated therewith, etc. may be processed such that the user's personally identifiable information cannot be determined and / or the like. Thus, users can control what data is collected about them, how that information is used, what information they are provided with, and so on.

[0050] According to aspects of the present disclosure, a dynamic keyboard interface (e.g., for use via a touchscreen, etc.) may be provided to and by, e.g., computing device 40 and / or 50 (e.g., as part of an operating system (OS), a third-party application, a plug-in, etc.). For example, with reference to FIG. 3C , portion 314 of the illustrated GUI may be associated with such a dynamic keyboard interface. One or more aspects of the dynamic keyboard interface may be configured to provide access to a corpus of animated images uploaded to, stored by, indexed by, managed by, etc., computing system 112 (e.g., via a search function, a suggestion function, a browsing function, etc.). The dynamic keyboard interface may be provided in association with one or more of the applications executed by computing device 40 and / or 50. For example, portion 312 may be associated with an application (e.g., a messaging application, etc.) associated with element 302, and a dynamic keyboard interface may be provided in association with such application as shown.

[0051] Element 316 may correspond to an input area (e.g., for composing a message, etc.), and element 318 may correspond to an option for communicating data located in such input area to an application associated with portion 312 (e.g., for subsequent communication over network 110 to a computing device associated with "JoeFriend," etc.).

[0052] Element 320 can be configured to, for example, switch, flip, rotate, etc., the dynamic keyboard interface between a variety of different keyboards associated with different languages, alphabets, etc. (e.g., the illustrated qwerty keyboard, etc.) According to aspects of the present disclosure, such a keyboard can include an animated image keyboard configured to present a variety of different animated images (e.g., for browsing, selection, etc.).

[0053] 2A , at (208), the user may perform one or more actions that provide one or more different and distinct contexts associated with computing device 40. The provided contexts may be of computing device 40, a dynamic keyboard interface, an application associated with portion 312, etc. For example, the user may place computing device 40 in a particular geographic location, interact with an application associated with portion 312 through that interface, etc.

[0054] At (210), computing device 40 (e.g., a dynamic keyboard interface, etc.) can generate data indicative of such context and can communicate such data to computing system 112, which can receive the data and update records regarding the corpus of animated images based at least in part thereon. In some embodiments, the data indicative of the context can be indicative of data presented by and / or entered into a dynamic keyboard interface, an application associated with portion 312, etc. (e.g., "We're at the beach," "Great! Enjoy the beach," etc.).

[0055] Based at least in part on the data indicative of the context, records regarding a corpus of animated images, etc., at (212), the computing system 112 may identify a plurality of different animated images associated with the context for presentation by a dynamic keyboard interface associated with an application associated with portion 312 (e.g., animated images that are contextually relevant, responsive, etc.).

[0056] In some embodiments, one or more of the plurality of different animated images associated with a context may include one or more advertisements (e.g., for one or more products, services, media content items, etc.). For example, such animated images may include advertising content, data (e.g., links, etc.) configured to trigger an application (e.g., a web browser, an application associated with the subject matter, source, etc. of the advertisement, etc.) executed by computing device 40 and / or 50 to present, navigate to, etc., content associated with the advertisement, advertising content, etc.

[0057] According to aspects of the present disclosure, based at least in part on data indicative of the context, records regarding a corpus of animated images, etc., the computing system 112 may determine, for each of one or more animated images included in a plurality of different animated images associated with the context, a location within the dynamic keyboard interface for presenting the animated image.

[0058] At (214), the computing system 112 may generate data indicating a plurality of different animated images associated with the context, their respective determined positions, etc., and may communicate such data to the computing device 40 (e.g., a dynamic keyboard interface), which may receive the data.

[0059] 3D , in response to a user invoking element 320, etc., the dynamic keyboard interface can switch (e.g., from a qwerty keyboard, etc.) to the illustrated animated image keyboard, etc., to present multiple different animated images associated with the context based at least in part on their respective determined positions. For example, the multiple different animated images associated with the context can be presented in an ordered, sorted, and / or similar manner (e.g., animated images determined to be more relevant, responsive, etc. to the context can be presented more quickly, more prominently, and / or similarly).

[0060] As shown, multiple different animated images from a plurality of different animated images associated with a context can be displayed simultaneously, alongside one another, by the dynamic keyboard interface. For example, the dynamic keyboard interface can simultaneously display animated images 324, 326, and 328, among other different animated images associated with a context, etc. It will be appreciated that the plurality of different animated images associated with a context can include additional animated images (not shown), which can be displayed, for example, by interacting with the interface (e.g., swiping left, etc.).

[0061] Referring again to FIG. 2A , at (216), a user may select one or more specific animated images from among a plurality of different animated images associated with a context via the dynamic keyboard interface. In some embodiments, the user may select one or more of the specific animated images for communication (e.g., typing, pasting, etc.) via the dynamic keyboard interface to an application associated with portion 312 ( FIG. 3D ). Additionally or alternatively, the user may select one or more of the specific animated images for future accessibility within the dynamic keyboard interface (e.g., designate such specific animated images as frequently used, “favorite,” etc.). For example, referring to FIG. 3E , the user may select animated image 324 for future accessibility within the dynamic keyboard interface (e.g., as indicated by a star superimposed on animated image 324, etc.).

[0062] At (218), computing device 40 may generate data indicating the selection, the selection type (e.g., for future accessibility, etc.), and the particular animated image selected (e.g., animated image 324, etc.), and may communicate such data to computing system 112, which may receive the data and, at (220), may update its records regarding the corpus of animated images based at least in part thereon.

[0063] 2B, at (222), a user may perform one or more actions that provide one or more different and distinct current contexts associated with computing device 40. The provided contexts may be of computing device 40, a dynamic keyboard interface, an application associated with portion 312, or the like. For example, element 322 may correspond to a search box for entering one or more search terms that are used at least in part to identify one or more animated images, or the like; with reference to FIG. 3F, a user may invoke element 322 and utilize the keyboard shown to enter one or more search terms (e.g., "seashells," etc.).

[0064] At 224, computing device 40 (e.g., a dynamic keyboard interface, etc.) can generate data indicative of such context and can communicate such data to computing system 112, which can receive the data and update records regarding the corpus of animated images based at least in part thereon. In some embodiments, the data indicative of context can be indicative of entered search terms, etc.

[0065] Based at least in part on data indicative of the current context, data indicative of previous contexts (e.g., such as received at (210)), data indicative of previous selections, selection types, the particular animated image selected, etc. (e.g., such as received at (218)), records regarding the corpus of animated images, etc., at (226), computing system 112 may identify a plurality of different animated images associated with the current context for presentation by a dynamic keyboard interface associated with an application associated with portion 312 (e.g., animated images that are relevant to the current context, responsive, etc.). In some embodiments, one or more of the plurality of different animated images associated with the current context may include one or more advertisements.

[0066] Based at least in part on the data indicative of the current context, the data indicative of the previous context (e.g., as received at (210)), the data indicative of the previous selection, the selection type, the particular animated image selected, etc. (e.g., as received at (218)), records regarding the corpus of animated images, etc., the computing system 112 can determine, for each of one or more animated images included in a plurality of different animated images associated with the current context, a location within the dynamic keyboard interface for presenting the animated image.

[0067] At (228), computing system 112 may generate data indicative of a plurality of different animated images associated with the current context, their respective determined positions, etc., and may communicate such data to computing device 40 (e.g., dynamic keyboard interface), which may receive the data and, with reference to FIG. 3G , may switch to the illustrated animated image keyboard, etc. (e.g., from a qwerty keyboard, etc.), thereby presenting a plurality of different animated images associated with the current context based at least in part on their respective determined positions. For example, the plurality of different animated images associated with the current context may be presented in an ordered, sorted, and / or similar manner (e.g., animated images determined to be more relevant, responsive, etc. to the current context may be presented more quickly, more prominently, and / or similarly).

[0068] As shown, multiple different animated images from a plurality of different animated images associated with a current context may be displayed simultaneously, side by side, by the dynamic keyboard interface. For example, the dynamic keyboard interface may simultaneously display animated images 326, 330, and 332, among other different animated images associated with the current context, etc.

[0069] At 230, a user may select, via the dynamic keyboard interface, one or more particular animated images from among a plurality of different animated images associated with the current context. For example, with reference to Figure 3H, a user may select animated images 330 and 332 for communication by the dynamic keyboard interface to an application associated with portion 312, etc., and with reference to Figure 31, in response to the user invoking element 318, etc., the dynamic keyboard interface may communicate animated images 330 and 332 to an application associated with portion 312, etc.

[0070] At (232), computing device 40 may generate data indicating the selection, the selection type (e.g., for communication to an application associated with portion 312), and the particular animated image selected (e.g., animated images 330 and 332), and may communicate such data to computing system 112, which may receive the data and, at (234), may update its records regarding the corpus of animated images based at least in part thereon.

[0071] At (236), the user may perform one or more actions that provide one or more different and distinct current contexts associated with computing device 40. The provided contexts may be of computing device 40, a dynamic keyboard interface, an application associated with portion 312, etc. For example, referring to FIG. 3J, the user may interact with the application associated with portion 312 through that interface (e.g., switching from a message conversation with "Joe Friend" to a message conversation with "Cool Cat").

[0072] At (238), computing device 40 (e.g., a dynamic keyboard interface, etc.) may generate data indicative of such context and may communicate such data to computing system 112, which may receive the data and update its records regarding the corpus of animated images based at least in part thereon. In some embodiments, the data indicative of the context may be indicative of data (e.g., "Let's go to the beach") presented by and / or entered into a dynamic keyboard interface, an application associated with portion 312, etc.

[0073] Based at least in part on data indicative of the current context, data indicative of previous contexts (e.g., such as received at (210), (224)), data indicative of previous selections, selection types, the particular animated image selected, etc. (e.g., such as received at (218), (232)), records regarding the corpus of animated images, etc., at (240), computing system 112 may identify a plurality of different animated images associated with the current context for presentation by a dynamic keyboard interface associated with an application associated with portion 312 (e.g., animated images that are relevant to the current context, responsive, etc.). In some embodiments, one or more of the plurality of different animated images associated with the current context may include one or more advertisements.

[0074] Based at least in part on data indicative of the current context, data indicative of previous contexts (e.g., such as received at (210), (224)), data indicative of previous selections, selection types, the particular animated image selected, etc. (e.g., such as received at (218), (232)), records regarding the corpus of animated images, etc., the computing system 112 can determine, for each of one or more animated images included in a plurality of different animated images associated with the current context, a location within the dynamic keyboard interface for presenting the animated image.

[0075] Referring to FIG. 2C , at (242), the computing system 112 may generate data showing a plurality of different animated images associated with the current context, their respective determined positions, etc., and may communicate such data to the computing device 40 (e.g., a dynamic keyboard interface), which may receive the data.

[0076] 3K, in response to a user invoking element 320, etc., the dynamic keyboard interface can switch (e.g., from a qwerty keyboard, etc.) to the illustrated animated image keyboard, etc., to present multiple different animated images associated with the current context based at least in part on their respective determined positions. For example, the multiple different animated images associated with the current context can be presented in an ordered, sorted, and / or similar manner (e.g., animated images determined to be more relevant, responsive, etc. to the current context can be presented more quickly, more prominently, and / or similarly).

[0077] As shown, multiple different animated images from a plurality of different animated images associated with a current context can be displayed simultaneously, side by side, by the dynamic keyboard interface. For example, the dynamic keyboard interface can simultaneously display animated images 324, 328, 330, and 332, among other different animated images associated with the current context, etc.

[0078] In some embodiments, the animated images included in the plurality of different animated images associated with the current context may include one or more of the particular animated images previously selected (e.g., animated images 324, 330, 332, etc.). In some such embodiments, the location within the dynamic keyboard interface for presenting such particular animated images may be determined based at least in part on their previous selection, the previous context associated with their selection, etc. For example, such particular animated images may be presented earlier, more prominently, and / or in a similar manner than they would otherwise be (e.g., absent their previous selection, etc.). In some embodiments, one or more of such particular animated images may include one or more advertisements.

[0079] As previously indicated, in some embodiments, the data indicative of the current context may indicate data presented by and / or entered into the dynamic keyboard interface, an application associated with portion 312, or the like (e.g., "Let's go to the beach," etc.). In some such embodiments, for one or more animated images (e.g., animated images 324, 330, 332, etc.) included in a plurality of different animated images associated with the current context, determining a location within the dynamic keyboard interface for presenting such an animated image may include determining data presented by and / or entered into the dynamic keyboard interface, one or more applications associated with one or more of the previous contexts, and / or the like indicated by data indicative of one or more of the previous contexts (e.g., "We're at the beach," "Great! Enjoy the beach," etc.), which corresponds at least in part to data presented by and / or entered into the dynamic keyboard interface, an application associated with portion 312, and / or the like indicated by data indicative of the current context (e.g., "Let's go to the beach," etc.).

[0080] In some embodiments, the data indicative of one or more of the previous contexts may indicate a human language setting associated with a user device on which an application associated with the previous context executes, a geographic region in which such user device is registered, a network identifier associated with such user device, a geographic location of such user device associated with a particular animated image selection, a time associated with a particular animated image selection, a time of day associated with a particular animated image selection, a date associated with a particular animated image selection, a day of the week associated with a particular animated image selection, a month associated with a particular animated image selection, a year associated with a particular animated image selection, an audience size associated with a particular animated image selection, an entity that provided one or more of the particular animated images and / or content included in one or more of the particular animated images, etc. In some such embodiments, the data indicative of the current context may include data corresponding at least in part to a human language setting, a geographic region, a network identifier, a geographic location, a time, a time of day, a date, a day of the week, a month, a year, an audience size, an entity, etc.

[0081] In some embodiments, the data indicative of one or more of the previous contexts may indicate an animated image previously selected via the dynamic keyboard interface, a time at which an animated image previously selected via the dynamic keyboard interface was selected, etc. In some such embodiments, the data indicative of the current context may include data indicative of a selection of an animated image previously selected via the dynamic keyboard interface, a time associated with a selection of an animated image previously selected via the dynamic keyboard interface, etc.

[0082] In some embodiments, the data indicative of one or more of the previous contexts, the previous selection, the selection type, the particular animated image selected, etc., the records regarding the corpus of animated images, etc., may indicate an amount of time between the selection of the particular animated image and the time when a plurality of different animated images including the particular animated image were presented by the dynamic keyboard interface, the time when the particular selected animated image first became available for selection from among such plurality of different animated images by the dynamic keyboard interface, etc. In some such embodiments, for at least one animated image included in the plurality of different animated images associated with the current context, determining a location within the dynamic keyboard interface for presenting such animated image may include determining such location based at least in part on the data indicative of the amount of time.

[0083] In some embodiments, determining such a position based at least in part on data indicative of the amount of time may include normalizing the data indicative of the amount of time based at least in part on a position of a plurality of different animated images, including the particular animated image, within the dynamic keyboard interface when such animated image is presented by the dynamic keyboard interface, and a position of such animated image within the dynamic keyboard interface when such animated image is first made available for selection from among a plurality of different animated images, including the particular animated image, by the dynamic keyboard interface, or the like.

[0084] At 244, the user may select, via the dynamic keyboard interface, one or more particular animated images from among a plurality of different animated images associated with the current context. For example, with reference to Figure 3L, the user may select animated image 324 for communication by the dynamic keyboard interface to an application associated with portion 312, etc., and with reference to Figure 3M, in response to the user invoking element 318, etc., the dynamic keyboard interface may communicate animated image 324 to an application associated with portion 312, etc.

[0085] At (246), computing device 40 may generate data indicating the selection, the type of selection (e.g., for communication to an application associated with portion 312, etc.), the particular animated image selected (e.g., animated image 324, etc.), and may communicate such data to computing system 112, which may receive the data and, at (248), may update its records regarding the corpus of animated images based at least in part thereon.

[0086] At (250), a user may perform one or more actions that provide one or more different and distinct current contexts associated with computing device 40. For example, with reference to FIG. 3N, a user may switch from an application associated with element 302 (e.g., a messaging application, etc.) to an application associated with element 304 (e.g., an email application, etc.). Portion 334 may be associated with the application associated with element 304, and, as shown, a dynamic keyboard interface may be provided in association with such application. The context provided may be that of computing device 40, the dynamic keyboard interface, the application associated with portion 334, etc.

[0087] At (252), computing device 40 (e.g., a dynamic keyboard interface, etc.) may generate data indicative of such context and may communicate such data to computing system 112, which may receive the data and update records regarding the corpus of animated images based at least in part thereon. In some embodiments, the data indicative of the context may be indicative of data (e.g., "I'm going to the beach") presented by and / or entered into a dynamic keyboard interface, an application associated with portion 334, etc.

[0088] Based at least in part on data indicative of the current context, data indicative of previous contexts (e.g., such as received at (210), (224), (238)), data indicative of previous selections, selection types, particular animated images selected, etc. (e.g., such as received at (218), (232), (246)), records regarding a corpus of animated images, etc., at (254), computing system 112 may identify a plurality of different animated images associated with the current context for presentation by a dynamic keyboard interface associated with an application associated with portion 334 (e.g., animated images relevant to the current context, responsive, etc.). In some embodiments, one or more of the plurality of different animated images associated with the current context may include one or more advertisements.

[0089] Based at least in part on data indicative of the current context, data indicative of previous contexts (e.g., such as received at (210), (224), (238)), data indicative of previous selections, selection types, the particular animated image selected, etc. (e.g., such as received at (218), (232), (246)), records regarding the corpus of animated images, etc., the computing system 112 can determine, for each of one or more animated images included in a plurality of different animated images associated with the current context, a location within the dynamic keyboard interface for presenting the animated image.

[0090] At (256), the computing system 112 may generate data indicating a plurality of different animated images associated with the current context, their respective determined positions, etc., and may communicate such data to the computing device 40 (e.g., a dynamic keyboard interface), which may receive the data.

[0091] 3O, in response to a user invoking element 320, etc., the dynamic keyboard interface can switch (e.g., from a qwerty keyboard, etc.) to the illustrated animated image keyboard, etc., which can present multiple different animated images associated with the current context based at least in part on their respective determined positions. For example, the multiple different animated images associated with the current context can be presented in an ordered, sorted, and / or similar manner (e.g., animated images determined to be more relevant, responsive, etc. to the current context can be presented more quickly, more prominently, and / or similarly).

[0092] As shown, multiple different animated images from a plurality of different animated images associated with a current context can be displayed simultaneously, side by side, by the dynamic keyboard interface. For example, the dynamic keyboard interface can simultaneously display animated images 324, 328, 330, and 332, among other different animated images associated with the current context, etc.

[0093] In some embodiments, the animated images included in the plurality of different animated images associated with the current context may include one or more of the particular animated images previously selected (e.g., animated images 324, 330, 332, etc.). In some such embodiments, the location within the dynamic keyboard interface for presenting such particular animated images may be determined based at least in part on their previous selection, the previous context associated with their selection, etc. For example, such particular animated images may be presented earlier, more prominently, and / or in a similar manner than they would otherwise be (e.g., absent their previous selection, etc.). In some embodiments, one or more of such particular animated images may include one or more advertisements.

[0094] As previously indicated, in some embodiments, the data indicative of the current context may indicate data presented by and / or entered into a dynamic keyboard interface, an application associated with portion 334, or the like (e.g., "I'm going to the beach," etc.). In some such embodiments, for one or more animated images (e.g., animated images 324, 330, 332, etc.) included in a plurality of different animated images associated with the current context, determining a location within the dynamic keyboard interface for presenting such an animated image may include determining data presented by and / or entered into the dynamic keyboard interface, one or more applications associated with one or more of the previous contexts, and / or the like indicated by data indicative of one or more of the previous contexts (e.g., "We're at the beach," "Great! Enjoy the beach," "Let's go to the beach," etc.), which corresponds at least in part to data presented by and / or entered into the dynamic keyboard interface, an application associated with portion 334, and / or the like indicated by data indicative of the current context (e.g., "I'm going to the beach," etc.).

[0095] At (258), the user can perform one or more actions that provide one or more different and distinct current contexts associated with computing device 40. The provided contexts can be of computing device 40, a dynamic keyboard interface, an application associated with portion 334, etc. For example, with reference to FIG. 3P, the user can invoke element 322 and utilize the keyboard shown to enter one or more search terms (e.g., "seashells").

[0096] At (260), computing device 40 (e.g., a dynamic keyboard interface, etc.) can generate data indicative of such context and can communicate such data to computing system 112, which can receive the data and update records regarding the corpus of animated images based at least in part thereon. In some embodiments, the data indicative of context can indicate entered search terms, etc.

[0097] 2D , based at least in part on data indicative of the current context, data indicative of previous contexts (e.g., such as received at (210), (224), (238), (252)), data indicative of previous selections, selection types, the particular animated image selected, etc. (e.g., such as received at (218), (232), (246)), records regarding a corpus of animated images, etc., at (262), computing system 112 may identify a plurality of different animated images associated with the current context for presentation by a dynamic keyboard interface associated with an application associated with portion 334 (e.g., animated images that are relevant to the current context, responsive, etc.). In some embodiments, one or more of the plurality of different animated images associated with the current context may include one or more advertisements.

[0098] Based at least in part on the data indicative of the current context, the data indicative of previous contexts (e.g., such as received at (210), (224), (238), (252)), the data indicative of previous selections, selection types, the particular animated image selected, etc. (e.g., such as received at (218), (232), (246)), records regarding the corpus of animated images, etc., the computing system 112 can determine, for each of one or more animated images included in a plurality of different animated images associated with the current context, a location within the dynamic keyboard interface for presenting the animated image.

[0099] At (264), computing system 112 may generate data indicative of a plurality of different animated images associated with the current context, their respective determined positions, etc., and may communicate such data to computing device 40 (e.g., dynamic keyboard interface), which may receive the data and, with reference to FIG. 3Q, switch to the illustrated animated image keyboard, etc. (e.g., from a qwerty keyboard, etc.), thereby presenting a plurality of different animated images associated with the current context based at least in part on their respective determined positions. For example, the plurality of different animated images associated with the current context may be presented in an ordered, sorted, and / or similar manner (e.g., animated images determined to be more relevant, responsive, etc. to the current context may be presented more quickly, more prominently, and / or similarly).

[0100] As shown, multiple different animated images from a plurality of different animated images associated with a current context may be displayed simultaneously, side by side, by the dynamic keyboard interface. For example, the dynamic keyboard interface may simultaneously display animated images 326, 330, and 332, among other different animated images associated with the current context, etc.

[0101] In some embodiments, the animated images included in the plurality of different animated images associated with the current context may include one or more of the particular animated images previously selected (e.g., animated images 330, 332, etc.). In some such embodiments, the location within the dynamic keyboard interface for presenting such particular animated images may be determined based at least in part on their previous selection, the previous context associated with their selection, etc. For example, such particular animated images may be presented earlier, more prominently, and / or in a similar manner than they would otherwise be (e.g., absent their previous selection, etc.). In some embodiments, one or more of such particular animated images may include one or more advertisements.

[0102] In some embodiments, for at least one animated image among a plurality of different animated images associated with the current context, determining a location within the dynamic keyboard interface for presenting such animated image may include determining a selection frequency for such animated image based at least in part on previously received data indicating a selection of such animated image. In some such embodiments, a location for such animated image may be determined based at least in part on a selection frequency for such animated image, one or more selection frequencies for such location, etc.

[0103] In some embodiments, the computing system 112 can determine one or more selection frequencies for such locations based at least in part on data indicating one or more selection frequencies for one or more animated images previously presented at such locations within the dynamic keyboard interface. In some embodiments, the animated images previously presented at such locations can include one or more animated images that do not include advertising content. Additionally or alternatively, the animated images previously presented at such locations can include one or more animated images comprising one or more advertisements that are different from the advertisement included in the animated image whose location is being determined. In some embodiments, the computing system 112 can determine one or more selection frequencies for such locations based at least in part on data indicating one or more previous contexts in which animated images were previously presented at such locations.

[0104] At (266), the user may select, via the dynamic keyboard interface, one or more particular animated images from among a plurality of different animated images associated with the current context. For example, the user may select animated image 326 for communication by the dynamic keyboard interface to an application associated with portion 334, etc., and, referring to FIG. 3R, the dynamic keyboard interface may communicate animated image 326 to an application associated with portion 334, etc.

[0105] At (268), computing device 40 may generate data indicating the selection, the selection type (e.g., for communication to an application associated with portion 334), and the particular animated image selected (e.g., animated image 326, etc.), and may communicate such data to computing system 112, which may receive the data and, at (270), may update its records regarding the corpus of animated images based at least in part thereon.

[0106] At (272), the user may perform one or more actions that provide one or more different and distinct current contexts associated with computing device 50. The provided contexts may be of computing device 50, a dynamic keyboard interface, an application associated with portion 312, etc. For example, referring to FIG. 3S, the user may interact with the application associated with portion 312 through that interface (e.g., switching to a message conversation with “John S.”).

[0107] At (274), computing device 50 (e.g., dynamic keyboard interface, etc.) can generate data indicative of such context and can communicate such data to computing system 112, which can receive the data and update records regarding the corpus of animated images based at least in part thereon. In some embodiments, the data indicative of the context can be indicative of data (e.g., "consectetur coast," etc.) presented by and / or entered into a dynamic keyboard interface, an application associated with portion 312, etc.

[0108] Based at least in part on data indicative of the current context, data indicative of previous contexts (e.g., such as received at (210), (224), (238), (252), (260)), data indicative of previous selections, selection types, the particular animated image selected, etc. (e.g., such as received at (218), (232), (246), (268)), records regarding a corpus of animated images, etc., at (276), computing system 112 may identify a plurality of different animated images associated with the current context for presentation by a dynamic keyboard interface associated with an application associated with portion 312 (e.g., animated images relevant to the current context, responsive, etc.). In some embodiments, one or more of the plurality of different animated images associated with the current context may include one or more advertisements.

[0109] Based at least in part on data indicative of the current context, data indicative of previous contexts (e.g., such as received at (210), (224), (238), (252), (260)), data indicative of previous selections, selection types, the particular animated image selected, etc. (e.g., such as received at (218), (232), (246), (268)), records regarding the corpus of animated images, etc., computing system 112 can determine, for each of one or more animated images included in a plurality of different animated images associated with the current context, a location within the dynamic keyboard interface for presenting the animated image.

[0110] At (278), computing system 112 may generate data showing a plurality of different animated images associated with the current context, their respective determined positions, etc., and may communicate such data to computing device 50 (e.g., a dynamic keyboard interface), and computing device 40 may receive the data.

[0111] 3T, in response to a user invoking element 320, etc., the dynamic keyboard interface can switch (e.g., from a qwerty keyboard, etc.) to the illustrated animated image keyboard, etc., which can present multiple different animated images associated with the current context based at least in part on their respective determined positions. For example, the multiple different animated images associated with the current context can be presented in an ordered, sorted, and / or similar manner (e.g., animated images determined to be more relevant, responsive, etc. to the current context can be presented more quickly, more prominently, and / or similarly).

[0112] As shown, multiple different animated images from a plurality of different animated images associated with a current context can be displayed simultaneously, side by side, by the dynamic keyboard interface. For example, the dynamic keyboard interface can simultaneously display animated images 324, 328, 330, and 332, among other different animated images associated with the current context, etc.

[0113] In some embodiments, the animated images included in the plurality of different animated images associated with the current context may include one or more of the particular animated images previously selected (e.g., animated images 324, 330, 332, etc.). In some such embodiments, the location within the dynamic keyboard interface for presenting such particular animated images may be determined based at least in part on their previous selection, the previous context associated with their selection, etc. For example, such particular animated images may be presented earlier, more prominently, and / or in a similar manner than they would otherwise be (e.g., absent their previous selection, etc.). In some embodiments, one or more of such particular animated images may include one or more advertisements.

[0114] As previously indicated, in some embodiments, the data indicative of the current context may indicate data presented by and / or entered into the dynamic keyboard interface, an application associated with portion 312, etc. (e.g., "consectetur beach," etc.). In some such embodiments, for one or more animated images (e.g., animated images 324, 330, 332, etc.) included in a plurality of different animated images associated with the current context, determining a location within the dynamic keyboard interface for presenting such an animated image may include determining data presented by and / or entered into the dynamic keyboard interface, one or more applications associated with one or more of the previous contexts, and / or the like indicated by data indicative of one or more of the previous contexts (e.g., "We are at the beach," "Great! Enjoy the beach," "Let's go to the beach," "I'm going to the beach," etc.), which corresponds at least in part to data presented by and / or entered into the dynamic keyboard interface, an application associated with portion 312, and / or the like indicated by data indicative of the current context (e.g., "consectetur beach," etc.).

[0115] At 280, a user may select, via the dynamic keyboard interface, one or more particular animated images from among a plurality of different animated images associated with the current context. For example, with reference to Figure 3U, a user may select animated image 328 for communication by the dynamic keyboard interface to an application associated with portion 312, etc., and with reference to Figure 3V, in response to the user invoking element 318, etc., the dynamic keyboard interface may communicate animated image 328 to an application associated with portion 312, etc.

[0116] Referring to FIG. 2E, at (282), computing device 50 may generate data indicating the selection, the selection type (e.g., for communication to an application associated with portion 312), and the particular animated image selected (e.g., animated image 328, etc.), and may communicate such data to computing system 112, which may receive the data and, at (284), may update its records regarding the corpus of animated images based at least in part thereon.

[0117] At (286), the user may perform one or more actions that provide one or more different and distinct current contexts associated with computing device 50. For example, with reference to FIG. 3W, the user may switch from an application associated with element 302 (e.g., a messaging application, etc.) to an application associated with element 304 (e.g., an email application, etc.). The contexts provided may be of the application associated with computing device 50, a dynamic keyboard interface, portion 334, etc.

[0118] At (288), computing device 50 (e.g., dynamic keyboard interface, etc.) can generate data indicative of such context and can communicate such data to computing system 112, which can receive the data and update records regarding the corpus of animated images based at least in part thereon. In some embodiments, the data indicative of the context can be indicative of data (e.g., "consectetur coast," etc.) presented by and / or entered into a dynamic keyboard interface, an application associated with portion 334, etc.

[0119] Based at least in part on data indicative of the current context, data indicative of previous contexts (e.g., such as received at (210), (224), (238), (252), (260), (274)), data indicative of previous selections, selection types, particular animated images selected, etc. (e.g., such as received at (218), (232), (246), (268), (282)), records regarding a corpus of animated images, etc., at (290), the computing system 112 may identify a plurality of different animated images associated with the current context for presentation by a dynamic keyboard interface associated with an application associated with portion 334 (e.g., animated images relevant to the current context, responsive, etc.). In some embodiments, one or more of the plurality of different animated images associated with the current context may include one or more advertisements.

[0120] Based at least in part on the data indicative of the current context, the data indicative of previous contexts (e.g., such as received at (210), (224), (238), (252), (260), (274)), the data indicative of previous selections, selection types, the particular animated image selected, etc. (e.g., such as received at (218), (232), (246), (268), (282)), records regarding the corpus of animated images, etc., the computing system 112 can determine, for each of one or more animated images included in a plurality of different animated images associated with the current context, a location within the dynamic keyboard interface for presenting the animated image.

[0121] At (292), the computing system 112 can generate data showing a plurality of different animated images associated with the current context, their respective determined positions, etc., and can communicate such data to the computing device 50 (e.g., a dynamic keyboard interface), which can receive the data.

[0122] 3X, in response to a user invoking element 320, etc., the dynamic keyboard interface can switch (e.g., from a qwerty keyboard, etc.) to the illustrated animated image keyboard, etc., which can present multiple different animated images associated with the current context based at least in part on their respective determined positions. For example, the multiple different animated images associated with the current context can be presented in an ordered, sorted, and / or similar manner (e.g., animated images determined to be more relevant, responsive, etc. to the current context can be presented more quickly, more prominently, and / or similarly).

[0123] As shown, multiple different animated images from a plurality of different animated images associated with a current context can be displayed simultaneously, side by side, by the dynamic keyboard interface. For example, the dynamic keyboard interface can simultaneously display animated images 324, 328, 330, and 332, among other different animated images associated with the current context, etc.

[0124] In some embodiments, the animated images included in the plurality of different animated images associated with the current context may include one or more of the particular animated images previously selected (e.g., animated images 324, 328, 330, 332, etc.). In some such embodiments, the location within the dynamic keyboard interface for presenting such particular animated images may be determined based at least in part on their previous selection, the previous context associated with their selection, etc. For example, such particular animated images may be presented earlier, more prominently, and / or in a similar manner than they would otherwise be (e.g., absent their previous selection, etc.). In some embodiments, one or more of such particular animated images may include one or more advertisements.

[0125] As previously indicated, in some embodiments, the data indicative of the current context may indicate data presented by and / or entered into the dynamic keyboard interface, an application associated with portion 334, etc. (e.g., "consectetur beach," etc.). In some such embodiments, for one or more animated images (e.g., animated images 324, 328, 330, 332, etc.) included in a plurality of different animated images associated with the current context, determining a location within the dynamic keyboard interface for presenting such an animated image may include determining data presented by and / or entered into the dynamic keyboard interface, one or more applications associated with one or more of the previous contexts, and / or the like indicated by data indicative of one or more of the previous contexts (e.g., "we are at the beach," "nice! enjoy the beach," "let's go to the beach," "I'm going to the beach," "consectetur beach," etc.), which corresponds at least in part to data presented by and / or entered into the dynamic keyboard interface, an application associated with portion 334, and / or the like indicated by data indicative of the current context (e.g., "consectetur beach," etc.).

[0126] At (294), the user may select, via the dynamic keyboard interface, one or more particular animated images from among a plurality of different animated images associated with the current context. For example, the user may select animated image 328 for communication by the dynamic keyboard interface to an application associated with portion 334, etc., and, referring to FIG. 3Y, the dynamic keyboard interface may communicate animated image 328 to an application associated with portion 334, etc.

[0127] At (296), computing device 50 may generate data indicating the selection, the type of selection (e.g., for communication to an application associated with portion 334), and the particular animated image selected (e.g., animated image 328, etc.), and may communicate such data to computing system 112, which may receive the data and, at (298), may update its records regarding the corpus of animated images based at least in part thereon.

[0128] FIG. 4 illustrates an exemplary method according to an exemplary embodiment of the present disclosure.

[0129] 4, at (402), one or more computing devices may receive data indicating a dynamic keyboard interface provided in association with an application and / or a context of the application. For example, computing system 112 may receive from computing device 40 a dynamic keyboard interface provided in association with an application (e.g., a messaging application, etc.) associated with portion 312 and / or data indicating a context of the application associated with portion 312.

[0130] At (404), the computing device may identify, based at least in part on the data indicative of the context, a plurality of different animated images for presentation by a dynamic keyboard interface associated with the application. For example, based at least in part on the data received from computing device 40, computing system 112 may identify a plurality of different animated images (e.g., animated images 324, 326, 328, etc.) included in the animated image keyboard shown by FIG. 3D for presentation by a dynamic keyboard interface associated with the application associated with portion 312.

[0131] At 406, the computing device can communicate to the user device data representing a plurality of different animated images. For example, computing system 112 can communicate to computing device 40 data representing a plurality of different animated images (e.g., animated images 324, 326, 328, etc.) included in the animated image keyboard shown by FIG.

[0132] At 408, the computing device may receive data from the user device indicating a selection of a particular animated image from among a plurality of different animated images. For example, computing system 112 may receive data from computing device 40 indicating a selection of animated image 324.

[0133] At (410), the computing device may receive data indicating the dynamic keyboard interface, the application, and / or subsequent context of different separate applications associated with which the dynamic keyboard interface is provided. For example, computing system 112 may receive data from computing device 50 indicating the application associated with portion 334 (e.g., an email application, etc.) and / or the context of the dynamic keyboard interface provided in association therewith.

[0134] At 412, the computing device may identify a plurality of different animated images, including the particular animated image, based at least in part on the data indicative of the subsequent context. For example, computing system 112 may identify a plurality of different animated images (e.g., animated images 324, 328, 330, 332, etc.) included in the animated image keyboard shown by FIG. 3X for presentation by a dynamic keyboard interface associated with the application associated with portion 334, based at least in part on the data received from computing device 50.

[0135] At 414, the computing device may determine, based at least in part on the data indicating the selection and the data indicating the context, a location within the dynamic keyboard interface for presenting a particular animated image in response to the data indicating the subsequent context. For example, based at least in part on the data indicating the selection of animated image 324, computing system 112 may identify, based at least in part on the data indicating the selection of animated image 324, an application (e.g., an email application) associated with portion 334, and / or a location within the dynamic keyboard interface for presenting animated image 324 in response to data indicating the context of a dynamic keyboard interface provided in association therewith.

[0136] The technology discussed herein refers to servers, databases, software applications, and / or other computer-based systems, as well as actions taken and information sent and received from such systems. The inherent flexibility of computer-based systems allows for a wide variety of possible configurations, combinations, and / or divisions of tasks and / or functionality among components. For example, the processes discussed herein can be implemented using a single device or component and / or multiple devices or components operating in combination. Databases and / or applications can be implemented on a single system and / or distributed across multiple systems. Distributed components can operate sequentially and / or in parallel.

[0137] Various connections between elements are discussed in the description above. These connections are general and, unless otherwise specified, may be direct and / or indirect, wired and / or wireless. This specification is not intended to be limiting in this regard.

[0138] The depicted and / or shown steps are merely illustrative and may be omitted, combined, and / or performed in an order other than that depicted and / or shown, and the numbering of the depicted steps is merely for ease of reference and does not imply that any particular order is necessary or preferred.

[0139] The functions and / or steps described herein may be embodied in computer-usable data and / or computer-executable instructions, executed by one or more computers and / or other devices to perform one or more functions described herein. Generally, such data and / or instructions include routines, programs, objects, components, data structures, etc. that perform particular tasks and / or implement particular data types when executed by one or more processors within a computer and / or other data processing device. The computer-executable instructions may be stored on a computer-readable medium such as a hard disk, optical disk, removable storage medium, solid-state memory, read-only memory (ROM), or random access memory (RAM). As will be understood, the functionality of such instructions may be combined and / or distributed as desired. Furthermore, the functionality may be embodied, in whole or in part, in firmware and / or hardware equivalents, such as an integrated circuit, an application-specific integrated circuit (ASIC), or a field-programmable gate array (FPGA). Particular data structures may be used to more effectively implement one or more aspects of the present disclosure, and such data structures are considered to be within the scope of the computer-executable instructions and / or computer-usable data described herein.

[0140] Although not required, those skilled in the art will appreciate that various aspects described herein may be embodied as methods, systems, apparatus, and / or one or more computer-readable media storing computer-executable instructions. Accordingly, aspects may take the form of an entirely hardware embodiment, an entirely software embodiment, an entirely firmware embodiment, and / or an embodiment combining software, hardware, and / or firmware aspects in any combination.

[0141] As presented herein, the various methods and acts may operate across one or more computing devices and / or networks. Functions may be distributed in any manner or may be located on a single computing device (e.g., a server, a client computer, or a user device).

[0142] Aspects of the present disclosure have been presented in terms of exemplary embodiments thereof. Numerous other embodiments, modifications, and / or variations within the scope and spirit of the appended claims may occur to those skilled in the art from a review of this disclosure. For example, one skilled in the art may recognize that the depicted and / or illustrated steps may be performed in a different order than listed, and / or that one or more illustrated steps may be optional and / or combined. All features in the following claims may be combined and / or rearranged in any possible manner.

[0143] While the present subject matter has been described in detail with reference to various specific exemplary embodiments thereof, each example is provided by way of explanation, not limitation, of the present disclosure. Those skilled in the art, upon gaining an understanding of the foregoing, will be able to readily produce alterations, variations, and / or equivalents of such embodiments. Accordingly, the disclosure of the subject matter is not intended to exclude the inclusion of such modifications, variations, and / or additions to the subject matter as would be readily apparent to one skilled in the art. For example, features illustrated and / or shown as part of one embodiment can be used with another embodiment to produce yet another embodiment. Accordingly, the present disclosure is intended to cover such alterations, variations, and / or equivalents. [Explanation of symbols]

[0144] 10. Computing Devices 20 Computing Devices 30 Computing Devices 40 Computing Devices 50 computing devices 100 Environment 102 processors 104 Communication Interface 106 memory 108 Instructions 110 Network 112 Computing Systems 114 processors 116 Communication Interface 118 memory 120 instructions 302 Graphical User Interface (GUI) Elements 304 Elements 306 elements 308 elements 310 elements 312 parts 314 parts 316 elements 318 elements 320 elements 322 elements 324 animated images 326 animated images 328 animated images 330 animated images 332 animated images 334 parts

Claims

1. 1. A computer-implemented method comprising: receiving, by one or more computing devices, data indicating a selection of a particular animated image from among a plurality of different animated images presented by a dynamic keyboard interface provided in association with the application; receiving, by the one or more computing devices, data indicative of a context associated with at least one of the dynamic keyboard interface or the application; determining, by the one or more computing devices, an amount of time between the time the particular animated image was selected and the time the plurality of different animated images were presented by the dynamic keyboard interface; determining, by the one or more computing devices and based at least in part on the data indicative of the selection and the data indicative of the amount of time, a location within the dynamic keyboard interface for presenting the particular animated image in response to subsequent context indicative data corresponding to the context indicative data; A method comprising:

2. The method of claim 1 , wherein the location is determined based at least in part on an entity that provided the particular animated image.

3. determining the location within the dynamic keyboard interface for presenting the particular animated image, determining a selection frequency for the particular animated image; determining the location based at least in part on the selection frequency and one or more selection frequencies for the location; The method of claim 1 , comprising:

4. The method of claim 1 , wherein the data indicative of the context further comprises data associated with a plurality of distinct computer applications.

5. The method of claim 1 , wherein the application comprises a messaging application.

6. The method of claim 5 , wherein the messaging application comprises a text messaging application.

7. The method of claim 5 , wherein the messaging application comprises an email application.

8. The method of claim 1 , wherein the particular animated image comprises a Graphics Interchange Format image.

9. The method of claim 1 , wherein determining the position within the dynamic keyboard interface is based on one or more selections in one or more previous contexts.

10. 1. A computing system comprising: one or more processors; and one or more computer-readable storage media that collectively store instructions that, when executed by the one or more processors, cause the computing system to perform operations, wherein the operations include: receiving data indicating a selection of a particular animated image from among a plurality of different animated images presented by a dynamic keyboard interface provided in association with the application; receiving data indicating a context associated with at least one of the dynamic keyboard interface or the application; determining an amount of time between the time the particular animated image was selected and the time the plurality of different animated images were presented by the dynamic keyboard interface; determining a location within the dynamic keyboard interface for presenting the particular animated image in response to subsequent context-indicative data corresponding to the context-indicative data, based at least in part on the data indicative of the selection and the data indicative of the amount of time; A computing system comprising:

11. The computing system of claim 10 , wherein the particular animated image is provided for display along with a plurality of other animated images.

12. The computing system of claim 11 , wherein the plurality of other animated images includes one or more advertisements.

13. The computing system of claim 10 , wherein the data indicative of context further comprises data indicative of a previous selection.

14. receiving data indicative of the context includes receiving data indicative of the previous selection; receiving data indicative of the previous selection includes receiving data indicative of the previous selection from a user device on which an application is executed; receiving data indicative of a previous context includes receiving data indicative of the previous context from the user device on which the application executes; the context includes a context of the user device when the user device is providing the dynamic keyboard interface associated with the application. The computing system of claim 13.

15. The computing system of claim 10 , wherein the data indicative of the context further comprises a network identifier associated with a user device executing the dynamic keyboard interface.

16. One or more computer-readable storage media that collectively store instructions that, when executed by one or more computing devices, cause the one or more computing devices to perform operations, the operations including: receiving data indicating a selection of a particular animated image from among a plurality of different animated images presented by a dynamic keyboard interface provided in association with the application; receiving data indicating a context associated with at least one of the dynamic keyboard interface or the application; determining an amount of time between the time the particular animated image was selected and the time the plurality of different animated images were presented by the dynamic keyboard interface; determining a location within the dynamic keyboard interface for presenting the particular animated image in response to subsequent context-indicative data corresponding to the context-indicative data based at least in part on the data indicative of the selection and the data indicative of the amount of time; One or more computer-readable storage media comprising:

17. 17. The one or more computer-readable storage media of claim 16, wherein the data indicative of the context further comprises a geographic location of a user device executing the dynamic keyboard interface.

18. 17. The one or more computer-readable storage media of claim 16, wherein the data indicative of the context further comprises a human language setting associated with a user device executing the dynamic keyboard interface.

19. the operations further include obtaining data indicating a prior context indicating one or more search terms entered via the dynamic keyboard interface; the data indicative of the context indicates at least one of the one or more search terms entered via the dynamic keyboard interface; 17. One or more computer-readable storage media as recited in claim 16.

Citation Information

Patent Citations

  • Platform and dynamic interface for expression-based retrieval of expressive media content

    US20170083524A1

  • Suppression of input images

    US20170371522A1