IP Library Granted Patent US 11,487,397
Granted Patent B2
US 11,487,397 · App. 17/217,283 · Granted Nov 1, 2022

Multiple windows for a group-based communication system

Inventors: Andrew Fong (Menlo Park, CA); Felix Rieseberg (San Francisco, CA); Andrew Locascio (San Francisco, CA); Samuel Attard (Vancouver, CA); Alfred Xing (Vancouver, CA); Albert Xing (Vancouver, CA)
Assignee: Slack Technologies, LLC
G06F3/0481G06F3/0484H04L51/04
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,487,397
App. No.
17/217,283
Granted
Nov 1, 2022
Kind
B2
Abstract

A system, method, and computer-readable media for dividing the content of a user interface for a group-based communication system among a plurality of windows. A parent window may comprise a plurality of panes. A child window may be created from the parent window by an actuation on a pane of the plurality of panes presented by the user interface. Child windows and the parent window may share computer memory. A plurality of windows may be created to divide the content of the user interface. Libraries designed for single window applications may be modified to work with a plurality of windows. The group-based communication system may be implemented via various web technologies.

Claims (68)

1. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by a processor, perform a method of dividing content of a user interface for a group-based communication system among a plurality of windows, the method comprising the steps of:

causing display of the user interface for the group-based communication system, the user interface comprising a parent window comprising a plurality of parent panes,

wherein the user interface for the group-based communication system is implemented with one or more code libraries configured to operate in a single-window user interface state;

receiving a first type of actuation of a control in a control parent pane of the plurality of parent panes that causes a change in a state of a target parent pane of the plurality of parent panes;

receiving a second type of actuation of the control in the control parent pane, the second type of actuation being distinct from the first type of actuation; and

creating a child window for the user interface for the group-based communication system,

wherein a local variable of the child window is associated with a global variable of the parent window, the global variable configured to manipulate the parent window,

wherein the local variable comprises a variable scope distinct from a variable scope of the global variable,

wherein the global variable is associated with the one or more code libraries,

wherein the child window is distinct from the parent window and comprises one or more child panes, the one or more child panes corresponding to a subset of the plurality of parent panes,

wherein the one or more child panes include a target child pane corresponding to the target parent pane and reflecting the change in the state of the target parent pane, and

wherein the one or more child panes excludes at least one pane of the plurality of parent panes.

2. The computer-readable media of claim 1 , wherein the child window and the parent window share a single memory space and a single communication connection with a server.

3. The computer-readable media of claim 1 , wherein the plurality of parent panes comprises at least one of a channel pane, a channel list pane, a workspace pane, a search pane, a thread pane, and a compose pane.

4. The computer-readable media of claim 1 , wherein creating the child window causes the target parent pane to be removed from the parent window.

5. The computer-readable media of claim 1 , wherein the computer-executable instructions are further executed to perform the steps of:

receiving an input in the target child pane causing a change in state in the target child pane,

wherein the change in state in the target child pane is reflected in the target parent pane.

6. The computer-readable media of claim 1 , wherein the change in state in the target child pane is reflected in at least one other child pane.

7. The computer-readable media of claim 1 , wherein the method further comprises:

receiving the second type of actuation of a child control in a control child pane of the child window; and

creating a sub-child window for the user interface for the group-based communication system, the sub-child window being distinct from the parent window and the child window and comprising one or more sub-child panes corresponding to a subset of the one or more child panes.

8. A method for dividing content of a user interface for a group-based communication system among a plurality of windows, the method comprising the steps of:

causing display of the user interface for the group-based communication system, the user interface comprising a parent window comprising a plurality of parent panes,

wherein the user interface for the group-based communication system is implemented with one or more code libraries configured to operate in a single-window user interface state;

receiving a first type of actuation of a control in a control parent pane of the plurality of parent panes that causes a change in a state of a target parent pane of the plurality of parent panes;

receiving a second type of actuation of the control in the control parent pane, the second type of actuation being distinct from the first type of actuation; and

creating a child window for the user interface for the group-based communication system,

wherein a local variable of the child window is associated with a global variable of the parent window, the global variable configured to manipulate the parent window,

wherein the local variable comprises a variable scope distinct from a variable scope of the global variable,

wherein the global variable is associated with the one or more code libraries,

wherein the child window is distinct from the parent window and comprises one or more child panes, the one or more child panes corresponding to a subset of the plurality of parent panes,

wherein the one or more child panes include a target child pane corresponding to the target parent pane and reflecting the change in the state of the target parent pane, and

wherein the one or more child panes excludes at least one of the plurality of parent panes.

9. The method of claim 8 , wherein the child window and the parent window share a single memory space and a single communication connection with a server.

10. The method of claim 8 , wherein the plurality of parent panes comprises at least one of a channel pane, a channel list pane, a workspace pane, a search pane, a thread pane, or a compose pane.

11. The method of claim 8 , wherein creating the child window causes the target parent pane to be removed from the parent window.

12. The method of claim 8 , wherein the method further comprises:

receiving an input in the target child pane causing a change of state in the target child pane,

wherein the change in state in the target child pane is reflected in the target parent pane.

13. The method of claim 8 , wherein the change in state in the target child pane is reflected in at least one other child pane.

14. The method of claim 8 , further comprising:

receiving the second type of actuation of a child control in a control child pane of the child window; and

creating a sub-child window for the user interface for the group-based communication system, the sub-child window being distinct from the parent window and the child window and comprising one or more sub-child panes corresponding to a subset of the one or more child panes.

15. A system for dividing content of a user interface for a group-based communication system among a plurality of windows, the system comprising:

a data store;

a processor;

one or more non-transitory computer-readable media storing computer-executable instructions that, when executed by a processor, perform a method of dividing content of a user interface for a group-based communication system among a plurality of windows, the method comprising the steps of:

causing display of the user interface for the group-based communication system, the user interface comprising a parent window comprising a plurality of parent panes,

wherein the user interface for the group-based communication system is implemented with one or more code libraries configured to operate in a single-window user interface state;

receiving a first type of actuation of a control in a control parent pane of the plurality of parent panes that causes a change in a state of a target parent pane of the plurality of parent panes;

receiving a second type of actuation of the control in the control parent pane, the second type of actuation being distinct from the first type of actuation; and

creating a child window for the user interface for the group-based communication system,

wherein a local variable of the child window is associated with a global variable of the parent window, the global variable configured to manipulate the parent window,

wherein the local variable comprises a variable scope distinct from a variable scope of the global variable,

wherein the global variable is associated with the one or more code libraries,

wherein the child window is distinct from the parent window and comprises one or more child panes, the one or more child panes corresponding to a subset of the plurality of parent panes,

wherein the one or more child panes include a target child pane corresponding to the target parent pane and reflecting the change in the state of the target parent pane, and

wherein the one or more child panes excludes at least one of the plurality of parent panes.

16. The system of claim 15 , wherein the computer-executable instructions are further executed to perform the step of receiving an input in the target child pane causing a change of state in the target child pane,

wherein the change in state in the target child pane is reflected in the target parent pane, and

wherein the child window and the parent window share a single memory space and a single communication connection with a server.

17. The system of claim 15 , wherein the plurality of parent panes comprises at least one of a channel pane, a channel list pane, a workspace pane, a search pane, a thread pane, or a compose pane.

18. The system of claim 15 , wherein creating the child window causes the target parent pane to be removed from the parent window.

19. The system of claim 15 , wherein the change in state in the target child pane is reflected in at least one other child pane.

20. The system of claim 15 , wherein the method further comprises:

receiving the second type of actuation of a child control in a control child pane of the child window; and

creating a sub-child window for the user interface for the group-based communication system, the sub-child window being distinct from the parent window and the child window and comprising one or more sub-child panes corresponding to a subset of the one or more child panes.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2023
From: SLACK TECHNOLOGIES, LLC
To: SALESFORCE, INC.
Reel/Frame 064642/0564 →
MERGER Recorded Jul 29, 2021
From: SLACK TECHNOLOGIES, INC.
To: SLACK TECHNOLOGIES, LLC
Reel/Frame 057475/0404 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2021
From: FONG, ANDREW; RIESEBERG, FELIX; LOCASCIO, ANDREW; ATTARD, SAMUEL; XING, ALFRED; XING, ALBERT
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 055769/0768 →
Continuity (1)
Related Publication 20220317822A1 · Oct 6, 2022