Enregistré dans:
Détails bibliographiques
Auteurs principaux: Pollock, Josh, Mei, Catherine, Huang, Grace, Evans, Elliot, Jackson, Daniel, Satyanarayan, Arvind
Format: Preprint
Publié: 2023
Sujets:
Accès en ligne:https://arxiv.org/abs/2307.00146
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866929437595926528
author Pollock, Josh
Mei, Catherine
Huang, Grace
Evans, Elliot
Jackson, Daniel
Satyanarayan, Arvind
author_facet Pollock, Josh
Mei, Catherine
Huang, Grace
Evans, Elliot
Jackson, Daniel
Satyanarayan, Arvind
contents Diagrams are essential tools for problem-solving and communication as they externalize conceptual structures using spatial relationships. But when picking a diagramming framework, users are faced with a dilemma. They can either use a highly expressive but low-level toolkit, whose API does not match their domain-specific concepts, or select a high-level typology, which offers a recognizable vocabulary but supports a limited range of diagrams. To address this gap, we introduce Bluefish: a diagramming framework inspired by component-based user interface (UI) libraries. Bluefish lets users create diagrams using relations: declarative, composable, and extensible diagram fragments that relax the concept of a UI component. Unlike a component, a relation does not have sole ownership over its children nor does it need to fully specify their layout. To render diagrams, Bluefish extends a traditional tree-based scenegraph to a compound graph that captures both hierarchical and adjacent relationships between nodes. To evaluate our system, we construct a diverse example gallery covering many domains including mathematics, physics, computer science, and even cooking. We show that Bluefish's relations are effective declarative primitives for diagrams. Bluefish is open source, and we aim to shape it into both a usable tool and a research platform.
format Preprint
id arxiv_https___arxiv_org_abs_2307_00146
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Bluefish: Composing Diagrams with Declarative Relations
Pollock, Josh
Mei, Catherine
Huang, Grace
Evans, Elliot
Jackson, Daniel
Satyanarayan, Arvind
Graphics
Human-Computer Interaction
Programming Languages
Diagrams are essential tools for problem-solving and communication as they externalize conceptual structures using spatial relationships. But when picking a diagramming framework, users are faced with a dilemma. They can either use a highly expressive but low-level toolkit, whose API does not match their domain-specific concepts, or select a high-level typology, which offers a recognizable vocabulary but supports a limited range of diagrams. To address this gap, we introduce Bluefish: a diagramming framework inspired by component-based user interface (UI) libraries. Bluefish lets users create diagrams using relations: declarative, composable, and extensible diagram fragments that relax the concept of a UI component. Unlike a component, a relation does not have sole ownership over its children nor does it need to fully specify their layout. To render diagrams, Bluefish extends a traditional tree-based scenegraph to a compound graph that captures both hierarchical and adjacent relationships between nodes. To evaluate our system, we construct a diverse example gallery covering many domains including mathematics, physics, computer science, and even cooking. We show that Bluefish's relations are effective declarative primitives for diagrams. Bluefish is open source, and we aim to shape it into both a usable tool and a research platform.
title Bluefish: Composing Diagrams with Declarative Relations
topic Graphics
Human-Computer Interaction
Programming Languages
url https://arxiv.org/abs/2307.00146