WO2018053594A1 - Emoji images in text messages - Google Patents

Emoji images in text messages Download PDF

Info

Publication number
WO2018053594A1
WO2018053594A1 PCT/AU2017/051034 AU2017051034W WO2018053594A1 WO 2018053594 A1 WO2018053594 A1 WO 2018053594A1 AU 2017051034 W AU2017051034 W AU 2017051034W WO 2018053594 A1 WO2018053594 A1 WO 2018053594A1
Authority
WO
WIPO (PCT)
Prior art keywords
emoji
string
link
text
text message
Prior art date
Application number
PCT/AU2017/051034
Other languages
French (fr)
Inventor
Matthew NUNNEY
Original Assignee
Emoji Global Pty Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2016903842A external-priority patent/AU2016903842A0/en
Application filed by Emoji Global Pty Limited filed Critical Emoji Global Pty Limited
Publication of WO2018053594A1 publication Critical patent/WO2018053594A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72436User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. SMS or e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72427User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations

Abstract

This disclosure relates to sending text messages including emojis on mobile devices. The device receives user input through a text keyboard, the user input comprising multiple text expressions and selects for the multiple text expressions an emoji. The selected emoji is associated with an emoji ID string. The device then selects a link string associated with the selected emoji and adds the link string as a link attribute to the emoji ID string. After that, the device creates a text message comprising the emoji ID string with the link attribute and sends the text message to a receiving device. This causes the receiving device to display the text message with the selected emoji. Selecting the emoji by the user causes the receiving device to be directed to a location identified by the link string. The above method provides clickable emojis and applies this solution while reducing the underlying messaging to text level.

Description

"Emoji images in text messages" Cross-Reference to Related Applications
[0001] The present application claims priority from Australian Provisional Patent Application No 2016903842 filed on 22 September 2016, the content of which is incorporated herein by reference.
Technical Field
[0002] This disclosure relates to sending text messages including emojis. In particular, this disclosure relates to systems, such as smartphones, and methods for sending text messages including emojis.
Background
[0003] With the introduction of Short Message Service (SMS) a trend started where users send each other short text messages using their mobile phones rather than calling each other. The advantages are that the communication is asynchronous, that is, the receiver can respond at a later time when it is more convenient or in situations where conducting a phone call is not appropriate. While SMS text messages are typically sent using GSM functionality, an increasing number of text messages are sent over data connections and social media services, such as Facebook Messenger, WhatsApp, Threema and Viber.
[0004] While sending text messages appeals to a large user base, there is also a difficulty that text alone can often not confer the full intended meaning and the tone of a text message can be easily misinterpreted. In order to express the tone or emotion of a text message users create character combinations that have a universal emotional meaning, such as :-) for a happy emotion or ;-) for a tongue in cheek comment.
[0005] However, these character combinations are limited as universal understanding of less common character combinations cannot be ensured. As a possible solution, some messaging platforms allow the use of images that can be used within text messages where the images show faces of various different emotions. Such images are generally referred to emoji images. However, current emoji images are static and therefore limited in their usefulness.
[0006] Any discussion of documents, acts, materials, devices, articles or the like which has been included in the present specification is not to be taken as an admission that any or all of these matters form part of the prior art base or were common general knowledge in the field relevant to the present disclosure as it existed before the priority date of each claim of this application.
[0007] Throughout this specification the word "comprise", or variations such as "comprises" or "comprising", will be understood to imply the inclusion of a stated element, integer or step, or group of elements, integers or steps, but not the exclusion of any other element, integer or step, or group of elements, integers or steps.
Summary
[0008] A method for sending text messages including emojis comprises:
receiving user input through a text keyboard, the user input comprising multiple text expressions;
selecting for at least one of the multiple text expressions an emoji, wherein the selected emoji is associated with an emoji ID string;
selecting a link string associated with the selected emoji;
adding the link string associated with the selected emoji as a link attribute to the emoji ID string;
creating a text message comprising the emoji ID string with the link attribute; sending the text message to a receiving device to cause the receiving device to display the text message with the selected emoji, wherein selecting the emoji by the user causes the receiving device to be directed to a location identified by the link string. [0009] It is generally difficult to include images into strings of text messages and even more so, it is difficult to make these image clickable. The above method achieves this and applies this solution to emojis by reducing the underlying messaging to text level. It is an advantage that sending the link string as a link attribute allows the link to be clickable for the emoji when it is graphically displayed as an image on the receiving device.
[0010] Selecting the emoji may comprise performing a look-up in an emoji look-up table that associates expressions to emojis.
[0011] The method may further comprise repeatedly updating the emoji look-up table from a server.
[0012] It is an advantage that updating the look-up table can include new translations or language specific refinements. Further, the update from the server allows universal use of emojis across different users. In that sense, the operator of the server has effectively ownership of the translation of text expressions, including nouns, adjectives, adverbs, to emojis. As a result, a wider range of emotions, feelings and subject matter can be expressed reliably by emojis and understood by the recipient of the text message.
[0013] Selecting a link string associated with the selected emoji may comprise performing a look-up in a link look-up table that associates link strings to emojis or emoji ID strings.
[0014] The method may further comprise repeatedly updating the link look-up table from a server. It is an advantage that updating the link look-up table allows the dynamic placement of sponsored links.
[0015] Selecting a link string may comprise retrieving the link string from a link string server. [0016] Creating the text message may comprise replacing the at least one of the multiple text expressions by the emoji ID string associated with the selected emoji. It is an advantage that the receiver of the text message can rely on the emoji without being confused by the text expressions as the emoji is easier to understand, conveys richer information and is language independent.
[0017] The method may further comprise displaying the text message by replacing the emoji ID string by the selected emoji.
[0018] The selected emoji may be a symbol in a font file and replacing the emoji ID string by the selected emoji comprises including the emoji as a symbol from the font definition while maintaining the link attribute. It is an advantage that using symbols of font files allows maintaining the link attribute of the string object.
[0019] The multiple text expressions may compris multiple words and selecting for at least one of the multiple text expressions an emoji comprises creating multiple combinations of the multiple words and iteratively performing a look-up for the multiple combinations until a match is found. It is an advantage that creating combinations of words is more resource efficient than other translating or matching methods.
[0020] A mutableString object may contain the emoji ID string and adding the link string as a link attribute may comprise calling a routine of the mutableString object to add the link string as a link attribute.
[0021] Calling the routine of the mutableString object may comprise calling add Attribute :NSLinkAttributeName .
[0022] The link string may be used as a value of calling
add Attribute :NSLinkAttributeName . [0023] A non-transitory computer readable medium with program code stored thereon, when executed by a computer, causes the computer to perform the above method.
[0024] A smartphone for sending text messages including emojis comprises:
a touch screen to receive user input through a text keyboard, the user input comprising multiple text expressions;
a database connector to
select for at least one of the multiple text expressions an emoji, wherein the selected emoji is associated with an emoji ID string, and
select a link string associated with the selected emoji;
a processor to
add the link string associated with the selected emoji as a link attribute to the emoji ID string;
create a text message comprising the emoji ID string with the link attribute; and
an output port to send the text message over a wireless network to a receiving device to cause the receiving device to display the text message with the selected emoji, wherein selecting the emoji by the user causes the receiving device to be directed to a location identified by the link string.
[0025] Optional features described of any aspect of method, computer readable medium or computer system, where appropriate, similarly apply to other aspects also described here.
Brief Description of Drawings
[0026] An example will now be described with reference to:
[0027] Fig. 1 illustrates a computer network for sending text messages including emojis. [0028] Fig. 2 illustrates a method for sending text messages including emojis.
[0029] Fig. 3 illustrates an example user interface of a messaging application with a message typed by a user.
[0030] Fig. 4 illustrates an image of a burger replacing the word "burger" in Fig. 3. [0031] Fig. 5 shows how the business logo is used as the emoji image. [0032] Fig. 6 is an example program code implementing the method described herein. Description of Embodiments
[0033] This disclosure provides methods and systems that facilitate uniform translation of text expressions into emojis. In this sense, there is a centrally controlled mapping of text expressions to emojis which supports that users are ensured that their conversation partners use substantially the same translation pattern. This facilitates the use of a wider range of emojis and in particular, the use of emojis for which a meaning is not directly discernible for the emoji itself. For example, a particular person, such as a Lukas Graham, may be represented by an emoji showing a microphone. Once this mapping is accepted by the central control methods and systems, the users can rely on the common understanding and translation of the microphone emoji. In other words, the ownership of meaning for the emojis resides in a central authority.
[0034] Further, current text messaging services allow little interaction with emojis. In particular, there is a need for a text messaging service that allows images that can be hyperlinked such that the sender and/or the receiver can tap on the image and be directed to a web-URL associated with the image. This could be used for advertising where an image can be related to a provider of goods and/or services. For example, the image can be a firm logo and linked to the firm website. [0035] This disclosure provides methods and systems for sending text messages including emojis that allows interaction by tapping on the emoji and being directed to a web-URL.
[0036] Within this disclosure, where the word emoji is used it is meant to refer to the logical emoji that is potentially selected out of a large number of available emoji. An emoji can be represented or referenced in a number of different forms. For example, an emotion can represent an emoji, such as 'happy' for :-). In a more tangible way, an emoji ID string or an emoji image can represent an emoji. The string may be ASCII or Unicode or any other coding. The image may be a bitmap, colour indexed bitmap, compressed image (e.g. JPEG) or any other electronic image that can be stored digitally on a computer readable medium including registers, RAM or flash-disks. When reference is made to the general term emoji, this is to be understood to refer to any of the possible representations.
[0037] Fig. 1 illustrates a computer network 100 for sending text messages including emojis. The computer system 100 comprises a sender smartphone 101 and a receiver smartphone 111. It is convenient to describe the sender smart phone in detail noting that the hardware of the receiver smartphone 111 may be substantially identical.
Sender smartphone 101 comprises a processor 102 connected to a program memory 103 and a data memory 104 via data bus 105. Processor 102 is further connected to a communication port 106 and a user portl07. The program memory 103 is a non- transitory computer readable medium, such as a hard drive, a solid state disk or CD- ROM. Software, that is, an executable program stored on program memory 103 causes the processor 102 to perform the method in Fig. 2.
[0038] The processor 102 may receive data, such as user input data, from data memory 104 as well as from communications port 106 and user portl07 , which is connected to a display 108 that shows text messages to a sender 109.
[0039] Although communications port 106 and user port 107 are shown as distinct entities, it is to be understood that any kind of data port may be used to receive data, such as a network connection, a memory interface, a pin of the chip package of processor 102, or logical ports, such as IP sockets or parameters of functions stored on program memory 103 and executed by processor 102. These parameters may be stored on data memory 104 and may be handled by-value or by-reference, that is, as a pointer, in the source code.
[0040] The processor 102 may receive data through all these interfaces, which includes memory access of volatile memory, such as cache or RAM, or non-volatile memory, such as an optical disk drive, hard disk drive, storage server or cloud storage. The computer system 100 may further be implemented within a cloud computing environment, such as a managed group of interconnected servers hosting a dynamic number of virtual machines.
[0041] It is to be understood that any receiving step may be preceded by the processor 102 determining or computing the data that is later received. For example, the processor 102 determines a text message and stores the text message in data memory 104, such as RAM or a processor register. The processor 102 then requests the data from the data memory 104, such as by providing a read signal together with a memory address. The data memory 104 provides the data as a voltage signal on a physical bit line and the processor 102 receives the text message via a memory interface.
[0042] It is to be understood that throughout this disclosure unless stated otherwise, nodes, edges, graphs, solutions, variables, strings, images and the like refer to data structures, which are physically stored on data memory 106 or processed by processor 102. Further, for the sake of brevity when reference is made to particular variable names, such as "period of time", this is to be understood to refer to values of variables stored as physical data in computer system 100.
[0043] As mentioned above, the receiver smartphone 111 also comprises a processor 112 connected to program memory 113 and data memory 114 via data bus 115.
Processor 112 is further corrected to communication port 116, user port 117 and display 118 that shows received text messages to a receiver 119. [0044] When in use, the first smartphone 101 and the second smartphone 111 communicate over a wireless network 120, which may be a cellular network, such as GSM, LTE, 3G, a Wifi network or any other wireless network that allows data communication. A server 121 is also connected to wireless network 120 over the internet 122. Server 121 is further connected to a database 123.
[0045] When reference is made to a database, this is to be understood to include relational databases, such as SQL, non-relational databases including graph or document databases, such as CouchDB, as well as file based databases including Access, Excel, comma separated lists or other proprietary binary or plain text databases. In many of those examples, the database offers look-up functionality where a first data field can be searched to retrieve the value of an associated second data field. When reference is made to data tables or look-up tables this usage as for convenience only and other look-up mechanisms, such as graph searches, may equally be used. A database can be interfaced by a database connector, which may be the API of a database server, an SQL connection, database access web service or a file handling library routine.
[0046] Fig. 2 illustrates a method 200 as performed by processor 102 for sending text messages including emojis. Fig. 2 is to be understood as a blueprint for the software program and may be implemented step-by-step, such that each step in Fig. 2 is represented by a function in a programming language, such as C++ or Java. The resulting source code is then compiled and stored as computer executable instructions on program memory 103. While it is convenient here to describe the method 200 as being performed by processor 102 of sender smartphone 101, method 200 may equally be performed by server 121 or other computer systems. In other examples, method 200 is implemented as an Application Program Interface (API) or as a Software
Development Kit (SDK) that may be integrated with existing messaging or social media software, such as Facebook.
[0047] It is noted that method 200 may be implemented in the form of an app that can be installed on sender smartphone 101 via a distributor, such as Apple App Store or Google Play. In other examples, method 200 is implemented in the form of a web-app or web service using HTML and JavaScript.
[0048] Processor 102 receives 201 user input through a text keyboard from sender 109. The user input comprises multiple text expressions. Fig. 3 illustrates an example user interface 300 of a messaging application. The user interface 300 comprises a keyboard 301 and a text area 302. As the sender 109 types the characters on keyboard 301, they appear in text area 302. In this case, sender 109 asks Alice if she fancies a burger. In this example, the phrase "Hi mate" and the word "burger" are text expressions. More generally, text expressions are substrings of the text message or the entire text message that form a logical block.
[0049] In this example, there is no additional keyboard for direct emoji input. This disclosure provides a robust and efficient translation between text words and emojis, which leads to increased user satisfaction that direct emoji entry. One reason is that most orders or sortings of emojis are not standardised, which means that it is difficult for users to find emojis especially if there is a large number to choose from. In this case, it is quicker for the sender 109 to type a word and rely on the translation or suggestions by processor 102.
[0050] Next, processor 102 selects 202 for at least one of the multiple text expressions an emoji. In this example, processor 102 selects an emoji for the text expression "burger". More particularly, processor 102 queries a database stored on data memory 104 for the word "burger". Each data record in database 110 comprises a text expression and an emoji ID string. In this example, there is a data record in database 110 that has "burger" and "U0001F357" as the emoji ID string. This is also referred to as the translation step.
[0051] In more detail, there is a key-value datatype, which contains all emoji ID strings and their positions, and processor 102 replaces text expressions, such as words or phrases, by emoji ID strings. [0052] When sender 109 enters characters, processor 102 retrieves the current user cursor position and if last character before current cursor position is equal to one of separators (like coma, dot, exclamation or question mark, or space), processor 102 starts looking up emojis, otherwise processor 102 returns the input string without any changes.
[0053] For the translation form text expression to emoji ID string, processor 102 may perform the following steps:
- Processor 102 creates an array which contains all words divided by separators.
- Processor 102 creates a string value, which contains all characters up to the current position.
- Processor 102 checks count of words up to the current position. If the count of words is greater or equal to three, processor 102 sets three as the max words count, otherwise processor 102 sets current words count as the max words count.
- Now processor 102 has the words count available.
- Processor 102 creates all combinations of words (maximum number of words equal to three).
[0054] For the example phrase:
- help me please
Processor 102 creates an array of combinations:
- help me please
- help me
- help
- me please
- me
- please
[0055] If the emoji lookup table contains the first element of the array, processor 102 stops looping, changes text expression to emoji ID string in current position, and saves current emoji position to key -value datatype, like [0 : "help me please"]. If not, the lookup loops through the array above until a match, or not is found. Every emoji is further associated with an image, which can be inserted instead of the text expression as shown in Fig. 4 where an image of a burger 401 is replacing the word "burger" in Fig. 3.
[0056] While the replacement of the text expression by the image already results in an enhanced user experience, the main purpose of this is entertainment and humour. An increased technical usefulness, however, would be achieved if the burger emoji 401 could be rendered interactive by associating a web-link with the emoji 401. One example application could be to include logos of businesses or brands that are associated with the text expression as the emoji. In particular, businesses that provide a product that is specified by the text expression can realise increased web traffic and revenue if their logo is used as the emoji and the logo is linked to their business website or order site of their online-shop. In this example, there is a business named "Big" that offers burgers. Fig. 5 shows how the business logo 501 is used as the emoji image.
[0057] The next step concerns making the emoji clickable. This may involve making the emoji interactive (i.e. clickable) when they are inserted into the message as the sender 109 types. To this end, processor 102 now also selects 203 a link string associated with the selected emoji from database 110. For example, a link string "www.bigburgers.com" is associated with the "burger" database record.
[0058] Now that the emoji ID string and the link string are available, the task is to combine them together. To this end, processor 102 adds 204 the link string associated with the selected emoji as a link attribute to the emoji ID string. Adding a link attribute retains the emoji ID string unchanged. In plain words, this means the text itself is the same before and after the link attribute is added. In that sense an attribute is additional information, similar to meta-data, that is not shown in the text string itself.
[0059] The link attribute is an additional string that does not alter the emoji ID string but adds further data that is associated with the emoji ID string. Interestingly, the main use of the link attribute is to provide a web URL to a word such that, when displayed, the user can see the word instead of the often long and cryptic URL that may contain a long list of parameters. In the proposed method, however, the link attribute is added to an emoji ID string that is not intended to be displayed to the user. In fact, the user reading the emoji ID string would, in most cases, be unable to derive any meaning from the emoji ID string. One reason for that is that the emoji ID string is randomly generated to be unique to each emoji but not to confer any information to the reader. Only when a symbol is displayed that is associated with the emoji ID string as described below, the user can see the symbol and understand its meaning.
[0060] In one example, processor 102 executes the iOS command
addAttribute:NSLinkAttributeName of a mutableString object to add a link attribute to the emoji ID string. In that case the value of this command is "www.bigburgers.com". Fig. 6 illustrates the source code in more detail.
[0061] In another example, processor may employ a string,link attribute, such as var str = "\U0001F357";
var result = str.link("http://www.kfc. com.au").
[0062] In yet another example, processor 102 may employ an SMS manager, such as
String uri = "http://www.kfc.com.au";
SmsManager smsManager = SmsManager.getDefault();
StringBuffer smsBody = new StringBuffer();
smsBody . append(Uri . parse(uri));
smsManager. sendTextMessage(get_number, null, smsBody. toString(), null, null);
[0063] It is convenient at this stage to briefly mention internet content technologies that provide hyperlinks. For example, the entire text string can be converted into an HTML format, which would be inconvenient in text messaging technologies. In particular, the HTML syntax <a href="http://www.bigburgers.com"><img
src="emoji.gif '></a> would appear cryptic to most users if displayed as plain text in a text messaging application. To display a linked image in HTML requires sophisticated rendering. The proposed method retains a text string as such and displays the message as a text string. At the same time, the link is attributed to the emoji ID string, which allows user interaction with the emoji image. In other words, while HTML can attribute the link URL to the image file using complex syntax, the proposed method attributes the link URL to the emoji ID string in plain text. This allows the intended use of interactive emoji images within text messages and text messaging applications.
[0064] Processor 102 then creates 205 a text message comprising the emoji ID string with the link attribute. In this example, the text message is "Hi mate, fancy a
U0001F357 tonight?" where "U0001F357" is the emoji ID string and a link attribute is added to this emoji ID string and has the value "www.bigburgers.com". Under the iOS framework, if this string is displayed, the user would see the emoji ID string marked as a link, such as by underlining and blue font colour.
[0065] Processor 102 then sends 206 the text message to a receiving device 111. Sending the text message may comprise serialising the text message into a data object and transmitting the data object to the receiving device 111. Processor 112 of the receiving device the de-serialises the data object into a string object. The steps of serialising, transmitting and de-serialising may be performed by system routines or library routines of the operating system that are abstracted.
[0066] Receiving the text message causes the receiving device to display the text message with the selected emoji. In particular, the processor 112 of the receiving device 111 accesses a font file that defines a symbol for each emoji ID string and each symbol is an emoji image. In this case, the symbol for the emoji ID string
"U0001F357" is the business logo of Big Burgers. When the text message is received, processor 112 renders the text message using the font file for the emoji ID string. As a result, the emoji image is displayed instead of the emoji ID string. In other words, processor 102 replaces the emoji ID string by the emoji image. Since the emoji image is technically a symbol of a font file, the emoji image retains its link attribute. As a result, selecting the emoji by the receiver 119 causes the receiving device 111 to be directed to the location identified by the link string. In this example, clicking or tapping on the business logo of Big Burgers directs the browser of the receiving device 111 to the website of Big Burgers. This makes it possible to use emojis as hyperlinks and provides an interactive user experience with increased opportunities for marketing.
[0067] It is noted that the text message is similarly displayed under sent messages on the sending device 101 using the emoji image is a character of a font file including the link attribute. Further, while some examples herein are related to the iOS environment, it is noted that other platforms may equally be supported. These platforms include Android, Windows and Linux/Unix.
[0068] In one example, processor 102 translates text expression into emojis using two databases 110 and 123 each comprising lookup tables. A base emoji translation list resides on central database 123 and is maintained by central server 121. The database 123 or the table within database 123 is chosen based on the language and location of the sender 109. For example, for a sender 109 located in Mexico speaking Spanish processor 102 selects a different lookup list than for a sender located in Sydney speaking English. While in one example processor 102 of sender device 101 makes the selection of the database or data table, in other examples, the central server 121 makes this selection. In the example of the central server 121 making the decision, processor 102 of the sender device 101 may send location data, such as language settings to server 121 to facilitate the selection.
[0069] In one example, this base lookup is managed by a web-based platform that feeds lists into the sender device 101 on application load. The advantage of a web- based platform is that this allows to keep the base list up to date. In other words server 121 repeatedly updates the emoji look-up table. This may involve processor 102 requesting the update at regular or irregular intervals, such as once per week.
[0070] The base list maintained on database 123 and copied onto sender device 101 is curated from a number of angles. In one example, human translators, such as linguists, add entries for text expressions to be translated to emoji ID strings. In another example, the messaging application installed on program memory 103 monitors the use of emojis and sends the collected data to server 121. The server 121 can then apply machine learning or frequency determining methods to determine often used text expressions that are being replaced by emojis by multiple different users. In one example, the messaging application selects a number of possible emoji images that match against the text expression and the sender 109 can select the most suitable emoji. The application sends this selection to the server 121. Once a significant number of selections are reported to the server 121, the server 121 can update the local lists on the devices such that the most commonly selected emojis are shown at the top of the list of suggestions. If the most used emoji is significantly more used that the second most used emoji, the messaging application may not provide a selection but include the most used emoji into the text automatically as it is unlikely that the sender 109 wants to select a different emoji. This process effectively crowd sources translations.
[0071] In one example, there is a second lookup table in local database 110 used for translation that are unique to the sender device 101. That is, the sender 109 can create their own translations that are unique to their own device 101. In some examples, processor 102 controls the priority of translations. To this end, processor 102 covers the priority of translation from the two lists outlined above across one, two and three word strings.
[0072] Similar to the translation look up processor 102 selects a link string associated with the selected emoji by performing a look-up in a link look-up table that associates link strings to emojis or emoji ID strings. Again, the link string may be maintained by a central database 123, which enables centrally controlled advertising campaigns or sponsoring of particular emojis, such as brand logos. Further, the link string may be maintained by a local database 110 such that the sender 109 has control over the link that is associated with the emoji when the message is sent.
[0073] As described above in relation to the translation of text expressions to emoji IDs, the link look-up table may be repeatedly updated from a server 121. This update may involve a push from the server 121 or a pull from sender device 101. In one example, processor 112 of receiver device 111 determines or updates the link associated with the emoji when the emoji is received by the receiver device 111. This allows to be more targeted for the receiver of the advertiser.
[0074] The emoji images, which may be stored as part of a text file, may also be updated by server 121. For example, different companies may wish to sponsor their logos for the same text expression
[0075] As described above, selecting the emoji by the user causes the receiving device to be directed to a location identified by the link string. In some examples, the receiving device is directed to the location identified by the link string by opening a browser window so that the browser displays a web page identified by the link. In other examples, the device is directed to the location by retrieving the content from that location and displaying the content within the same program or app that displays the text message with the emoji (in-app). The content that is retrieved from the location identified by the link may be served from an ad-server that hosts the content and makes the content accessible with reference to the link.
[0076] It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the specific embodiments without departing from the scope as defined in the claims.
[0077] It should be understood that the techniques of the present disclosure might be implemented using a variety of technologies. For example, the methods described herein may be implemented by a series of computer executable instructions residing on a suitable computer readable medium. Suitable computer readable media may include volatile (e.g. RAM) and/or non-volatile (e.g. ROM, disk) memory, carrier waves and transmission media. Exemplary carrier waves may take the form of electrical, electromagnetic or optical signals conveying digital data steams along a local network or a publically accessible network such as the internet.
[0078] It should also be understood that, unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as "estimating" or "processing" or "computing" or "calculating", "optimizing" or "determining" or "displaying" or "maximising" or the like, refer to the action and processes of a computer system, or similar electronic computing device, that processes and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
[0079] The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive.
[0080] It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the above-described embodiments, without departing from the broad general scope of the present disclosure. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive.

Claims

CLAIMS:
1. A method for sending text messages including emojis, the method comprising: receiving user input through a text keyboard, the user input comprising multiple text expressions;
selecting for at least one of the multiple text expressions an emoji, wherein the selected emoji is associated with an emoji ID string;
selecting a link string associated with the selected emoji;
adding the link string associated with the selected emoji as a link attribute to the emoji ID string;
creating a text message comprising the emoji ID string with the link attribute; sending the text message to a receiving device to cause the receiving device to display the text message with the selected emoji, wherein selecting the emoji by the user causes the receiving device to be directed to a location identified by the link string.
2. The method of claim 1, wherein selecting the emoji comprises performing a look-up in an emoji look-up table that associates expressions to emojis.
3. The method of claim 2, further comprising repeatedly updating the emoji lookup table from a server.
4. The method of any one of the preceding claims, wherein selecting a link string associated with the selected emoji comprises performing a look-up in a link look-up table that associates link strings to emojis or emoji ID strings.
5. The method of claim 4, further comprising repeatedly updating the link lookup table from a server.
6. The method of any one of the preceding claims, wherein selecting a link string comprises retrieving the link string from a link string server.
7. The method of any one of the preceding claims, wherein creating the text message comprises replacing the at least one of the multiple text expressions by the emoji ID string associated with the selected emoji.
8. The method of any one of the preceding claims, further comprising displaying the text message by replacing the emoji ID string by the selected emoji.
9. The method of claim 8, wherein the selected emoji is symbol in a font file and replacing the emoji ID string by the selected emoji comprises including the emoji as a symbol from the font definition while maintaining the link attribute.
10. The method of any one of the preceding claims, wherein the multiple text expressions comprise multiple words and selecting for at least one of the multiple text expressions an emoji comprises creating multiple combinations of the multiple words and iteratively performing a look-up for the multiple combinations until a match is found.
11. The method of any one of the preceding claims, wherein a mutableString object contains the emoji ID string and adding the link string as a link attribute comprises calling a routine of the mutableString object to add the link string as a link attribute.
12. The method of claim 11, wherein calling the routine of the mutableString object comprises calling addAttribute:NSLinkAttributeName.
13. The method of claim 12, wherein the link string is used as a value of calling add Attribute :NSLinkAttributeName .
14. A non-transitory computer readable medium with program code stored thereon that, when executed by a computer, causes the computer to perform the method of any one of the preceding claims.
15. A smartphone for sending text messages including emojis, the smartphone comprising:
a touch screen to receive user input through a text keyboard, the user input comprising multiple text expressions;
a database connector to
select for at least one of the multiple text expressions an emoji, wherein the selected emoji is associated with an emoji ID string, and
select a link string associated with the selected emoji;
a processor to
add the link string associated with the selected emoji as a link attribute to the emoji ID string;
create a text message comprising the emoji ID string with the link attribute; and
an output port to send the text message over a wireless network to a receiving device to cause the receiving device to display the text message with the selected emoji, wherein selecting the emoji by the user causes the receiving device to be directed to a location identified by the link string.
PCT/AU2017/051034 2016-09-22 2017-09-22 Emoji images in text messages WO2018053594A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2016903842A AU2016903842A0 (en) 2016-09-22 Emoji images in text messages
AU2016903842 2016-09-22

Publications (1)

Publication Number Publication Date
WO2018053594A1 true WO2018053594A1 (en) 2018-03-29

Family

ID=61689332

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2017/051034 WO2018053594A1 (en) 2016-09-22 2017-09-22 Emoji images in text messages

Country Status (1)

Country Link
WO (1) WO2018053594A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110505143A (en) * 2019-08-07 2019-11-26 上海掌门科技有限公司 It is a kind of for sending the method and apparatus of target video
CN111199138A (en) * 2018-11-16 2020-05-26 武汉斗鱼网络科技有限公司 Method, system, server and storage medium for stroking bullet screen containing Emoji expression by using QML (QML)
CN114942715A (en) * 2021-02-10 2022-08-26 北京字节跳动网络技术有限公司 Dynamic expression display method and device, electronic equipment and computer readable storage medium
WO2022225777A1 (en) * 2021-04-20 2022-10-27 Snap Inc. Client device processing received emoji-first messages
WO2022225774A1 (en) * 2021-04-20 2022-10-27 Snap Inc. Personalized emoji dictionary
US11521149B2 (en) * 2019-05-14 2022-12-06 Yawye Generating sentiment metrics using emoji selections
US11888797B2 (en) 2021-04-20 2024-01-30 Snap Inc. Emoji-first messaging

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150033178A1 (en) * 2013-07-27 2015-01-29 Zeta Projects Swiss GmbH User Interface With Pictograms for Multimodal Communication Framework
US20150100537A1 (en) * 2013-10-03 2015-04-09 Microsoft Corporation Emoji for Text Predictions
WO2015163937A1 (en) * 2014-04-23 2015-10-29 Klickafy, Llc Clickable emoji
US20170185580A1 (en) * 2015-12-23 2017-06-29 Beijing Xinmei Hutong Technology Co.,Ltd, Emoji input method and device thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150033178A1 (en) * 2013-07-27 2015-01-29 Zeta Projects Swiss GmbH User Interface With Pictograms for Multimodal Communication Framework
US20150100537A1 (en) * 2013-10-03 2015-04-09 Microsoft Corporation Emoji for Text Predictions
WO2015163937A1 (en) * 2014-04-23 2015-10-29 Klickafy, Llc Clickable emoji
US20170185580A1 (en) * 2015-12-23 2017-06-29 Beijing Xinmei Hutong Technology Co.,Ltd, Emoji input method and device thereof

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111199138A (en) * 2018-11-16 2020-05-26 武汉斗鱼网络科技有限公司 Method, system, server and storage medium for stroking bullet screen containing Emoji expression by using QML (QML)
US11521149B2 (en) * 2019-05-14 2022-12-06 Yawye Generating sentiment metrics using emoji selections
CN110505143A (en) * 2019-08-07 2019-11-26 上海掌门科技有限公司 It is a kind of for sending the method and apparatus of target video
CN114942715A (en) * 2021-02-10 2022-08-26 北京字节跳动网络技术有限公司 Dynamic expression display method and device, electronic equipment and computer readable storage medium
WO2022225777A1 (en) * 2021-04-20 2022-10-27 Snap Inc. Client device processing received emoji-first messages
WO2022225774A1 (en) * 2021-04-20 2022-10-27 Snap Inc. Personalized emoji dictionary
US11531406B2 (en) 2021-04-20 2022-12-20 Snap Inc. Personalized emoji dictionary
US11593548B2 (en) 2021-04-20 2023-02-28 Snap Inc. Client device processing received emoji-first messages
US11861075B2 (en) 2021-04-20 2024-01-02 Snap Inc. Personalized emoji dictionary
US11888797B2 (en) 2021-04-20 2024-01-30 Snap Inc. Emoji-first messaging
US11907638B2 (en) 2021-04-20 2024-02-20 Snap Inc. Client device processing received emoji-first messages

Similar Documents

Publication Publication Date Title
WO2018053594A1 (en) Emoji images in text messages
CA2787816C (en) Share box for endorsements
WO2018106974A1 (en) Content validation and coding for search engine optimization
US20080195954A1 (en) Delivery of contextually relevant web data
WO2017121278A1 (en) Information-pushing device, method, client and machine-readable storage medium
US11151219B2 (en) Generating rich digital documents from limited instructional data
CN110471848B (en) Method and device for dynamically returning message
CN113382083B (en) Webpage screenshot method and device
CN103092941A (en) Method and device showing content on electronic equipment
US20110153857A1 (en) Method for partial loading and viewing a document attachment on a portable electronic device
CN113076294A (en) Information sharing method and device
CN103678706A (en) Picture recognition method, system, equipment and device based on screenshot information
CN113761565B (en) Data desensitization method and device
CN107330087B (en) Page file generation method and device
CN110795135A (en) Method and device for realizing injection-resolution configuration
CN108012558B (en) Telephone number normalization and information discoverability
CN110705271B (en) System and method for providing natural language processing service
CN113342450B (en) Page processing method, device, electronic equipment and computer readable medium
CN107918552B (en) Light application calling method and device, client device and electronic equipment
US10467331B2 (en) Systems and methods for processing modifiable files grouped into themed directories for presentation of web content
CN112486482A (en) Page display method and device
US20210105327A1 (en) System, device and method for digital content sharing using a dynamic link
CN111181836B (en) Message pushing method and device
US20160156693A1 (en) System and Method for the Management of Content on a Website (URL) through a Device where all Content Originates from a Secured Content Management System
CN111753675A (en) Picture type junk mail identification method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17851996

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17851996

Country of ref document: EP

Kind code of ref document: A1