IP Library Granted Patent US 9,870,345
Granted Patent B2
US 9,870,345 · App. 15/153,191 · Granted Jan 16, 2018

Textual message ordering based on message content

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,870,345
App. No.
15/153,191
Granted
Jan 16, 2018
Kind
B2
Abstract

A technique for ordering textual messages in a graphical user interface (GUI) of a communication application based on text content can include receiving a textual message, and determining an insertion point in the GUI based on the text content of the received textual message. In some implementations, determining the insertion point can include utilizing a language model to determine a probability that the text content of the textual message is associated with each preceding textual message. Additionally or alternatively, determining an insertion point can include utilizing a timestamp corresponding to a time that the received textual message was initiated by a sender user. The technique can further include displaying the textual message at the determined insertion point of the GUI. In some implementations, the displaying of the textual message can include providing an active indication of the received textual message being inserted at the determined insertion point.

Claims (68)

1. A computer-implemented method, comprising:

receiving, at a computing device executing a communication application, a received textual message from a sender user, the received textual message including text content;

determining, at the computing device, an insertion point for the received textual message based on the text content, the insertion point corresponding to a particular location of a plurality of possible locations in a graphical user interface of the communication application, each of the plurality of possible locations corresponding to a position in the graphical user interface subsequent to a preceding textual message; and

displaying, at the computing device, the received textual message in the graphical user interface of the communication application at the determined insertion point,

wherein:

the received textual message is received by the computing device at a first time; and

when (i) the computing device is displaying the graphical user interface at the first time, and (ii) the determined insertion point corresponds to a re-ordered position other than a most recent textual message position, the displaying the received textual message in the graphical user interface at the determined insertion point comprises providing an active indication of the received textual message being inserted at the insertion point.

2. The computer-implemented method of claim 1 wherein when at least one of: (i) the computing device is not displaying the graphical user interface at the first time, and (ii) the determined insertion point does not correspond to the re-ordered position: the displaying the received textual message in the graphical user interface at the determined insertion point comprises not providing the active indication.

3. The computer-implemented method of claim 1 , wherein determining the insertion point for the received textual message based on the text content comprises:

utilizing a language model to determine a probability that the text content is associated with each preceding textual message; and

determining the insertion point based on the probability.

4. The computer-implemented method of claim 1 , wherein:

the received textual message includes a typing timestamp corresponding to a time that the received textual message was initiated by the sender user;

determining the insertion point for the received textual message is further based on the typing timestamp.

5. The computer-implemented method of claim 4 , wherein the time that the received textual message was initiated by the sender user comprises a begin typing time at which the sender user began inputting the text content.

6. The computer-implemented method of claim 4 , wherein the time that the received textual message was initiated by the sender user comprises a modification typing time at which the sender user began inputting a portion of the text content after deleting a previously input portion of the text content.

7. The computer-implemented method of claim 1 , wherein the active indication is a distinctive marking that that differentiates the received textual message from other textual messages in the graphical user interface.

8. A computer-implemented method, comprising:

receiving, at a computing device executing a communication application, a received textual message from a sender user, the received textual message including text content;

determining, at the computing device, an insertion point for the received textual message based on the text content, the insertion point corresponding to a particular location of a plurality of possible locations in a graphical user interface of the communication application, each of the plurality of possible locations corresponding to a position in the graphical user interface subsequent to a preceding textual message;

displaying, at the computing device, the received textual message in the graphical user interface of the communication application at the determined insertion point; and

analyzing, at the computing device, the text content to determine whether the text content includes two or more potentially semantically distinct segments,

wherein, when the text content includes two or more potentially semantically distinct segments:

the determining the insertion point for the received textual message comprises determining, for each particular potentially semantically distinct segment, a segment insertion point based on the particular potentially semantically distinct segment, and

the displaying the received textual message in the graphical user interface of the communication application at the determined insertion point comprises displaying each particular potentially semantically distinct segment at its corresponding segment insertion point.

9. The computer-implemented method of claim 8 , wherein analyzing the text content to determine whether the text content includes two or more potentially semantically distinct segments comprises:

analyzing the text content to determine whether the text content includes one or more text split points; and

when the text content includes one or more text split points, splitting the text content at the one or more text split points to obtain the two or more potentially semantically distinct segments.

10. The computer-implemented method of claim 9 , wherein determining, for each particular potentially semantically distinct segment, the segment insertion point based on the particular potentially semantically distinct segment comprises:

utilizing a language model to determine a probability that the particular potentially semantically distinct segment is associated with each preceding textual message; and

determining the segment insertion point based on the probability.

11. A computing device, comprising:

one or more processors; and

a non-transitory computer-readable storage medium having a plurality of instructions stored thereon, which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

executing a communication application;

receiving a received textual message from a sender user, the received textual message including text content;

determining an insertion point for the received textual message based on the text content, the insertion point corresponding to a particular location of a plurality of possible locations in a graphical user interface of the communication application, each of the plurality of possible locations corresponding to a position in the graphical user interface subsequent to a preceding textual message; and

displaying the received textual message in the graphical user interface of the communication application at the determined insertion point,

wherein:

the received textual message is received by the computing device at a first time; and

when (i) the computing device is displaying the graphical user interface at the first time, and (ii) the determined insertion point corresponds to a re-ordered position other than a most recent textual message position, the displaying the received textual message in the graphical user interface at the determined insertion point comprises providing an active indication of the received textual message being inserted at the insertion point.

12. The computing device of claim 11 , wherein when at least one of: (i) the computing device is not displaying the graphical user interface at the first time, and (ii) the determined insertion point does not correspond to the re-ordered position: the displaying the received textual message in the graphical user interface at the determined insertion point comprises not providing the active indication.

13. The computing device of claim 11 , wherein determining the insertion point for the received textual message based on the text content comprises:

utilizing a language model to determine a probability that the text content is associated with each preceding textual message; and

determining the insertion point based on the probability.

14. The computing device of claim 11 , wherein:

the received textual message includes a typing timestamp corresponding to a time that the received textual message was initiated by the sender user;

determining the insertion point for the received textual message is further based on the typing timestamp.

15. The computing device of claim 14 , wherein the time that the received textual message was initiated by the sender user comprises a begin typing time at which the sender user began inputting the text content.

16. The computing device of claim 14 , wherein the time that the received textual message was initiated by the sender user comprises a modification typing time at which the sender user began inputting a portion of the text content after deleting a previously input portion of the text content.

17. The computing device of claim 11 , wherein the active indication is a distinctive marking that that differentiates the received textual message from other textual messages in the graphical user interface.

18. A computing device comprising:

one or more processors; and

a non-transitory computer-readable storage medium having a plurality of instructions stored thereon, which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

executing a communication application;

receiving a received textual message from a sender user, the received textual message including text content;

determining an insertion point for the received textual message based on the text content, the insertion point corresponding to a particular location of a plurality of possible locations in a graphical user interface of the communication application, each of the plurality of possible locations corresponding to a position in the graphical user interface subsequent to a preceding textual message;

displaying the received textual message in the graphical user interface of the communication application at the determined insertion point; and

analyzing, at the computing device, the text content to determine whether the text content includes two or more potentially semantically distinct segments,

wherein, when the text content includes two or more potentially semantically distinct segments:

the determining the insertion point for the received textual message comprises determining, for each particular potentially semantically distinct segment, a segment insertion point based on the particular potentially semantically distinct segment, and

the displaying the received textual message in the graphical user interface of the communication application at the determined insertion point comprises displaying each particular potentially semantically distinct segment at its corresponding segment insertion point.

19. The computing device of claim 18 , wherein analyzing the text content to determine whether the text content includes two or more potentially semantically distinct segments comprises:

analyzing the text content to determine whether the text content includes one or more text split points; and

when the text content includes one or more text split points, splitting the text content at the one or more text split points to obtain the two or more potentially semantically distinct segments.

20. The computing device of claim 19 , wherein determining, for each particular potentially semantically distinct segment, the segment insertion point based on the particular potentially semantically distinct segment comprises:

utilizing a language model to determine a probability that the particular potentially semantically distinct segment is associated with each preceding textual message; and

determining the segment insertion point based on the probability.

Assignments (2)
CHANGE OF NAME Recorded Dec 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044695/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2016
From: SHARIFI, MATTHEW; FOERSTER, JAKOB NICOLAUS
To: GOOGLE INC.
Reel/Frame 038568/0295 →