Twofish: Automatic Edit Cascading for Diagrams

Creating and editing diagrams, whether for scientific research, education, or otherwise, is tedious and time consuming. When a user makes a small change to a diagram element, they often have to make additional downstream edits to fully propagate the change to the diagram. This is because these relat...

Full description

Bibliographic Details
Main Author: Huang, Grace
Other Authors: Satyanarayan, Arvind
Format: Thesis
Published: Massachusetts Institute of Technology 2024
Online Access:https://hdl.handle.net/1721.1/156741
_version_ 1811081621802057728
author Huang, Grace
author2 Satyanarayan, Arvind
author_facet Satyanarayan, Arvind
Huang, Grace
author_sort Huang, Grace
collection MIT
description Creating and editing diagrams, whether for scientific research, education, or otherwise, is tedious and time consuming. When a user makes a small change to a diagram element, they often have to make additional downstream edits to fully propagate the change to the diagram. This is because these relative positioning constraints are often defined through layout commands, such as alignment, which are viewed by many direct manipulation editors as one-time operations. That is, a layout command enforces spatial relationships between objects by mutating them but does not enforce these relationships when the user makes later edits. While viewing these commands as one-time operations improves the editing flexibility of the editor, it makes editing less efficient. To balance the tradeoff between editing flexibility and efficiency, we present Twofish, a graphical editor that persists relations between elements. In this context, relations, such as alignment or an arrow, associate elements with each other by defining relative spacing constraints between them. Through persisting these relations, we can reapply them automatically to the diagram when corresponding elements are edited. This allows Twofish to automatically cascade edits downstream to fix any positioning constraints that were broken because of a change. This system is built as an extension of an existing graphical editor. In doing so, Twofish makes it easier to create and edit diagrams without sacrificing expressibility. To evaluate Twofish, we compared using Twofish and Figma to edit diagrams in six different scenarios, using three example diagrams. From this comparison, we found that Twofish generally improved editing efficiency but had worse editing flexibility than Figma.
first_indexed 2024-09-23T11:49:42Z
format Thesis
id mit-1721.1/156741
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T11:49:42Z
publishDate 2024
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/1567412024-09-17T03:38:27Z Twofish: Automatic Edit Cascading for Diagrams Huang, Grace Satyanarayan, Arvind Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Creating and editing diagrams, whether for scientific research, education, or otherwise, is tedious and time consuming. When a user makes a small change to a diagram element, they often have to make additional downstream edits to fully propagate the change to the diagram. This is because these relative positioning constraints are often defined through layout commands, such as alignment, which are viewed by many direct manipulation editors as one-time operations. That is, a layout command enforces spatial relationships between objects by mutating them but does not enforce these relationships when the user makes later edits. While viewing these commands as one-time operations improves the editing flexibility of the editor, it makes editing less efficient. To balance the tradeoff between editing flexibility and efficiency, we present Twofish, a graphical editor that persists relations between elements. In this context, relations, such as alignment or an arrow, associate elements with each other by defining relative spacing constraints between them. Through persisting these relations, we can reapply them automatically to the diagram when corresponding elements are edited. This allows Twofish to automatically cascade edits downstream to fix any positioning constraints that were broken because of a change. This system is built as an extension of an existing graphical editor. In doing so, Twofish makes it easier to create and edit diagrams without sacrificing expressibility. To evaluate Twofish, we compared using Twofish and Figma to edit diagrams in six different scenarios, using three example diagrams. From this comparison, we found that Twofish generally improved editing efficiency but had worse editing flexibility than Figma. M.Eng. 2024-09-16T13:46:18Z 2024-09-16T13:46:18Z 2024-05 2024-07-11T14:36:35.491Z Thesis https://hdl.handle.net/1721.1/156741 Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) Copyright retained by author(s) https://creativecommons.org/licenses/by-nc-nd/4.0/ application/pdf Massachusetts Institute of Technology
spellingShingle Huang, Grace
Twofish: Automatic Edit Cascading for Diagrams
title Twofish: Automatic Edit Cascading for Diagrams
title_full Twofish: Automatic Edit Cascading for Diagrams
title_fullStr Twofish: Automatic Edit Cascading for Diagrams
title_full_unstemmed Twofish: Automatic Edit Cascading for Diagrams
title_short Twofish: Automatic Edit Cascading for Diagrams
title_sort twofish automatic edit cascading for diagrams
url https://hdl.handle.net/1721.1/156741
work_keys_str_mv AT huanggrace twofishautomaticeditcascadingfordiagrams