IP Library Granted Patent US 11,733,850
Granted Patent B2
US 11,733,850 · App. 16/263,860 · Granted Aug 22, 2023

Slide grid snapping and comment anywhere for presentation slides in a cloud collaboration platform

Inventors: Andy Chung (Berkeley, CA); Aaron Boodman (San Francisco, CA); Joshua Li (San Francisco, CA); Erik Arvidsson (San Francisco, CA); Kevin Gibbs (San Francisco, CA); Diana Berlin (San Francisco, CA)
Assignee: Salesforce, Inc.
G06F3/04847B25J9/1694B25J13/08G06F3/0486G06F3/04883G06F11/34G06F16/176G06F16/24573G06F40/106G06N3/008G06Q10/101G10L15/22H04L65/4015H04L67/535G06F3/1454G06F40/169
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,733,850
App. No.
16/263,860
Granted
Aug 22, 2023
Kind
B2
Abstract

Disclosed herein are system, method, and computer program product embodiments for slide grid snapping for presentations slides in a cloud collaboration platform. An embodiment operates by displaying a slide made up of rows and columns of pixels, receiving inputs to select and move an object, interpreting the movement, based on proximity to particular rows and columns, places the object along the particular row and column of pixels, and rendering the resulting slide. By serializing and coordinating design actions using the slide grid, the ease of design and the efficiency of the user experience may be enhanced. The grid system further allows users to comment anywhere in the document, associating those comments with objects or layers, and adjusting or moving the comments in response to grid-based actions.

Claims (91)

1. A computer-implemented method, comprising:

displaying, by one or more processors, a slide in a presentation in a cloud collaboration platform that allows a first user and a second user to concurrently edit the slide, wherein the slide comprises a first displayed object, a second displayed object, a third displayed object, and a displayed grid comprising rows, columns, and a grid spacing, wherein the grid spacing comprises a number of pixels between each row in the rows and each column in the columns;

adjusting, by the one or more processors, the number of pixels based on a grid size change input from the first user and concurrently modifying a zoom level to accommodate the adjusting for both the first user and the second user viewing the slide;

realigning, by the one or more processors, the first displayed object, the second displayed object, and the third displayed object with the displayed grid in response to the grid size change input;

receiving, by the one or more processors, from the first user, a first input indicating a selection of the first displayed object and a second input indicating a movement of the first displayed object;

interpreting, by the one or more processors, the movement of the first displayed object based on the rows and the columns in the displayed grid and rendering the slide in the presentation for the first user and the second user based on the interpreted movement of the first displayed object, wherein the first displayed object attaches to a particular row in the rows and a particular column in the columns, wherein the particular row and the particular column are determined based on a proximity between the first displayed object and the particular row and the particular column;

receiving, by the one or more processors, from the first user, a third input indicating a selection of both the first displayed object and the second displayed object, a fourth input indicating a resizing operation of the selection, and a fifth input comprising a comment;

in response to the resizing operation, resizing, by the one or more processors, the first displayed object and the second displayed object concurrently based on the rows and the columns in the displayed grid such that the first displayed object and the second displayed object resize in a modular step such that the first displayed object and the second displayed object remain affixed to the rows and the columns of the displayed grid while leaving the third displayed object unchanged;

in response to the fifth input, associating, by the one or more processors, the comment with the first displayed object and the second displayed object; and

rendering, by the one or more processors, the slide in the presentation for the first user and the second user based on the resizing operation, wherein the slide displays the comment in association with the first displayed object and the second displayed object.

2. The method of claim 1 , further comprising:

displaying, by the one or more processors, a layer in the slide;

receiving, by the one or more processors, a second comment from the first user and a locational input that specifies the layer;

associating, by the one or more processors, the second comment with the layer based on the locational input; and

rendering, by the one or more processors, the second comment in association with the layer for the first user and the second user.

3. The method of claim 1 , further comprising:

receiving, by the one or more processors, a second comment from the first user and a sixth input that specifies the second comment is associated with the slide;

associating, by the one or more processors, the second comment with the slide; and

rendering, by the one or more processors, the second comment in association with the slide for the first user and the second user.

4. The method of claim 1 , further comprising:

receiving, by the one or more processors, a second comment from the first user and a locational input, wherein the locational input specifies a specific row and a specific column on the slide;

associating, by the one or more processors, the second comment with the specific row and the specific column based on the locational input; and

rendering, by the one or more processors, the second comment in association with the specific row and the specific column for the first user and the second user.

5. The method of claim 1 , the resizing further comprising:

interpreting, by the one or more processors, the resizing operation to attach the first displayed object to the particular row in the rows in the displayed grid and the particular column in the columns in the displayed grid.

6. The method of claim 1 , further comprising:

determining, by the one or more processors, a user type of a third user;

determining, by the one or more processors, an access setting of the comment; and

rendering, by the one or more processors, the comment for the third user if the user type is sufficient to view the comment.

7. The method of claim 1 , further comprising:

determining, by the one or more processors, a sixth input indicating an addition of the third displayed object to the selection.

8. A system, comprising:

a memory; and

at least one processor coupled to the memory and configured to:

display a slide in a presentation in a cloud collaboration platform that allows a first user and a second user to concurrently edit the slide, wherein the slide comprises a first displayed object, a second displayed object, a third displayed object, and a displayed grid comprising rows, columns, and a grid spacing, wherein the grid spacing comprises a number of pixels between each row in the rows and each column in the columns;

adjust the number of pixels based on a grid size change input from the first user and concurrently modifying a zoom level to accommodate the adjusting for both the first user and the second user viewing the slide;

realign the first displayed object, the second displayed object, and the third displayed object with the displayed grid in response to the grid size change input;

receive, from the first user, a first input indicating a selection of the first displayed object and a second input indicating a movement of the first displayed object;

interpret the movement of the first displayed object based on the rows and the columns in the displayed grid and render the slide in the presentation for the first user and the second user based on the interpreted movement of the first displayed object, wherein the first displayed object attaches to a particular row in the rows and a particular column in the columns, wherein the particular row and the particular column are determined based on a proximity between the first displayed object and the particular row and the particular column;

receive, from the first user, a third input indicating a selection of both the first displayed object and the second displayed object, a fourth input indicating a resizing operation of the selection, and a fifth input comprising a comment;

in response to the resizing operation, resize the first displayed object and the second displayed object concurrently based on the rows and the columns in the displayed grid such that the first displayed object and the second displayed object resize in a modular step such that the first displayed object and the second displayed object remain affixed to the rows and the columns of the displayed grid while leaving the third displayed object unchanged;

in response to the fifth input, associate the comment with the first displayed object and the second displayed object; and

render the slide in the presentation for the first user and the second user based on the resizing operation, wherein the slide displays the comment in association with the first displayed object and the second displayed object.

9. The system of claim 8 , the at least one processor further configured to:

display a layer in the slide;

receive a second comment from the first user and a locational input that specifies the layer;

associate the second comment with the layer based on the locational input; and

render the second comment in association with the layer for the first user and the second user.

10. The system of claim 8 , the at least one processor further configured to:

receive a second comment from the first user and a sixth input that specifies that the second comment is associated with the slide;

associate the second comment with the slide; and

render the second comment in association with the slide for the first user and the second user.

11. The system of claim 8 , the at least one processor further configured to:

receive a second comment from the first user and a locational input, wherein the locational input specifies a specific row and a specific column on the slide;

associate the second comment with the specific row and the specific column based on the locational input; and

render the second comment in association with the specific row and the specific column for the first user and the second user.

12. The system of claim 8 , wherein to resize, the at least one processor is further configured to:

interpret the resizing operation to attach the first displayed object to the particular row in the rows in the displayed grid and the particular column in the columns in the displayed grid.

13. The system of claim 8 , the at least one processor further configured to:

determine a user type of a third user;

determine an access setting of the comment; and

render the comment for the third user if the user type is sufficient to view the comment.

14. The system of claim 8 , the at least one processor further configured to:

determine a sixth input indicating an addition of the third displayed object to the selection.

15. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:

displaying a slide in a presentation in a cloud collaboration platform that allows a first user and a second user to concurrently edit the slide, wherein the slide comprises a first displayed object, a second displayed object, a third displayed object, and a displayed grid comprising rows, columns, and a grid spacing, wherein the grid spacing comprises a number of pixels between each row in the rows and each column in the columns;

adjusting the number of pixels based on a grid size change input from the first user and concurrently modifying a zoom level to accommodate the adjusting for both the first user and the second user viewing the slide;

realigning the first displayed object, the second displayed object, and the third displayed object with the displayed grid in response to the grid size change input;

receiving, from the first user, a first input indicating a selection of the first displayed object and a second input indicating a movement of the first displayed object;

interpreting the movement of the first displayed object based on the rows and the columns in the displayed grid and rendering the slide in the presentation for the first user and the second user based on the interpreted movement of the first displayed object, wherein the first displayed object attaches to a particular row in the rows and a particular column in the columns, wherein the particular row and the particular column are determined based on a proximity between the first displayed object and the particular row and the particular column;

receiving, from the first user, a third input indicating a selection of both the first displayed object and the second displayed object, a fourth input indicating a resizing operation of the selection, and a fifth input comprising a comment;

in response to the resizing operation, resizing the first displayed object and the second displayed object concurrently based on the rows and the columns in the displayed grid such that the first displayed object and the second displayed object resize in a modular step such that the first displayed object and the second displayed object remain affixed to the rows and the columns of the displayed grid while leaving the third displayed object unchanged;

in response to the fifth input, associating the comment with the first displayed object and the second displayed object; and

rendering the slide in the presentation for the first user and the second user based on the resizing operation, wherein the slide displays the comment in association with the first displayed object and the second displayed object.

16. The non-transitory computer-readable device of claim 15 , the operations further comprising:

displaying a layer in the slide;

receiving a second comment from the first user and a locational input that specifies the layer;

associating the second comment with the layer based on the locational input; and

rendering the second comment in association with the layer for the first user and the second user.

17. The non-transitory computer-readable device of claim 15 , the operations further comprising:

receiving a second comment from the first user and a sixth input that specifies that the second comment is associated with the slide;

associating the second comment with the slide; and

rendering the second comment in association with the slide for the first user and the second user.

18. The non-transitory computer-readable device of claim 15 , the operations further comprising:

receiving a second comment from the first user and a locational input, wherein the locational input specifies the specific row and the specific column on the slide;

associating the second comment with the specific row and the specific column based on the locational input; and

rendering the second comment in association with the specific row and the specific column for the first user and the second user.

19. The non-transitory computer-readable device of claim 15 , the resizing further comprising:

interpreting the resizing operation to attach the first displayed object to the particular row in the rows in the displayed grid and the particular column in the columns in the displayed grid.

20. The non-transitory computer-readable device of claim 15 , the operations further comprising:

determining a sixth input indicating an addition of the third displayed object to the selection.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0399 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2022
From: LI, JOSHUA; ARVIDSSON, ERIK; BERLIN, DIANA; CHUNG, ANDY; GIBBS, KEVIN; BOODMAN, AARON
To: SALESFORCE.COM, INC.
Reel/Frame 059515/0001 →
Continuity (4)
Provisional Application 62735731 · Sep 24, 2018
Provisional Application 62735746 · Sep 24, 2018
Provisional Application 62733075 · Sep 18, 2018
Related Publication 20200089397A1 · Mar 19, 2020