IP Library Granted Patent US 12,411,697
Granted Patent B2
US 12,411,697 · App. 17/888,382 · Granted Sep 9, 2025

Plugin management system for an interactive system or platform

Inventors: Bersabel Tadesse (San Francisco, CA); Jonas Sicking (San Francisco, CA); Yi Tang Jackie Chui (San Francisco, CA); John Doherty (San Francisco, CA)
Assignee: Figma, Inc.
G06F9/44526
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 12,411,697
App. No.
17/888,382
Granted
Sep 9, 2025
Kind
B2
Abstract

A plugin management system is provided as part of an interactive system, to enable users to search for and execute desired plugins. The plugin management system provides a search user interface to receive inputs from the user, as well as parametric values that are used by the selected plugin. Based on the user interaction with the search user interface, the plugin management system executes identified plugins, using parametric values specified by the user.

Claims (59)

1. A network computer system comprising:

one or more processors; and

a memory to store a set of instructions;

wherein the one or more processors access the instructions from the memory to perform operations that include:

maintaining a data store that identifies a plurality of plugins;

receiving, via a text entry box within a search user interface, a first set of input provided by a user of a computing device;

matching the first set of input to a plugin in the data store;

determining, based on a set of configurations associated with the plugin, one or more prompts for a set of parametric values needed to execute the plugin;

displaying, within the text entry box, a visual representation of a given prompt that specifies at least one characteristic of a parametric value to be provided for the given prompt;

displaying, within the search user interface and for the given prompt, a set of selectable options that correspond to the at least one characteristic;

determining the set of parametric values based on a second set of input received from the user via the search user interface, wherein the second set of input includes at least a selection of one of the set of selectable options; and

triggering execution of the plugin using the set of parametric values in response to detecting a first trigger input provided by the user.

2. The network computer system of claim 1 , wherein the first set of input, the second set of input, and the first trigger input are provided by a common input device of the user.

3. The network computer system of claim 1 , wherein maintaining the data store includes associating each plugin with plugin execution logic that is specific to the plugin, and wherein the operations further include:

upon matching the first set of input to the plugin, executing the plugin execution logic associated with the plugin to display the one or more prompts to the user, the one or more prompts indicating a set of parameter terms associated with the set of parametric values; and

receiving the second set of input in response to displaying the one or more prompts.

4. The network computer system of claim 3 , wherein the one or more prompts include alphanumeric output that identifies the set of parameter terms.

5. The network computer system of claim 1 , wherein the one or more prompts are visually distinguishable from the first set of input within the text entry box.

6. The network computer system of claim 1 , wherein the operations include:

recording historical information that includes the plugin and the set of parametric values; and

displaying, within the search user interface based on the historical information, a preview that includes an indicator of the plugin.

7. The network computer system of claim 6 , wherein the indicator includes at least a portion of the set of parametric values.

8. The network computer system of claim 6 , wherein the operations include:

triggering execution of the plugin after displaying the preview.

9. The network computer system of claim 1 , wherein the input characteristic indicates at least one of a format, a structure, or a type of input for the set of parametric values.

10. A method for providing plugins, the method being implemented by one or more processors and comprising:

maintaining a data store that identifies a plurality of plugins;

receiving, via a text entry box within a search user interface, a first set of input provided by a user of a computing device;

matching the first set of input to a plugin in the data store;

determining, based on a set of configurations associated with the plugin, one or more prompts for a set of parametric values needed to execute the plugin;

displaying, within the text entry box, a visual representation of a given prompt that specifies at least one characteristic of a parametric value to be provided for the given prompt set of parametric values;

displaying, within the search user interface and for the given prompt, a set of selectable options that correspond to the at least one characteristic;

determining the set of parametric values based on a second set of input received from the user via the search user interface, wherein the second set of input includes at least a selection of one of the set of selectable options; and

triggering execution of the plugin using the set of parametric values in response to detecting a first trigger input provided by the user.

11. The method of claim 10 , wherein the first set of input, the second set of input, and the first trigger input are provided by a common input device of the user.

12. The method of claim 10 , wherein maintaining the data store includes associating each plugin with plugin execution logic that is specific to the plugin, and further comprising:

upon matching the first set of input to the plugin, executing the plugin execution logic associated with the plugin to display the one or more prompts to the user, the one or more prompts indicating a set of parameter terms associated with the set of parametric values; and

receiving the second set of input in response to displaying the one or more prompts.

13. The method of claim 10 , wherein the one or more prompts include alphanumeric output that indicates a type, a format, or a structure of a parametric value in the set of parametric values.

14. The method of claim 10 , wherein the one or more prompts are displayed adjacent to an identifier for the plugin within the text entry box.

15. The method of claim 10 , further comprising:

recording historical information that includes the plugin and the set of parametric values; and

displaying, within the search user interface based on the historical information, a preview that includes an indicator of the plugin.

16. The method of claim 15 , wherein the indicator includes at least a portion of the set of parametric values.

17. The method of claim 16 , further comprising:

triggering execution of the plugin after displaying the preview.

18. The method of claim 10 , wherein the input characteristic indicates at least one of a format, a structure, or a type of input for the set of parametric values.

19. A non-transitory computer-readable medium that stores instructions, which when executed by one or more processors of a network computer system, cause the network computer system to perform operations that include:

maintaining a data store that identifies a plurality of plugins;

receiving, via a text entry box within a search user interface, a first set of input provided by a user of a computing device;

matching the first set of input to a plugin in the data store;

determining, based on a set of configurations associated with the plugin, one or more prompts for a set of parametric values needed to execute the plugin;

displaying, within the text entry box, a visual representation of a given prompt that specifies at least one characteristic of a parametric value to be provided for the given prompt;

displaying, within the search user interface and for the given prompt, a set of selectable options that correspond to the at least one characteristic;

determining the set of parametric values based on a second set of input received from the user via the search user interface, wherein the second set of input includes at least a selection of one of the set of selectable options; and

triggering execution of the plugin using the set of parametric values in response to detecting a first trigger input provided by the user.

20. The non-transitory computer-readable medium of claim 19 , wherein maintaining the data store includes associating each plugin with plugin execution logic that is specific to the plugin, and wherein the operations further include:

upon matching the first set of input to the plugin, executing the plugin execution logic associated with the plugin to display the one or more prompts to the user, the one or more prompts indicating a set of parameter terms associated with the set of parametric values; and

receiving the second set of input in response to displaying the one or more prompts.

Assignments (2)
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 27, 2025
From: FIGMA, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071775/0349 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2022
From: TADESSE, BERSABEL; SICKING, JONAS; CHUI, YI TANG JACKIE; DOHERTY, JOHN
To: FIGMA, INC.
Reel/Frame 061991/0483 →
Continuity (2)
Provisional Application 63233635 · Aug 16, 2021
Related Publication 20230082639A1 · Mar 16, 2023
References Cited (54)
US 5339389A · Bates · 1994 [cited by applicant]
US 7770122B1 · Shaik · 2010 [cited by applicant]
US 8667480B1 · Sigurdsson · 2014 [cited by examiner]
US 9229702B1 · Kapulkin · 2016 [cited by examiner]
US 9424545B1 · Lee · 2016 [cited by applicant]
US 9430229B1 · Zijst · 2016 [cited by applicant]
US 10606576B1 · Tung · 2020 [cited by applicant]
US 10620921B2 · Brebner · 2020 [cited by applicant]
US 11138518B1 · Yu · 2021 [cited by applicant]
US 20080040426A1 · Synstelien · 2008 [cited by applicant]
US 20100192107A1 · Takahashi · 2010 [cited by applicant]
US 20100238494A1 · Araki · 2010 [cited by examiner]
US 20100306181A1 · Little · 2010 [cited by applicant]
US 20110113350A1 · Carlos · 2011 [cited by applicant]
US 20110268262A1 · Jones · 2011 [cited by applicant]
US 20120159145A1 · Cheong · 2012 [cited by examiner]
US 20120247967A1 · James · 2012 [cited by applicant]
US 20130111338A1 · Huo · 2013 [cited by applicant]
US 20140310660A1 · Rosen · 2014 [cited by applicant]
US 20150127753A1 · Tew · 2015 [cited by applicant]
US 20160321449A1 · Surti · 2016 [cited by applicant]
US 20170192656A1 · Pedrick · 2017 [cited by applicant]
US 20170262294A1 · Yakan · 2017 [cited by applicant]
US 20170339370A1 · Inoue · 2017 [cited by applicant]
US 20180088915A1 · Yang · 2018 [cited by examiner]
US 20180181299A1 · Ouellette et al. · 2018 [cited by applicant]
US 20190065440A1 · Lu · 2019 [cited by examiner]
US 20190146811A1 · Pell · 2019 [cited by applicant]
US 20190179501A1 · Seeley · 2019 [cited by applicant]
US 20190238602A1 · Lo · 2019 [cited by applicant]
US 20190303880A1 · Hashimoto · 2019 [cited by applicant]
US 20190361580A1 · Dowling et al. · 2019 [cited by applicant]
US 20200042648A1 · Rao · 2020 [cited by examiner]
US 20200050431A1 · Zilouchian Moghaddam · 2020 [cited by examiner]
US 20200296147A1 · Eliason · 2020 [cited by applicant]
US 20210208775A1 · Allington · 2021 [cited by applicant]
US 20210367986A1 · Davuluri et al. · 2021 [cited by applicant]
US 20220108276A1 · Stringham · 2022 [cited by applicant]
US 20220129118A1 · Hsu · 2022 [cited by applicant]
US 20220263675A1 · Cupala · 2022 [cited by applicant]
US 20220334704A1 · Lin · 2022 [cited by applicant]
US 20220334806A1 · Lin · 2022 [cited by applicant]
US 20220342644A1 · Fuetsch · 2022 [cited by applicant]
International Search Report and The Written Opinion of The International Searching Authority mailed Nov. 28, 2022, for related PCT/US2022/040461 filed Aug. 16, 2022, 14 pages. [cited by applicant]
International Search Report and The Written Opinion of The International Searching Authority mailed Dec. 12, 2022, for related PCT/US2022/041418 filed Aug. 24, 2022, 11 pages. [cited by applicant]
“Zack Qattan, “Collaborative Cursor Chat w/Croquet”, Nov. 30, 2020, youtube.com, https://www.youtube.com/watch?v=NiqTCROdlgw, pp. 1-15 (Year: 2020)”. [cited by applicant]
Anonymous: “Change cursor into custom text”, Dec. 24, 2018 (Dec. 24, 2018), XP055930588, Retrieved from the Internet: URL: https://stackoverflow.com/questions/53916492/change-cursor-into-custome-text [retrieved on Jun. … [cited by applicant]
International Search Report and The Written Opinion of The International Searching Authority mailed Jul. 1, 2022, for related PCT/US2022/025626, filed Apr. 20, 2022, 17 pages. [cited by applicant]
Wallace Evan: “Multiplayer Editing in Figma”, figma.com/blog, Sep. 28, 2016 (Sep. 28, 2016), XP055930547, Retrieved from the Internet: URL: https://www.figma.com/blog/multiplayer-editing-in-figma/ [retrieved on Jun. 13,… [cited by applicant]
Anonymous: “HTML editor—Wikipedia”. Apr. 13, 2022 pp. 1-4. [cited by applicant]
International Search Report and Written Opinion mailed Jun. 27, 2023 in PCT/US2023/015322. [cited by applicant]
International Search Report dated Aug. 18, 2023 in PCT/US2023/020890. [cited by applicant]
IPRP dated Jul. 3, 2024 in PCT/US2023/020890. [cited by applicant]
Written Opinion dated Apr. 10, 2024 in PCT/US2023/020890. [cited by applicant]