# US 10,771,933 B1 · Simplified message grouping and display

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,771,933 B1
- Document ID: US10771933B1
- Status: Granted
- Kind: B1
- Application number: 16/727,557
- Filed: 2019-12-26
- Granted: 2020-09-08
- Earliest claimed: 2015-12-15
- Assignees: Snap Inc.
- Applicants: Snap Inc.
- Inventors: William Wu; Michael Brian Murray; Chamal Samaranayake; Erik Wagner
- Web page: https://patentgrep.com/patent/US10771933B1

## CPC

- H04W 4/14: Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
- G06F 40/106: Display of layout of documents; Previewing
- G06F 40/109: Font handling; Temporal or kinetic typography
- G06T 11/65: on geographic maps
- G06T 13/80: Two-dimensional [2D] animation, e.g. using sprites
- H04L 51/216: Handling conversation history, e.g. grouping of messages in sessions or threads
- H04L 51/234: for tracking messages
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods for simplified message grouping and display are provided. In example embodiments, a plurality of messages are received within a conversation which is accessible by a plurality of client devices. Messages are grouped into different cards based on criteria associated with the cards. During a transition between displaying a first of the cards to a second of the cards, an animation may be displayed.

## Claims

### Claim 1

A method, comprising:
receiving, at a first client device comprising one or more hardware processors and a memory, a plurality of messages grouped within a conversation into a plurality of groups;
generating a first overlaid card by arranging a first message group of a first of the plurality of groups on the first overlaid card;
generating a second overlaid card by arranging a second message group of a second of the plurality of groups on the second overlaid card;
receiving an image within the conversation;
displaying the first and second overlaid cards with messages received earlier than the image; and
displaying the image in a full screen view after the display of the first and second overlaid cards.

### Claim 2 (depends on 1)

The method of claim 1, wherein:
the first message group is arranged within the first overlaid card based on a criterion; and
the second message group is arranged within the second overlaid card based on the criterion.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
receiving a user input to transition from displaying the first overlaid card to displaying the second overlaid card; and
in response to the user input to transition from displaying the first overlaid card to displaying the second overlaid card, displaying an animation while transitioning from displaying the first overlaid card to displaying the second overlaid card, the first overlaid card and the second overlaid card configured to exclusively display respectively the first and second message groups within the conversation.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
ordering the overlaid cards;
displaying the overlaid cards according to the order until the overlaid card last in the order is displayed; and
displaying an arrangement of the plurality of messages.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
ordering the overlaid cards;
displaying the overlaid cards according to the order;
detecting a user input; and
displaying an arrangement of the plurality of messages in response to detecting the user input.

### Claim 6 (depends on 1)

The method of claim 1, wherein the plurality of messages is grouped such that passage of a predetermined threshold amount of time between sending of two messages causes the two messages to be displayed on different overlaid cards.

### Claim 7 (depends on 1)

The method of claim 1, wherein displaying the image after the displaying of the first and second overlaid cards comprises displaying the image in response to completion of the display of the first and second overlaid cards.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
detecting a media message sent by a user, wherein the media is accompanied by text messages which have timestamps within a threshold time period of the media message;
embedding a miniature preview of the media message into the first overlaid card; and
displaying the miniature preview of the media message on the first overlaid card in line with text messages displayed on the first media card.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
detecting a media message sent by a user, wherein the media is not accompanied by text messages which have timestamps within a threshold time period of the media message;
embedding an enlarged preview of the media message into a full screen media card; and
displaying the full screen media card separately from the first and second overlaid cards.

### Claim 10 (depends on 9)

The method of claim 9, further comprising displaying a selectable link to the media previewed, wherein the selectable link is displayed within the full screen media card.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
determining a message within the plurality of messages that is marked as read and has a later timestamp than other messages marked as read; and
displaying the message with the latest timestamp within the first overlaid card.

### Claim 12

A non-transitory machine-readable medium storing instructions that, when executed by at least one processor of a machine, cause the machine to perform operations comprising:
receiving, at a first client device, a plurality of messages grouped within a conversation into a plurality of groups;
generating a first overlaid card by arranging a first message group of a first of the plurality of groups on the first overlaid card;
generating a second overlaid card by arranging a second message group of a second of the plurality of groups on the second overlaid card;
receiving an image within the conversation;
displaying the first and second overlaid cards with messages received earlier than the image; and
displaying the image in a full screen view after the display of the first and second overlaid cards.

### Claim 13 (depends on 12)

The non-transitory machine-readable medium of claim 12, wherein:
the first message group is arranged within the first overlaid card based on a criterion; and
the second message group is arranged within the second overlaid card based on the criterion.

### Claim 14 (depends on 12)

The non-transitory machine-readable medium of claim 12, the operations further comprising:
receiving a user input to transition from displaying the first overlaid card to displaying the second overlaid card; and
in response to the user input to transition from displaying the first overlaid card to displaying the second overlaid card, displaying an animation while transitioning from displaying the first overlaid card to displaying the second overlaid card, the first overlaid card and the second overlaid card configured to exclusively display respectively the first and second message groups within the conversation.

### Claim 15 (depends on 12)

The non-transitory machine-readable medium storing of claim 12, the operations further comprising:
ordering the overlaid cards;
displaying the overlaid cards according to the order until the overlaid card last in the order is displayed; and
displaying an arrangement of the plurality of messages.

### Claim 16

A system, comprising:
one or more hardware processors;
an electronic memory, electronically coupled to the one or more hardware processors, and storing instructions that when executed by the one or more hardware processors, configure the one or more hardware processors to perform operations comprising:
receiving, at a first client device, a plurality of messages grouped within a conversation into a plurality of groups;
generating a first overlaid card by arranging a first message group of a first of the plurality of groups on the first overlaid card;
generating a second overlaid card by arranging a second message group of a second of the plurality of groups on the second overlaid card;
receiving an image within the conversation;
displaying the first and second overlaid cards with messages received earlier than the image; and
displaying the image in a full screen view after the display of the first and second overlaid cards.

### Claim 17 (depends on 16)

The system of claim 16, wherein:
the first message group is arranged within the first overlaid card based on a criterion; and
the second message group is arranged within the second overlaid card based on the criterion.

### Claim 18 (depends on 16)

The system of claim 16, the operations further comprising:
receiving a user input to transition from displaying the first overlaid card to displaying the second overlaid card; and
in response to the user input to transition from displaying the first overlaid card to displaying the second overlaid card, displaying an animation while transitioning from displaying the first overlaid card to displaying the second overlaid card, the first overlaid card and the second overlaid card configured to exclusively display respectively the first and second message groups within the conversation.

### Claim 19 (depends on 16)

The system of claim 16, the operations further comprising:
ordering the overlaid cards;
displaying the overlaid cards according to the order until the overlaid card last in the order is displayed; and
displaying an arrangement of the plurality of messages.

### Claim 20 (depends on 16)

The system of claim 16, the operations further comprising:
ordering the plurality of messages by timestamp within each message group.
