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...
Main Author: | |
---|---|
Other Authors: | |
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 |