IP Library Granted Patent US 11,736,431
Granted Patent B2
US 11,736,431 · App. 17/403,714 · Granted Aug 22, 2023

Context-based notifications presentation

Inventors: Akshay Bakshi (Vancouver, CA); Scott Buchanan (Vancouver, CA); Mina Chandler (Suwanee, GA); Gavin Ham (Vancouver, CA); Justin Rushing (Oakland, CA); Leena Mansour (Toronto, CA); Faisal Yaqub (New York, NY)
Assignee: Salesforce, Inc.
H04L51/226H04L51/222H04L51/224H04M1/72451H04M1/72454H04M1/72457H04W4/025H04W68/02H04W72/54H04W72/563H04M1/724631
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 11,736,431
App. No.
17/403,714
Granted
Aug 22, 2023
Kind
B2
Abstract

The present disclosure is related to automatically, based on contextual information and without needing explicit input from a user, modifying one or more settings associated with presenting a notification. In examples, settings may include automatically suspending notification presentation or automatically overriding a notification setting that suspends notification presentation. In addition, contextual information may include, among other things, information related to a computing device (e.g., device location or network signal strength), a rate of user interaction or engagement with an application (e.g., rate of information sharing, user reactions, etc.), and/or a calendar or schedule of a user. In examples, the contextual information may be analyzed (e.g., based on comparison to a threshold) to determine whether a condition is met, and based on the analysis, the one or more settings may be modified.

Claims (89)

1. A method comprising:

determining, based at least in part on a first client associated with a first user account of a communication platform, contextual data associated with at least one of the first client or data exchange between the communication platform and one or more user accounts, wherein the first user account is associated with a communication channel configured to share data between a group of user accounts granted access to the communication channel;

determining, based at least in part on a threshold, that the contextual data satisfies a condition;

receiving, from a second client associated with a second user account of the communication platform, a communication posted in association with the communication channel;

based at least in part on a determination that the contextual data satisfies the condition, refraining from rendering, for display, a notification indicating the communication is posted in association with the communication channel; and

based at least in part on the determination that the contextual data satisfies the condition and without receiving explicit input in association with the first user account, rendering, for display, one or more other notifications indicating that one or more other communications have been posted in association with the communication channel or a different communication channel in which the first user account is associated.

2. The method of claim 1 , wherein the contextual data is first contextual data associated with a first time, the method further comprising:

receiving second contextual data associated with the at least one of the first client or the data exchange between the communication platform and one or more user accounts at a second time;

determining, based at least in part on the threshold, that the second contextual data does not satisfy the condition; and

causing a rendering, for display, of the notification, based at least in part on a second determination that the second contextual data does not satisfy the condition.

3. The method of claim 1 , wherein:

the contextual data comprises location data indicating a first physical location of the first client at a first time;

the threshold comprises a threshold distance from a second physical location associated with the communication channel; and

the condition is satisfied in part based at least in part on when the location data equals or exceeds the threshold distance.

4. The method of claim 1 , wherein:

the contextual data comprises a rate of data posting occurring via the communication channel;

the threshold comprises a threshold data-posting rate; and

the condition is satisfied in part based at least in part on when the rate of data posting equals or exceeds the threshold data-posting rate.

5. The method of claim 1 , wherein:

the contextual data comprises calendar data indicating a range of times associated with non-working hours; and

the condition is satisfied at least in part when a time at which the notification would be presented is included in the range of times.

6. The method of claim 1 , wherein the communication is a first communication and the notification is a first notification, the method further comprising:

receiving a second communication posted to a second communication channel, the first user account having access to the second communication channel;

refraining from rendering a second notification indicating the second communication is posted in association with the second communication channel;

ranking, based at least in part on one or more criteria, the first communication and the second communication; and

causing a rendering, based at least in part on the ranking, of the first notification temporally before the second notification.

7. The method of claim 1 , wherein:

the contextual data is first contextual data, the communication channel is a first communication channel, and the notification is a first notification; and

the method further comprises:

receiving, from a second client, a second communication posted to a second communication channel to which the first user account has access, one or more of the second communication or the second communication channel being associated with second contextual data; and

causing a rendering, based at least in part on the second contextual data, of a second notification via the first client while refraining from rendering the first notification.

8. The method of claim 1 further comprising:

receiving, from the first client and via the first user account, a request to post a second communication in association with the communication channel; and

delaying, based at least in part on the condition being satisfied, posting the second communication to the communication channel.

9. A system comprising:

one or more processors; and

one or more non-transitory computer readable media storing instructions that, when executed, cause the system to:

determine, based at least in part on a first client associated with a first user account of a communication platform, contextual data associated with at least one of the first client or data exchange between the communication platform and one or more user accounts, wherein the first user account is associated with a communication channel configured to share data between a group of user accounts granted access to the communication channel;

determine, based at least in part on a threshold, that the contextual data satisfies a condition;

receive, from a second client associated with a second user account of the communication platform, a communication posted in association with the communication channel;

based at least in part on a determination that the contextual data satisfies the condition, refrain from rendering a notification indicating the communication is posted in association with the communication channel; and

based at least in part on the determination that the contextual data satisfies the condition and without receiving explicit input in association with the first user account, rendering, for display, one or more other notifications indicating that one or more other communications have been posted in association with the communication channel or a different communication channel in which the first user account is associated.

10. The system of claim 9 , wherein the contextual data is first contextual data associated with a first time, and wherein the instructions further cause the system to:

receive second contextual data associated with the at least one of the first client or the data exchange between the communication platform and one or more user accounts at a second time;

determine, based at least in part on the threshold, that the second contextual data does not satisfy the condition; and

cause a rendering, for display, of the notification, based at least in part on a second determination that the second contextual data does not satisfy the condition.

11. The system of claim 9 , wherein:

the contextual data comprises location data indicating a first physical location of the first client at a first time;

the threshold comprises a threshold distance from a second physical location associated with the communication channel; and

the condition is satisfied in part based at least in part on when the location data equals or exceeds the threshold distance.

12. The system of claim 9 , wherein:

the contextual data comprises a rate of data posting occurring via the communication channel;

the threshold comprises a threshold data-posting rate; and

the condition is satisfied in part based at least in part on when the rate of data posting equals or exceeds the threshold data-posting rate.

13. The system of claim 9 , wherein:

the contextual data comprises calendar data indicating a range of times associated with non-working hours; and

the condition is satisfied at least in part when a time at which the notification would be presented is included in the range of times.

14. The system of claim 9 , wherein the communication is a first communication and the notification is a first notification, and wherein the instructions further cause the system to:

receive a second communication posted to a second communication channel, the first user account having access to the second communication channel;

refrain from rendering a second notification indicating the second communication is posted in association with the second communication channel;

rank, based at least in part on one or more criteria, the first communication and the second communication; and

cause a rendering, based at least in part on the ranking, of the first notification temporally before the second notification.

15. The system of claim 9 , wherein:

the contextual data is first contextual data, the communication channel is a first communication channel, and the notification is a first notification; and

wherein the instructions further cause the system to:

receive, from a second client, a second communication posted to a second communication channel to which the first user account has access, one or more of the second communication or the second communication channel being associated with second contextual data; and

cause a rendering, based at least in part on the second contextual data, of a second notification via the first client while refraining from rendering the first notification.

16. One or more non-transitory computer readable media storing instructions that, when executed, cause one or more processors to:

determine, based at least in part on a first client associated with a first user account of a communication platform, contextual data associated with at least one of the first client or data exchange between the communication platform and one or more user accounts, wherein the first user account is associated with a communication channel configured to share data between a group of user accounts granted access to the communication channel;

determine, based at least in part on a threshold, that the contextual data satisfies a condition;

receive, from a second client associated with a second user account of the communication platform, a communication posted in association with the communication channel;

based at least in part on a determination that the contextual data satisfies the condition, refrain from rendering a notification indicating the communication is posted in association with the communication channel; and

based at least in part on the determination that the contextual data satisfies the condition and without receiving explicit input in association with the first user account, rendering, for display, one or more other notifications indicating that one or more other communications have been posted in association with the communication channel or a different communication channel in which the first user account is associated.

17. The one or more non-transitory computer readable media of claim 16 , wherein the contextual data is first contextual data associated with a first time, and wherein the instructions further cause the one or more processors to:

receive second contextual data associated with the at least one of the first client or the data exchange between the communication platform and one or more user accounts at a second time;

determine, based at least in part on the threshold, that the second contextual data does not satisfy the condition; and

cause a rendering, for display, of the notification, based at least in part on a second determination that the second contextual data does not satisfy the condition.

18. The one or more non-transitory computer readable media of claim 16 , wherein:

the contextual data comprises location data indicating a first physical location of the first client at a first time;

the threshold comprises a threshold distance from a second physical location associated with the communication channel; and

the condition is satisfied in part based at least in part on when the location data equals or exceeds the threshold distance.

19. The one or more non-transitory computer readable media of claim 16 , wherein:

the contextual data comprises calendar data indicating a range of times associated with non-working hours; and

the condition is satisfied at least in part when a time at which the notification would be presented is included in the range of times.

20. The one or more non-transitory computer readable media of claim 16 , wherein:

the contextual data is first contextual data, the communication channel is a first communication channel, and the notification is a first notification; and

wherein the instructions further cause the one or more processors to:

receive, from a second client, a second communication posted to a second communication channel to which the first user account has access, one or more of the second communication or the second communication channel being associated with second contextual data; and

cause a rendering, based at least in part on the second contextual data, of a second notification via the first client while refraining from rendering the first notification.

Assignments (4)
MERGER Recorded Nov 21, 2022
From: SLACK TECHNOLOGIES, INC.
To: SALESFORCE.COM, INC.
Reel/Frame 061838/0141 →
CHANGE OF NAME Recorded Nov 21, 2022
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 061972/0769 →
MERGER AND CHANGE OF NAME Recorded Oct 1, 2021
From: SLACK TECHNOLOGIES, INC.; SLACK TECHNOLOGIES, LLC
To: SLACK TECHNOLOGIES, LLC
Reel/Frame 057683/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2021
From: BAKSHI, AKSHAY; BUCHANAN, SCOTT; CHANDLER, MINA; HAM, GAVIN; RUSHING, JUSTIN; MANSOUR, LEENA; YAQUB, FAISAL
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 057195/0171 →
Continuity (1)
Related Publication 20230048072A1 · Feb 16, 2023