In recent years, mobile electronic devices, such as cell phones and smart phones, have become ubiquitous sources of communication. For instance, mobile electronic devices used for voice communication, text messaging, electronic mail (email), file sharing, etc. Moreover, text messaging applications are increasingly being used to communicate media files, such as Graphics Interchange Format (GIF) files.
The accompanying drawings, which are incorporated in and form a part of the Description of Embodiments, illustrate various embodiments of the subject matter and, together with the Description of Embodiments, serve to explain principles of the subject matter discussed below. Unless specifically noted, the drawings referred to in this Brief Description of Drawings should be understood as not being drawn to scale. Herein, like items are labeled with like item numbers.
The following Description of Embodiments is merely provided by way of example and not of limitation. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding background or brief summary, or in the following detailed description.
Reference will now be made in detail to various embodiments of the subject matter, examples of which are illustrated in the accompanying drawings. While various embodiments are discussed herein, it will be understood that they are not intended to limit to these embodiments. On the contrary, the presented embodiments are intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope the various embodiments as defined by the appended claims. Furthermore, in this Description of Embodiments, numerous specific details are set forth in order to provide a thorough understanding of embodiments of the present subject matter. However, embodiments may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the described embodiments.
Some portions of the detailed descriptions which follow are presented in terms of procedures, logic blocks, processing and other symbolic representations of operations on data within an electrical circuit. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. In the present application, a procedure, logic block, process, or the like, is conceived to be one or more self-consistent procedures or instructions leading to a desired result. The procedures are those requiring physical manipulations of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in an electronic device.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the description of embodiments, discussions utilizing terms such as “receiving,” “determining,” “transmitting,” “providing,” “selecting,” “presenting,” or the like, refer to the actions and processes of an electronic device such as: a processor, a memory, a computing system, a mobile electronic device, or the like, or a combination thereof. The electronic device manipulates and transforms data represented as physical (electronic and/or magnetic) quantities within the electronic device's registers and memories into other data similarly represented as physical quantities within the electronic device's memories or registers or other such information storage, transmission, processing, or display components.
Embodiments described herein may be discussed in the general context of processor-executable instructions residing on some form of non-transitory processor-readable medium, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or distributed as desired in various embodiments.
In the figures, a single block may be described as performing a function or functions; however, in actual practice, the function or functions performed by that block may be performed in a single component or across multiple components, and/or may be performed using hardware, using software, or using a combination of hardware and software. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, logic, circuits, and steps have been described generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure. Also, the example fingerprint sensing system and/or mobile electronic device described herein may include components other than those shown, including well-known components.
Various techniques described herein may be implemented in hardware, software, firmware, or any combination thereof, unless specifically described as being implemented in a specific manner. Any features described as modules or components may also be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be realized at least in part by a non-transitory processor-readable storage medium comprising instructions that, when executed, perform one or more of the methods described herein. The non-transitory processor-readable data storage medium may form part of a computer program product, which may include packaging materials.
The non-transitory processor-readable storage medium may comprise random access memory (RAM) such as synchronous dynamic random access memory (SDRAM), read only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), FLASH memory, other known storage media, and the like. The techniques additionally, or alternatively, may be realized at least in part by a processor-readable communication medium that carries or communicates code in the form of instructions or data structures and that can be accessed, read, and/or executed by a computer or other processor.
Various embodiments described herein may be executed by one or more processors, host processor(s) or core(s) thereof, digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), application specific instruction set processors (ASIPs), field programmable gate arrays (FPGAs), a programmable logic controller (PLC), a complex programmable logic device (CPLD), a discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein, or other equivalent integrated or discrete logic circuitry. The term “processor,” as used herein may refer to any of the foregoing structures or any other structure suitable for implementation of the techniques described herein. As it employed in the subject specification, the term “processor” can refer to substantially any computing processing unit or device comprising, but not limited to comprising, single-core processors; single-processors with software multithread execution capability; multi-core processors; multi-core processors with software multithread execution capability; multi-core processors with hardware multithread technology; parallel platforms; and parallel platforms with distributed shared memory. Moreover, processors can exploit nano-scale architectures such as, but not limited to, molecular and quantum-dot based transistors, switches and gates, in order to optimize space usage or enhance performance of user equipment. A processor may also be implemented as a combination of computing processing units.
In addition, in some aspects, the functionality described herein may be provided within dedicated software modules or hardware modules configured as described herein. Also, the techniques could be fully implemented in one or more circuits or logic elements. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of an SPU/MPU and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with an SPU core, MPU core, or any other such configuration.
Discussion begins with a description of an example computer system upon which embodiments of the present invention may be implemented. Example selection and transmission of selectable responsive media files for inclusion in an electronic message including a media file is then described. Example operations of generating a selectable response to an electronic message and determining a responsive media file to transmit to the recipient are then described.
In accordance with various embodiments, methods for generating a selectable response to an electronic message are provided. A selection of a media file from a plurality of media files to transmit to a recipient is received at an electronic device. At least one responsive media file to transmit to the recipient is determined, wherein the at least one responsive media file is based at least in part on the selected media file. An electronic message is transmitted to the recipient, the electronic message comprising the selected media file and the at least one responsive media file, wherein the at least one responsive media file is selectable within the electronic message by the recipient for transmission to a sender of the electronic message.
Embodiments described herein pertain to the transmission of electronic messages including media files. Messaging applications are available for communication between users on many computer systems, such as mobile electronic devices. For example, Apple's iOS Messages, also known as iMessage, is the native messaging application available in Apple's iPhone and iPad product line. Many different messaging applications exist, and can be native to a device, native to an operating system, or third-party applications. Examples of other messaging applications include, but are not limited to: Android Messages, Facebook Messenger, . . . . It should be appreciated that embodiments described herein may be implemented within any messaging application that allows for the transmission of electronic messages and media files, and is not intended to be limited to any particular messaging application.
Embodiments described herein pertain to selecting and transmitting selectable responsive media files for inclusion in an electronic message including a media file. In one embodiment, the media files are Graphics Interchange Format (GIF) files. While embodiments described herein pertain to GIF files, it should be appreciated that other types of media files, such as other types of video files and audio files, can be used herein. Moreover, it should be appreciated that any type of media file format can be used in accordance with the described embodiments, including but not limited to GIF, WebM, WebP, MPEG-4 (MP4), Animated Portable Network Graphics (APNG), Motion JPEG, Flash video (FLV), Windows Media video, M4V, MPEG-1 or MPEG-2 Audio Layer III (MP3), etc.
In accordance with some embodiments, a selection of a media file by a user (e.g., sender) is received for transmission to another user (e.g., recipient). In some embodiments, media files are maintained in a library of media files. For example, a user may access a library of media files via a graphical user interface of an electronic device. In some embodiments, access to the library of media files is accessible via a messaging application of an electronic device (e.g., a computer system or a smart phone).
In various embodiments, media files are associated with at least one category (e.g., a word, sentence, or phrase) that identifies the subject matter of the media files. Categories are used for sorting media files within the library of media files, allowing a user to locate or select a particular media file according to their desired message. It should be appreciated that a category associated with a media file can be assigned manually or automatically, and are generally indicative of the depiction presented in the media file. In some embodiments, a category (or categories) associated with a media file may be saved as metadata of the media file. In some embodiments, a category (or categories) associated with a media file may be saved within the library of media files.
For example, a video media file depicting a person blowing out candles on a birthday cake might be associated with the category “Happy Birthday.” Other media files depicting birthday messages (e.g., a video of a movie scene with an actor making a toast accompanied with the caption “Happy Birthday!,” or an audio clip of Marilyn Monroe's famous singing of the Happy Birthday Song to President John F. Kennedy) may also be associated with the category “Happy Birthday.” It should be appreciated that a media file may be associated with multiple categories. For example, a media file of a hamster wearing a birthday hat may be associated with the “Happy Birthday” category, as well other categories such as “Animals,” “Hamsters,” or others.
A recipient of a media file may wish to respond to the sender with another media file that is responsive to the media file of the sender. For example, a recipient of a media file depicting a birthday greeting message may wish to respond with a media file depicting thanks. Embodiments described herein provide for determining at least one responsive media file to the sender's media file. In some embodiments, the responsive media files are determined based on the category of the selected media file.
In accordance with some described embodiments, the categories of media files are also associated with response categories of media files. A response category is a category of media files that are most likely responsive to a media file of a particular category. For example, where a category of a sent media file is “Happy Birthday,” a response category might be “Thanks” or “Thumbs Up.” It should be appreciated that the defining of categories and response categories may be subjectively determined by a designer/administrator, and that relationships between categories and response categories may be user-defined. It should also be appreciated that a learning system may determine the relationships between categories and response categories based on past messages between users in the messaging application. Some media files are also associated with a response category. It should be appreciated that a media file may be associated with more than one response category. Moreover, it should be appreciated that a media file might be associated with a category or categories and a response category or categories.
An electronic message for transmission to the recipient is generated, where the electronic message includes the selected media file, as well as at least one responsive media file that is based on the selected media file. In some embodiments, responsive media files are determined based on the category of the selected media file. The electronic message is transmitted to the recipient, where the responsive media files included in the electronic message are selectable for transmission to the sender of the electronic message.
Turning now to the figures,
It is appreciated that computer system 100 of
Computer system 100 of
Referring still to
Computer system 100 also includes an I/O device 120 for coupling computer system 100 with external entities. For example, in one embodiment, I/O device 120 is a modem for enabling wired or wireless communications between computer system 100 and an external network such as, but not limited to, the Internet. In one embodiment, I/O device 120 includes a transmitter. Computer system 100 may communicate with a network by transmitting data via I/O device 120.
Referring still to
In accordance with various embodiments, electronic devices 210 and 220 are capable of transmitting and receiving electronic messages including media files. The media files are capable of being rendered on electronic devices 210 and 220. In some embodiments, electronic devices 210 and 220 are capable of executing a messaging application for communicating messages. The messaging application allows for the attachment of media files within an electronic message for communicating from a sending electronic device to a receiving electronic device. For example, Apple's iOS Messenger is the native messaging application available in Apple's iPhone and iPad product line. Many different messaging applications exist, and can be native to electronic device 210 and/or 220, native to an operating system, or third-party applications. Examples of other messaging applications include, but are not limited to: Android Messages, Facebook Messenger, . . . . It should be appreciated that embodiments described herein may be implemented within any messaging application that allows for the transmission of electronic messages and media files, and is not intended to be limited to any particular messaging application.
Electronic devices 210 and 220 may be associated with a particular user. For example, a first user, may be associated with electronic device 210 and a second user, may be associated with electronic device 220. It should be appreciated that a user may be associated with multiple electronic devices, such that a message sent to a particular user may be delivered to more than one electronic device 210 or 220.
In one embodiment, remote computer system 230 is a server including a library of media files 232. A media file can be any type of file that can be rendered on an electronic device 210 or 220 (e.g., an audio file or a video file). It should be appreciated that any type of media file format can be used in accordance with the described embodiments, including but not limited to GIF, WebM, WebP, MPEG-4 (MP4), Animated Portable Network Graphics (APNG), Motion JPEG, Flash video (FLV), Windows Media video, M4V, MPEG-1 or MPEG-2 Audio Layer III (MP3), etc.
In some embodiments, electronic devices 210 and 220 are capable of accessing media file library 232 (e.g., via a graphical user interface). A user may navigate through media file library 232 to search and select a media file for transmission to a recipient. In some embodiments, access to the library of media files is accessible via a messaging application of an electronic device (e.g., a computer system or a smart phone). It should be appreciated that an electronic device may include media file library 232, or that media file library 232 may be distributed across both an electronic device and remote computer system 230. For example, a subset of media files of media file library 232 may be maintained within memory of electronic device 210 (e.g., frequently used media files) for access that does not require communication over network 240.
In various embodiments, media files are associated with at least one category (e.g., a word, sentence, or phrase) that identifies the subject matter of the media files. Categories are used for sorting media files within the media file library 232, allowing a user to locate or select a particular media file according to their desired message. It should be appreciated that a category associated with a media file can be assigned manually or automatically, and are generally indicative of the depiction presented in the media file (e.g., are searchable). In some embodiments, a category (or categories) associated with a media file may be saved as metadata of the media file. In some embodiments, a category (or categories) associated with a media file may be saved within media file library 232.
For example, a video media file depicting a person blowing out candles on a birthday cake might be associated with the category “Happy Birthday.” Other media files depicting birthday messages (e.g., a video of a movie scene with an actor making a toast accompanied with the caption “Happy Birthday!,” or an audio clip of Marilyn Monroe's famous singing of the Happy Birthday Song to President John F. Kennedy) may also be associated with the category “Happy Birthday.” It should be appreciated that a media file may be associated with multiple categories. For example, a media file of a hamster wearing a birthday hat may be associated with the “Happy Birthday” category, as well other categories such as “Animals,” “Hamsters,” or others.
Graphical user interface 400 also includes search field 430 for receiving text search terms for categories. For example, graphical user interface 400 may only have room to display a certain number of categories. Search field 430 allows a user to search for categories that are not displayed within graphical user interface 400. In some embodiments, graphical user interface 400 may display the most frequently accessed categories, such that less frequently accessed categories (e.g., categories that are less popular) are searchable via search field 430.
In accordance with some described embodiments, the categories of media files are also associated with response categories of media files. A response category is a category of media files that are most likely responsive to a media file of a particular category. For example, when a person says “happy birthday” to another person, the person whom is the object of the expression typically responds with “thanks” and/or smiles at the well-wisher. The same can be true of media files, where a recipient of a media file associated with a particular category may desire to respond to the sentiment of the media file category with a responsive media file associated with a responsive category.
With reference to
In accordance with some embodiments, a selection of a media file by a user (e.g., sender) is received for transmission to another user (e.g., recipient). For example, a user operating electronic device 210 accesses media file library 232 via graphical user interface. In one embodiment, the graphical user interface for accessing media file library 232 is graphical user interface 400. In another embodiment, the graphical user interface for accessing media file library 232 is graphical user interface 460 within messaging application 450.
Embodiments described herein provide for determining at least one responsive media file to the sender's selected media file. In some embodiments, the responsive media files are determined based on the category of the selected media file. For example, upon transmission of an electronic message to a recipient including a selected media file, the category of the selected media file is determined. Response categories associated with the category of the selected media file are then determined (e.g., response categories 320 of
For example, where a category of a selected media file is “Happy Birthday,” a response category might be “Thanks” or “Thumbs Up,” as illustrated in
An electronic message including the selected media file and any selected responsive media files is generated. The electronic message is transmitted to the recipient, where the responsive media files included in the electronic message are selectable for transmission to the sender of the electronic message within the recipients messaging application.
Electronic message 510 includes selected media file 520 and responsive media files 530. Selected media file 520 is selected by a sender of electronic message 510. Responsive media files 530 are automatically generated based on selected media file 520 (e.g., at remote computer system 230). As illustrated, selected media file 520 is associated with a “Thank You” category. Responsive media files 530 are presented that are responsive to the sentiment “Thank You.” For example, as illustrated, responsive media file 532 is associated with a “Thumbs Up” category and responsive media file 534 is associated with a “Wink” category.
Responsive media files 532 and 534 are selectable within electronic message 510 by a user of the electronic device executing messaging application 500. For example, a user selection of responsive media files 532 or 534 (e.g., by touching the screen of the electronic device over responsive media files 532 or 534) causes the selected responsive media file to be transmitted to or prepared for transmission (e.g., placed within field 550) to the sender of electronic message 510.
In one embodiment, electronic message 510 includes a control button 540 for accessing a media file library (e.g., media file library 232), wherein the control button 540 is presented proximate the selected media file 520 and the responsive media files 530. In one embodiment, selection of control button 540 causes the display of graphical user interface 400. In another embodiment, selection of control button 540 causes the display of graphical user interface 460 within messaging application 500. Control button 540 is useful in situations where the recipient does not desire the selection of responsive media files 530, e.g., the presented responsive media files 532 or 534 are not appropriate, or the user desires to search the media file library for a particular media file.
At procedure 610 of flow diagram 600, in accordance with one embodiment, access is provided to a library of media files (e.g., media file library 232) including a plurality of media files. In one embodiment, access to the library of media files is provided via a graphical user interface of an electronic device (e.g. electronic device 210), wherein media files of the plurality of media files are associated with a category, and wherein a category is associated with at least one response category. It should be appreciated that any type of media file format can be used in accordance with the described embodiments, including but not limited to GIF, WebM, WebP, MPEG-4 (MP4), Animated Portable Network Graphics (APNG), Motion JPEG, Flash video (FLV), Windows Media video, M4V, MPEG-1 or MPEG-2 Audio Layer III (MP3).
At procedure 620, a selection of a media file from a plurality of media files to transmit to a recipient is received. In one embodiment, the selected media file is associated with a category, and the category is associated with at least one response category.
At procedure 630, at least one responsive media file to transmit to the recipient is determined, wherein the at least one responsive media file is based at least in part on the selected media file. In accordance with various embodiments, procedure 630 may be implemented according to flow diagram 700 of
At procedure 730, one or more responsive media files from media files of the plurality of media files having the at least one response category associated with the category is selected. In one embodiment, as shown at procedure 732, the one or more responsive media files are randomly selected from media files having the at least one response category associated with the category. In another embodiment, as shown at procedure 734, the one or more responsive media files are selected based on a number of uses of the media file as a responsive media file to media files of the category.
With reference to
In one embodiment, as shown at procedure 650, the electronic message (e.g., electronic message 510) is presented at a second electronic device associated with the recipient (e.g., electronic device 220), such that the selected media file (e.g., selected media file 520) and the one or more responsive media files (e.g., responsive media files 532 and 534) are displayed at the second electronic device. In one embodiment, a control button for accessing a library of media files is presented, wherein the control button is presented proximate the selected media file and the one or more responsive media files.
In one embodiment, as shown at procedure 660, a selection of a responsive media file within the electronic message is received. In one embodiment, as shown at procedure 670, responsive to the selection of a responsive media file within the electronic message, a second electronic message is transmitted to the sender of the electronic message, wherein the second electronic message includes the selected responsive media file.
The examples set forth herein were presented in order to best explain, to describe particular applications, and to thereby enable those skilled in the art to make and use embodiments of the described examples. However, those skilled in the art will recognize that the foregoing description and examples have been presented for the purposes of illustration and example only. Many aspects of the different example embodiments that are described above can be combined into new embodiments. The description as set forth is not intended to be exhaustive or to limit the embodiments to the precise form disclosed. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Reference throughout this document to “one embodiment,” “certain embodiments,” “an embodiment,” “various embodiments,” “some embodiments,” or similar term means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of such phrases in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics of any embodiment may be combined in any suitable manner with one or more other features, structures, or characteristics of one or more other embodiments without limitation.