IP Library Granted Patent US 11,044,359
Granted Patent B2
US 11,044,359 · App. 16/572,543 · Granted Jun 22, 2021

Suppressing indications of events in user interfaces

Inventors: Vijay Chandrasekaran (Sunnyvale, CA); Ats Jenk (Santa Clara, CA)
Assignee: Microsoft Technology Licensing, LLC
H04M1/72484H04L51/24H04L51/26H04L51/14
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,044,359
App. No.
16/572,543
Granted
Jun 22, 2021
Kind
B2
Abstract

In a device including a user interface, a processor and a memory in communication with the processor, the memory includes executable instructions that, when executed by the processor, cause the processor to control the device to perform functions of detecting an occurrence of an event, the device configured to generate a plurality of user notifications in response to the occurrence of the event, and causing only one of the plurality of user notifications to be output via the user interface while suppressing other user notifications such that duplicate user notifications of the event are prevented.

Claims (88)

1. A computing system for preventing surfacing, via a user interface, duplicate notification screens in response to an event associated with a single incoming communication, the computing system operating a plurality of software sets configured to generate a plurality of notification screens, respectively, in response to the event associated with the single incoming communication, the computing system comprising:

the user interface;

a processor; and

a memory in communication with the processor, the memory comprising executable instructions that, when executed by the processor, cause the processor to control the device computing system to perform functions of:

detecting an occurrence of the event associated with the single incoming communication;

determining that the plurality of software sets is set to generate a plurality of notification screens, respectively, as a result of the occurrence of the event associated with the single incoming communication, each notification screen identifying the single incoming communication; and

causing fewer than all of the plurality of notification screens to be surfaced via the user interface.

2. The device computing system of claim 1 , wherein:

the plurality of software sets comprises first and second software sets configured to generate first and second notification screens, respectively, in response to the occurrence of the event associated with the single incoming communication, and

for causing fewer than all of the plurality of notification screens to be surfaced via the user interface, the instructions, when executed by the processor, further cause the processor to control the computing system to perform functions of:

determining that the first software set has surfaced, via the user interface, the first notification screen within a predetermined period of time; and

in response to determining that the first software set has surfaced the first notification screen within the predetermined period of time, causing the second software set to suppress surfacing the second notification screen via the user interface.

3. The computing system of claim 1 , wherein:

the plurality of software sets comprises first and second software sets configured to generate first and second notification screens, respectively, in response to rccciving the occurrence of the event associated with the single incoming communication, and

for causing fewer than all of the plurality of notification screens to be surfaced via the user interface, the instructions, when executed by the processor, further cause the processor to control the computing system to perform functions of:

determining that the first software set has a higher priority than that of the second software set in surfacing the notification screen via the user interface; and

in response to determining that the first software set has the higher priority than that of the second software set, causing the first software set to surface the first notification screen via the user interface.

4. The computing system of claim 1 , wherein:

the plurality of software sets comprises first and second software sets configured to generate first and second notification screens, respectively, in response to the occurrence of the event associated with the single incoming communication, and

for causing fewer than all of the plurality of notification screens to be surfaced via the user interface, the instructions, when executed by the processor, further cause the processor to control the computing system to perform functions of:

determining that the first software set has a higher priority than that of the second software set in surfacing the notification screen via the user interface;

determining that the first software set has not surfaced the first notification screen via the user interface within a predetermined period of time; and

in response to determining that the first software set has the higher priority than that of the first software set but has not surfaced the first notification screen within the predetermined period of time, causing the second software set to surface the second notification screen via the user interface.

5. The device computing system of claim 1 , wherein:

the plurality of software sets comprises first and second software sets configured to generate first and second notification screens, respectively, in response to receiving the single incoming communication indicating the occurrence of the event, and

the instructions, when executed by the processor, further cause the processor to control the computing system to perform functions of:

detecting that the first software set is operating on a foreground of an operational environment of the computing system while the second software set is operating on a background of the operational environment; and

in response to detecting that the first software set is but the second software set is not operating on the foreground the operational environment, determining that the first software set has a higher priority than that of the second software set in surfacing the notification screen via the user interface.

6. The device computing system of claim 5 , wherein, for causing fewer than all of the plurality of notification screens to be surfaced via the user interface, the instructions, when executed by the processor, further cause the processor to control the computing system to perform functions of:

causing the first software set having the higher priority to surface the first notification screen via the user interface; and

causing the second software set to suppress surfacing the second notification screen via the user interface.

7. The device computing system of claim 1 , wherein:

the event is associated with a first user credential,

the plurality of software sets comprises first and second software sets configured to generate first and second notification screens, respectively, the first software set being associated with the first user credential, and

the instructions, when executed by the processor, further cause the processor to control the computing system to perform functions of:

determining that the second software set is associated with a second user credential that is different from the first user credential; and

in response to determining that the second software set is associated with the second user credential, causing the first software set to surface the first notification screen via the user interface.

8. The device computing system of claim 1 , wherein:

the plurality of software sets comprises first and second software sets configured to generate first and second notification screens, respectively, the first software set configured to surface the first notification screen in response to the occurrence of the event associated with the single incoming communication, and

the instructions, when executed by the processor, further cause the processor to control the computing system to perform functions of:

detecting that the second software set has surfaced the second notification screen via the user interface;

determining that content of the second notification is different from content of the event; and

in response to determining that that content of the second notification is different from content of the event, causing the first software set to surface the user first notification via the user interface.

9. The computing system of claim 1 , wherein the single incoming communication includes an event notification.

10. A method of operating a computing system for preventing surfacing, via a user interface, duplicate notification screens in response to an event associated with a single incoming communication, the computing system operating a plurality of software sets configured to generate a plurality of notification screens, respectively, in response to the event associated with the single incoming communication, the method comprising:

detecting an occurrence of the event associated with the single incoming communication;

determining that the plurality of software sets is set to generate a plurality of notification screens, respectively, as a result of the occurrence of the event associated with the single incoming communication, each notification screen identifying the single incoming communication; and

causing fewer than all of the plurality of notification screens to be surfaced via the user interface.

11. The method of claim 10 , wherein:

the plurality of software sets comprises first and second software sets configured to generate first and second notification screens, respectively, in response to the occurrence of the event associated with the single incoming communication, and

causing fewer than all of the plurality of notification screens to be surfaced via the user interface comprises:

determining that the first software set has surfaced, via the user interface, the first notification screen within a predetermined period of time; and

in response to determining that the first software set has surfaced the first notification screen within the predetermined period of time, causing the second software set to suppress surfacing the second notification screen via the user interface.

12. The method of claim 10 , wherein:

the plurality of software sets comprises first and second software sets configured to generate first and second notification screens, respectively, in response to the occurrence of the event associated with the single incoming communication, and

causing fewer than all of the plurality of notification screens to be surfaced via the user interface comprises:

determining that the first software set has a higher priority than that of the second software set in surfacing the notification screen via the user interface; and

in response to determining that the first software set has the higher priority than that of the second software set in surfacing the notification screen via the user interface, causing the first software set to surface the first notification screen via the user interface.

13. The method of claim 10 , wherein:

the plurality of software sets comprises first and second software sets configured to generate first and second notification screens, respectively, in response to the occurrence of the event associated with the single incoming communication, and

causing fewer than all of the plurality of notification screens to be surfaced via the user interface comprise:

determining that the first software set has a higher priority than that of the second software set in surfacing the notification screen via the user interface;

determining that the first software set has not surfaced the first notification screen via the user interface within a predetermined period of time; and

in response to determining that the first software set has the higher priority than that of the first software set but has not surfaced the first notification screen within the predetermined period of time, causing the second software set to surface the second notification screen via the user interface.

14. The method of claim 10 , wherein:

the plurality of software sets comprises first and second software sets configured to generate first and second notification screens, respectively, in response to receiving the single incoming communication indicating the occurrence of the event, and

the method further comprises:

detecting that the first software set is operating on a foreground of an operational environment of the computing system while the second software set is operating on a background of the operational environment; and

in response to detecting that the first software set is but the second software set is not operating on the foreground the operational environment, determining that the first software set has the higher priority than that of the second software set in surfacing the notification screen via the user interface.

15. The method of claim 14 , wherein causing fewer than all of the plurality of notification screens to be surfaced via the user interface comprises:

causing the first software set having the higher priority to surface the first notification screen via the user interface; and

causing the second software set to suppress surfacing the second notification screen via the user interface.

16. The method of claim 10 , wherein:

the event is associated with a first user credential,

the plurality of software sets comprises first and second software sets configured to generate first and second notification screens, respectively, the first software set being associated with the first user credential, and

the method further comprises:

determining that the second software set is associated with a second user credential that is different from the first user credential; and

in response to determining that the second software set is associated with the second user credential, causing the first software set to surface the first notification screen via the user interface.

17. The method of claim 10 , wherein:

the plurality of software sets comprises first and second software sets configured to generate first and second notification screens, respectively, the first software set configured to surface the first notification screen in response to receiving the occurrence of the event associated with the single incoming communication, and

the method further comprises:

detecting that the second software set has surfaced the second notification screen via the user interface;

determining that content of the second notification is different from content of the event; and

in response to determining that that content of the second notification is different from content of the event, causing the first software set to surface the user first notification via the user interface.

18. A non-transitory computer readable medium containing instructions which, when executed by a processor, cause a computing system to perform functions for preventing surfacing, via a user interface, duplicate notification screens in response to an event associated with a single incoming communication, the computing system operating a plurality of software sets configured to generate a plurality of notification screens, respectively, in response to the event associated with the single incoming communication, the functions comprising:

detecting an occurrence of the event associated with the single incoming communication;

determining that the plurality of software sets is set to generate a plurality of notification screens, respectively, as a result of the occurrence of the event associated with the single incoming communication, each notification screen identifying the single incoming communication; and

causing fewer than all of the plurality of notification screens to be surfaced via the user interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2019
From: CHANDRASEKARAN, VIJAY; JENK, ATS
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 050393/0892 →
Continuity (4)
Continuation 16285151 · Feb 25, 2019
Continuation 16120153 · Aug 31, 2018
Continuation 15097488 · Apr 13, 2016
Related Publication 20200014794A1 · Jan 9, 2020