IP Library Granted Patent US 12,333,278
Granted Patent B2
US 12,333,278 · App. 17/169,267 · Granted Jun 17, 2025

Interface object manipulation based on aggregated property values

Inventors: Marcin Wichary (San Francisco, CA); Jonas Sicking (San Francisco, CA)
Assignee: Figma, Inc.
G06F8/34G06F3/04842H04L67/02
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,333,278
App. No.
17/169,267
Granted
Jun 17, 2025
Kind
B2
Abstract

A network computer provides interactive graphic design system instructions to a user computing device, causing the user computing device to render a design interface and provide an input interface at the user computing device. The user computing device interprets an input action, the input action comprising selecting a selection of a plurality of objects using the input interface. For a property, the user computing device identifies a set of one or more property values corresponding to the property for objects in the plurality of objects. The user computing device displays the set of one or more property values. The user computing device receives user input specifying a selected property value and user input specifying a new value for the selected property value. The user computing device updates the property for each object of the plurality of objects having the selected property value to reflect the new value.

Claims (61)

1. A network computer system comprising:

one or more processors; and

one or more memory resources storing interactive graphic design system instructions and system instructions that, when executed by the one or more processors, cause the one or more processors to perform operations that comprise providing workspace data for a design interface and the interactive graphic design system instructions to a user computing device, wherein the interactive graphic design system instructions, when executed at the user computing device, causes the user computing device to:

render a plurality of objects of the design interface on a canvas;

interpret an action by a user selecting an area over a portion of the canvas;

identify multiple objects of the plurality of objects that are contained in the selected area, the multiple objects including at least a first objecting having one or more child objects;

determine, for each object of the multiple objects, a corresponding property value of a first type of property;

in response to the user selecting the area, display, as part of a selection property panel, multiple representations of property values of the first type of property, each representation of the multiple representations representing the corresponding property value of at least one object of the multiple objects;

wherein the selection property panel displays the multiple representations in accordance with an order that is based at least in part on usage amongst the multiple objects present in the selected area;

receive a user input through the selection property panel, the user input selecting a property value for the first type of property; and

update one or more objects of the multiple objects present in the area to have the selected property value of the first type of property, without updating a corresponding property value of the first type of property of any other object of the plurality of objects.

2. The network computer system of claim 1 , wherein the first type of property is a color or a style.

3. The network computer system of claim 1 , wherein the first type of property is a font.

4. The network computer system of claim 1 , wherein the system instructions, when executed by the one or more processors, cause the one or more processors to:

receive change data from the user computing device, the change data representing the updated one or more objects of the multiple objects; and

in response to receiving the change data, update, in a workspace data store, workspace data corresponding to the design interface to reflect the change data.

5. The network computer system of claim 4 , wherein the system instructions, when executed by the one or more processors, cause the one or more processors to:

provide the workspace data describing the design interface and the interactive graphic design system instructions to a second user computing device;

in response to receiving the change data from the user computing device, provide the change data to the second user computing device;

wherein the interactive graphic design system instructions, when executed at the second user computing device, cause the second user computing device to update the workspace data and a rendering of the design interface at the second user computing device, so as to render the updated one or more objects of the multiple objects on a canvas of the second user computing device.

6. The network computer system of claim 1 , wherein the system instructions, when executed by the one or more processors, cause the one or more processors to:

receive a notification of the user input specifying the selected property value at the user computing device;

in response to the notification, send a message to one or more other user computing devices working with the design interface, wherein the message causes locking of the objects in the plurality of objects corresponding to the selected property value at the one or more other user computing devices.

7. The network computer system of claim 1 , wherein the selection property panel indicates the one or more property values for the first type of property that are most frequently used amongst the multiple objects present in the area.

8. A non-transitory computer-readable medium that stores instructions, executable by one or more processors, to cause the one or more processors to:

receive workspace data describing a design interface;

render a plurality of objects of the design interface on a canvas;

interpret an action by a user selecting an area over a portion of the canvas;

identify multiple objects of the plurality of objects that are contained in the selected area, the multiple objects including at least a first objecting having one or more child objects;

determine, for each object of the multiple objects, a corresponding property value of a first type of property;

in response to the user selecting the area, displaying, as part of a selection property panel, multiple representations of property values of the first type of property, each representation of the multiple representations representing the corresponding property value of at least one object of the multiple objects;

wherein the selection property panel displays the multiple representations in accordance with an order that is based at least in part on usage amongst the multiple objects present in the selected area;

receive a user input through the selection property panel, the user input selecting a property value for the first type of property; and

update one or more objects of the multiple objects present in the area to have the selected property value of the first type of property, without updating a corresponding property value of the first type of property of any other object of the plurality of objects.

9. The non-transitory computer-readable medium of claim 8 , wherein the first type of property is a color, a style or a font.

10. The non-transitory computer-readable medium of claim 8 , wherein the instructions, when executed by the one or more processors, cause the one or more processors to:

transmit change data to a network computer system, the change data representing the updated one or more objects of the multiple objects.

11. The non-transitory computer-readable medium of claim 8 , wherein the selection property panel indicates the one or more property values for the first type of property by descending order of frequency in the multiple objects present in the area.

12. The non-transitory computer-readable medium of claim 8 , wherein the selection property panel indicates the one or more property values for the first type of property that are most frequently used amongst the multiple objects present in the area.

13. A method for operating a computing device comprising one or more processors, the method comprising:

providing workspace data describing a design interface and interactive graphic design system instructions to a user computing device, wherein the interactive graphic design system instructions, when executed at the user computing device, causes the user computing device to:

rendering a plurality of objects of the design interface on a canvas;

interpreting an action by a user selecting an area over a portion of the canvas;

identify multiple objects of the plurality of objects that are contained in the selected area, the multiple objects including at least a first objecting having one or more child objects;

determine, for each object of the multiple objects, a corresponding property value of a first type of property;

in response to the user selecting the area, displaying, as part of a selection property panel, multiple representations of property values of the first type of property, each representation of the multiple representations representing the corresponding property value of at least one object of the multiple objects;

wherein the selection property panel displays the multiple representations in accordance with an order that is based at least in part on usage amongst the multiple objects present in the selected area;

receiving user input through the selection property panel, the user input selecting a property value for the first type of property; and

updating one or more objects of the multiple objects present in the area to have the selected property value of the first type of property, without updating a corresponding property value of the first type of property of any other object of the plurality of objects.

14. The method of claim 13 , further comprising:

receiving change data from the user computing device, the change data representing the updated one or more objects of the multiple objects; and

in response to receiving the change data, updating, in a workspace data store, workspace data corresponding to the design interface to reflect the change data.

15. The method of claim 14 , further comprising:

providing the workspace data describing the design interface and the interactive graphic design system instructions to a second user computing device;

in response to receiving the change data from the user computing device, providing the change data to the second user computing device;

wherein the interactive graphic design system instructions, when executed at the second user computing device, cause the second user computing device to update the workspace data and a rendering of the design interface at the second user computing device, so as to render the updated one or more objects of the multiple objects on a canvas of the second user computing device.

16. The method of claim 13 , further comprising:

receiving a notification of the user input specifying the selected property value at the user computing device;

in response to the notification, sending a message to one or more other user computing devices working with the design interface, wherein the message causes locking of the objects in the plurality of objects corresponding to the selected property value at the one or more other user computing devices.

17. The method of claim 13 , wherein the selection property panel indicates the one or more property values for the first type of property by descending order of frequency in the, multiple objects present in the area.

18. The method of claim 13 , wherein the selection property panel indicates the one or more property values for the first type of property that are most frequently used amongst the multiple objects present in the area.

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 Mar 16, 2021
From: WICHARY, MARCIN; SICKING, JONAS
To: FIGMA, INC.
Reel/Frame 055612/0647 →
Continuity (2)
Provisional Application 62971207 · Feb 6, 2020
Related Publication 20210247967A1 · Aug 12, 2021
References Cited (119)
US 5634095A · Wang · 1997 [cited by applicant]
US 5760788A · Chainini · 1998 [cited by applicant]
US 5862372A · Morris · 1999 [cited by applicant]
US 6049628A · Chen · 2000 [cited by applicant]
US 7516406B1 · Cameron · 2009 [cited by applicant]
US 7752559B1 · Szpak · 2010 [cited by applicant]
US 7752563B2 · Ice · 2010 [cited by applicant]
US 8312416B2 · Freund · 2012 [cited by applicant]
US 8370757B2 · Tinari · 2013 [cited by applicant]
US 8612849B2 · Boreham · 2013 [cited by applicant]
US 8972879B2 · Migos · 2015 [cited by applicant]
US 9430229B1 · Zijst · 2016 [cited by applicant]
US 9772682B1 · Meenakshisundaram · 2017 [cited by examiner]
US 10114733B1 · Varghese · 2018 [cited by applicant]
US 10181059B1 · Brewton · 2019 [cited by applicant]
US 10181223B2 · Stanley · 2019 [cited by applicant]
US 10268525B2 · Beckett · 2019 [cited by examiner]
US 10606925B2 · O'Donovan · 2020 [cited by applicant]
US 10809898B2 · Winnemoeller · 2020 [cited by applicant]
US 10902567B2 · Mertens · 2021 [cited by applicant]
US 10997217B1 · Nielsen · 2021 [cited by applicant]
US 11126412B2 · Kuwamoto · 2021 [cited by applicant]
US 11934807B2 · Kuwamoto · 2024 [cited by applicant]
US 20020032554A1 · Nakagawa · 2002 [cited by applicant]
US 20030004724A1 · Kahn · 2003 [cited by applicant]
US 20050094206A1 · Tonisson · 2005 [cited by applicant]
US 20050144571A1 · Loverin · 2005 [cited by applicant]
US 20060119738A1 · Kido · 2006 [cited by applicant]
US 20060136844A1 · Zhang · 2006 [cited by applicant]
US 20070061716A1 · Kato · 2007 [cited by applicant]
US 20080282188A1 · Hays · 2008 [cited by applicant]
US 20080303819A1 · Latour · 2008 [cited by applicant]
US 20110266426A1 · Kikuchi · 2011 [cited by applicant]
US 20120042242A1 · Garland · 2012 [cited by applicant]
US 20120113106A1 · Choi · 2012 [cited by applicant]
US 20120124492A1 · Taron · 2012 [cited by applicant]
US 20130050238A1 · Bergou · 2013 [cited by applicant]
US 20130055126A1 · Jackson et al. · 2013 [cited by applicant]
US 20130120368A1 · Miller · 2013 [cited by examiner]
US 20130187922A1 · Sexton · 2013 [cited by applicant]
US 20130232403A1 · Abrahami · 2013 [cited by applicant]
US 20130329129A1 · Gupta et al. · 2013 [cited by applicant]
US 20140072281A1 · Cho · 2014 [cited by applicant]
US 20140125671A1 · Vorobyov · 2014 [cited by applicant]
US 20140310660A1 · Rosen · 2014 [cited by applicant]
US 20140351110A1 · Lidor · 2014 [cited by examiner]
US 20150092228A1 · Okabayashi · 2015 [cited by examiner]
US 20150105875A1 · Tran · 2015 [cited by applicant]
US 20150160838A1 · Shirabe · 2015 [cited by applicant]
US 20150242099A1 · Wallace · 2015 [cited by applicant]
US 20160048388A1 · Eksten · 2016 [cited by applicant]
US 20160124599A1 · Joo · 2016 [cited by applicant]
US 20160246899A1 · Hirschtick · 2016 [cited by applicant]
US 20160342315A1 · Jaramillo · 2016 [cited by applicant]
US 20170046317A1 · Geva · 2017 [cited by applicant]
US 20170186241A1 · Zavesky · 2017 [cited by applicant]
US 20170199652A1 · Campbell · 2017 [cited by examiner]
US 20170285913A1 · Young · 2017 [cited by applicant]
US 20170293592A1 · He · 2017 [cited by examiner]
US 20170337321A1 · Hoford · 2017 [cited by applicant]
US 20180136827A1 · Bae · 2018 [cited by examiner]
US 20180173406A1 · Hill · 2018 [cited by examiner]
US 20180217965A1 · Sasikumar · 2018 [cited by applicant]
US 20190102072A1 · Strinden · 2019 [cited by applicant]
US 20190114817A1 · Kerr · 2019 [cited by examiner]
US 20190325626A1 · Tao · 2019 [cited by examiner]
US 20190369822A1 · Tzeng · 2019 [cited by examiner]
US 20200233624A1 · Peng · 2020 [cited by examiner]
US 20200363943A1 · Millington · 2020 [cited by examiner]
US 20200371753A1 · Dhawal · 2020 [cited by applicant]
US 20200371758A1 · Kuwamoto · 2020 [cited by applicant]
US 20210097065A1 · Beers · 2021 [cited by examiner]
US 20210141515A1 · Wichary · 2021 [cited by applicant]
US 20210142547A1 · Fessler, Jr. · 2021 [cited by examiner]
US 20210349701A1 · Kuwamoto · 2021 [cited by applicant]
US 20220083316A1 · Andersson · 2022 [cited by applicant]
US 20220129142A1 · Wichary · 2022 [cited by applicant]
US 20220156422A1 · Kuwamoto · 2022 [cited by applicant]
US 20240220218A1 · Kuwamoto · 2024 [cited by applicant]
CN 108280865 · 2017 [cited by applicant]
CN 111602192 · 2020 [cited by applicant]
EP 0576178 · 1993 [cited by applicant]
EP 2775397A2 · 2014 [cited by applicant]
EP 3293619 · 2018 [cited by applicant]
EP 3633472A1 · 2020 [cited by applicant]
EP 3933777 · 2022 [cited by applicant]
WO WO20090132444 · 2009 [cited by applicant]
WO WO2009132444A1 · 2009 [cited by applicant]
WO WO20190125448 · 2019 [cited by applicant]
WO WO2021097141 · 2021 [cited by applicant]
WO WO2021159079 · 2021 [cited by applicant]
WO WO2022061027 · 2022 [cited by applicant]
WO WO2022109200 · 2022 [cited by applicant]
International Search Report and the Written Opinion of the International Searching Authority mailed Jan. 17, 2021, for related PCT/US2020/060300 filed Nov. 12, 2020, 13 pages. [cited by applicant]
International Search Report and the Written Opinion of the International Searching Authority mailed May 21, 2021, for related PCT/US2021/017093 filed Feb. 8, 2021, 16 pages. [cited by applicant]
Tutorialspoint.com: “Microsoft Visio Themes and Styles”, Nov. 30, 2018, XP055801565, Retrieved from the Internet: URL: https://web.archive.org/web/20181130054605/https://www.tutorialspoint.com/microsoft_visio/microsoft_… [cited by applicant]
International Search Report and the Written Opinion of the International Searching Authority mailed Dec. 22, 2021, for related PCT/US2021/050734 filed Sep. 16, 2021, 66 pages. [cited by applicant]
International Search Report and the Written Opinion of the International Searching Authority mailed Feb. 23, 2022, for related PCT/US2021/059987 filed Nov. 18, 2021, 12 pages. [cited by applicant]
IBM: “IBM VisualAge for Java, Version 3.5 - Visual Compisition”, 2000, pp. 1-253, XP055890198, Retrieved from the Internet: URL:http://www.inf.fu-berlin.de/inst/ag-db/software/VAJ_PDF/jvbpdf.pdf [retrieved onFeb. 10, 20… [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: “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. 25, 2022, for related PCT/US2022/025840 filed Apr. 201, 2022, 17 pages. [cited by applicant]
Paper by WeTransfer—Simple Sketch App, “Creativity at your fingertips” URL:https://web.archive.org/web/20220121205009/https://wetransfer.com/paper, 9 pages. [cited by applicant]
Jarzabek et al., “XVCL: XML-based Variant Configuration Language”, IEEE, pp. 1-2 (Year: 2003). [cited by applicant]
Kriouile et al., “Towards Flexible and Reusable SaaS for Multi-tenancy”, IEEE, pp. 1-7 (Year: 2014). [cited by applicant]
W. Michael, “Synchronize Numberic Controls on Different Tabs in LabVIEW,” Feb. 7, 2010: https://forums.ni.com/t5/example-code/synchronize-numeric-controls-on-different-tabs-in-labview/ta-p/3516734, retrieved May 11, 202… [cited by applicant]
Final Office Action Dated Feb. 9, 2021, for U.S. Appl. No. 16/883,002. 17 pages. [cited by applicant]
LabVIEW Advantage, “How To Use Single Property Node for N No. of Controls in LabVIEW,” Mar. 18, 2018, https://www.youtube.com/watch?v=nCvMLB_kH4Q, retrieved May 11, 2023. [cited by applicant]
Non-Final Office Action Dated Apr. 27, 2023, for U.S. Appl. No. 17/384,578. 22 pages. [cited by applicant]
Non-Final Office Action Dated Oct. 13, 2020, for U.S. Appl. No. 16/883,002. 14 pages. [cited by applicant]
Notice of Allowance Dated May 24, 2021, for U.S. Appl. No. 16/883,002. 8 pages. [cited by applicant]
Notice of Allowance Dated Nov. 6, 2023, for U.S. Appl. No. 17/384,578. 8 pages. [cited by applicant]
The International Searching Authority, “Search Report” in application No. PCT/US2020/034503, dated Jul. 2020, 4 pages. [cited by applicant]
Helmers: Microsoft Visio 2016 step by step, Chapter 9, chapter 13, Dec. 22, 2015. [cited by applicant]
Emery: “How to Automatically Color-Code Specific Words or Phrases in Excel”, Nov. 8, 2012. [cited by applicant]
Orgchart Professional: Orgchart Conditional Formatting, Apr. 21, 2015. [cited by applicant]
Anonymous: “Color Shapes according to their data—Visio”, Aug. 3, 2020. [cited by applicant]
Office Action dated Jun. 6, 2024 in EP 21 709 289.9 8 pages. [cited by applicant]