Towards User-Friendly Projectional Editors [chapter]

Markus Voelter, Janet Siegmund, Thorsten Berger, Bernd Kolb
<span title="">2014</span> <i title="Springer International Publishing"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/2w3awgokqne6te4nvlofavy5a4" style="color: black;">Lecture Notes in Computer Science</a> </i> &nbsp;
Today's challenges for language development include language extension and composition, as well as the use of diverse notations. A promising approach is projectional editing, a technique to directly manipulate the abstract syntax tree of a program, without relying on parsers. Its potential lies in the ability to combine diverse notational styles -such as text, symbols, tables, and graphics -and the support for a wide range of composition techniques. However, projectional editing is often
more &raquo; ... ed as problematic for developers. Expressed drawbacks include the unfamiliar editing experience and challenges in the integration with existing infrastructure. In this paper we investigate the usability of projectional editors. We systematically identify usability issues resulting from the architecture. We use JetBrains Meta Programming System (MPS) as a case study. The case study discusses the concepts that MPS incorporates to address the identified issues, evaluates effectiveness of these concepts by surveying professional developers, and reports industrial experiences from realizing large-scale systems. Our results show that the benefits of flexible language composition and diverse notations come at the cost of serious usability issues -which, however, can be effectively mitigated with facilities that emulate editing experience of parser-based editors. Goals, Methods, and Contributions Our goal is to evaluate the usability of projectional editors. To this end, we first systematically identify and categorize usability issues arising from the architectural peculiarities of projectional editors. We then provide a case study of a state-of-the-art projectional editor -the JetBrains Meta Programming System (MPS). In the case study, we discuss the techniques used by MPS to mitigate the identified issues, and evaluate their effectiveness by surveying professional developers. We finally report industrial experiences from realizing large-scale systems. We contribute: (i) a taxonomy of usability issues that projectional editors face, (ii) a mapping of concrete mitigation techniques for the issues, and (iii) empirical data on how professional developers perceive effectiveness of projectional editing.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1007/978-3-319-11245-9_3">doi:10.1007/978-3-319-11245-9_3</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/s4mbqt22tvdzdja2kiudfowecm">fatcat:s4mbqt22tvdzdja2kiudfowecm</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20170922005831/http://gsd.uwaterloo.ca/sites/default/files/2014-sle-projectional.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/b6/0f/b60f8b0b67a321defb3ac511bbfd8afb53b929f7.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1007/978-3-319-11245-9_3"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> springer.com </button> </a>