IP Library Granted Patent US 12675252
Granted Patent B2
US 12675252 · App. 18/213,643 · Granted Jul 7, 2026

Systems and methods for screen sharing

Inventors: Shruti Shruti (Redwood City, CA); Julie Haynes (Seattle, WA); Samuel Kang (San Francisco, CA)
Assignee: Salesforce, Inc.
G06F3/1454H04N23/62
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 12675252
App. No.
18/213,643
Granted
Jul 7, 2026
Kind
B2
Abstract

Media, methods, and systems are provided for screen sharing. A user may initiate a video recording. A recording preview interface may be displayed for the user to preview the video recording before beginning the recording. The recording preview interface may comprise a live video preview of the user and of a window or application being shared. When the user selects a window or application for previewing that may cause an infinity mirror effect to occur, a screenshot of the window or application may be generated. The screenshot may be rendered over the live video preview of the window or application to obscure the infinity mirror effect. When the user initiates recording, the screenshot may be removed to expose the live video. The screenshot may be cached and retrieved if the user navigates away and then returns to the preview of the window or application causing the infinity mirror effect.

Claims (70)

1 . One or more non-transitory computer-readable media storing computer-executable instructions configurable to cause at least one processor to perform a method of screen sharing, the method comprising:

responsive to receiving a request to create a video recording, causing display of a recording preview interface, the recording preview interface comprising a main preview pane configured to display a preview of the video recording;

receiving, within the recording preview interface, a selection from a user to share an entire display screen;

responsive to receiving the selection, generating a static screenshot of the entire display screen;

causing display of the static screenshot on a first layer of the main preview pane; and

causing display of a live video of the entire display screen on a second layer,

wherein the second layer is below the first layer such that the static screenshot of the entire display screen is overlaid the live video of the entire display screen and the static screenshot of the entire display screen obscures view of the live video of the entire display screen.

2 . The one or more non-transitory computer-readable media of claim 1 , wherein the method further comprises:

responsive to receiving an instruction to initiate the video recording, hiding the first layer, thereby exposing the live video of the entire display screen.

3 . The one or more non-transitory computer-readable media of claim 2 , wherein the method further comprises:

responsive to receiving a pause instruction to pause the video recording from the user, unhiding the first layer.

4 . The one or more non-transitory computer-readable media of claim 1 , wherein the method further comprises:

causing display of a video feed of the user on a third layer, the third layer disposed above the first layer.

5 . The one or more non-transitory computer-readable media of claim 1 , wherein the method further comprises:

storing the static screenshot of the entire display screen in memory.

6 . The one or more non-transitory computer-readable media of claim 5 , wherein the method further comprises:

responsive to receiving a second selection from the user of a different screen to share:

causing display of the live video of the different screen on the second layer; and

hiding the first layer; and

responsive to receiving a third selection from the user to share the entire display screen:

retrieving the static screenshot from the memory; and

unhiding the first layer.

7 . The one or more non-transitory computer-readable media of claim 1 , wherein the first layer is superimposed on the second layer.

8 . A method of screen sharing, the method comprising:

responsive to receiving a request to create a video recording, causing display of a recording preview interface, the recording preview interface comprising a main preview pane configured to display a preview of the video recording;

receiving, within the recording preview interface, a selection from a user to share an entire display screen;

responsive to receiving the selection, generating a static screenshot of the entire display screen;

causing display of the static screenshot on a first layer of the main preview pane; and

causing display of a live video of the entire display screen on a second layer,

wherein the second layer is below the first layer such that the static screenshot of the entire display screen is overlaid the live video of the entire display screen and the static screenshot of the entire display screen obscures view of the live video of the entire display screen.

9 . The method of claim 8 , further comprising:

responsive to receiving an instruction to initiate the video recording, hiding the first layer, thereby exposing the live video of the entire display screen.

10 . The method of claim 9 , further comprising:

responsive to receiving a pause instruction to pause the video recording from the user, unhiding the first layer.

11 . The method of claim 8 , further comprising:

causing display of a video feed of a screen sharing user on a third layer, the third layer disposed above the first layer.

12 . The method of claim 8 , further comprising:

storing the static screenshot of the entire display screen in memory.

13 . The method of claim 12 , further comprising:

responsive to receiving a second selection from the user of a different screen to share:

causing display of the live video of the different screen on the second layer; and

hiding the first layer; and

responsive to receiving a third selection from the user to share the entire display screen:

retrieving the static screenshot from the memory; and

unhiding the first layer.

14 . The method of claim 8 , wherein the first layer is superimposed on the second layer.

15 . A system for screen sharing, comprising:

at least one processor; and

one or more non-transitory computer-readable media storing computer-readable instructions configurable to cause the at least one processor execute instructions, comprising:

responsive to receiving a request to create a video recording, causing display of a recording preview interface, the recording preview interface comprising a main preview pane configured to display a preview of the video recording;

receiving, within the recording preview interface, a selection from a user to share an entire display screen;

responsive to receiving the selection, generating a static screenshot of the entire display screen;

causing display of the static screenshot on a first layer of the main preview pane; and

causing display of a live video of the entire display screen on a second layer,

wherein the second layer is below the first layer such that the static screenshot of the entire display screen is overlaid the live video of the entire display screen and the static screenshot of the entire display screen obscures view of the live video of the entire display screen.

16 . The system of claim 15 , wherein the instructions further comprise:

responsive to receiving an instruction to initiate the video recording, hiding the first layer, thereby exposing the live video of the entire display screen.

17 . The system of claim 15 , wherein the instructions further comprise:

responsive to receiving a pause instruction to pause the video recording from the user, unhiding the first layer.

18 . The system of claim 16 , wherein the instructions further comprise:

causing display of a video feed of a screen sharing user on a third layer, the third layer disposed above the first layer.

19 . The system of claim 15 , wherein the instructions further comprise:

storing the static screenshot of the entire display screen in memory;

responsive to receiving a second selection from the user of a different screen to share:

causing display of the live video of the different screen on the second layer; and

hiding the first layer; and

responsive to receiving a third selection from the user to share the entire display screen:

retrieving the static screenshot from the memory; and

unhiding the first layer.

20 . The system of claim 15 , wherein the first layer is superimposed on the second layer.