Conference Paper

Citrus: a language and toolkit for simplifying the creation of structured editors for code and data.

DOI: 10.1145/1095034.1095037 Conference: Proceedings of the 18th Annual ACM Symposium on User Interface Software and Technology, Seattle, WA, USA, October 23-26, 2005
Source: DBLP

ABSTRACT Direct-manipulation editors for structured data are increasingly common. While such editors can greatly simplify the creation of structured data, there are few tools to simplify the creation of the editors themselves. This paper presents Citrus, a new programming language and user interface toolkit designed for this purpose. Citrus offers language-level support for constraints, restrictions and change notifications on primitive and aggregate data, mechanisms for automatically creating, removing, and reusing views as data changes, a library of widgets, layouts and behaviors for defining interactive views, and two comprehensive interactive editors as an interface to the language and toolkit itself. Together, these features support the creation of editors for a large class of data and code.

  • [Show abstract] [Hide abstract]
    ABSTRACT: This paper addresses the issue of authoring XML multimedia content on the web. It focuses on methods that apply to different kinds of contents, including structured documents, factual data, and multimedia objects. It argues in favor of a template-based approach that enhances the ability for multiple applications to use the produced content. This approach is illustrated by AXEL, an innovative multipurpose client-side authoring framework (previously described in Sire et al. (2010)), intended for web users with limited skills. The versatility of the tool is illustrated through a series of use cases that demonstrate the flexibility of the approach for creating various kinds of web content.
    Multimedia Tools and Applications · 1.01 Impact Factor
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Recent advances in programming environments have focused on improving programmer productivity by utilizing the inherent structure in computer programs. However, because these environments represent code as plain text, it is difficult and sometimes impossible to embed interactive tools, annotations, and alternative views in the code itself. Barista is an implementation framework that enables the creation of such user interfaces by simplifying the implementation of editors that represent code internally as an abstract syntax tree and maintain a corresponding, fully structured visual representation on-screen. Barista also provides designers of editors with a standard text-editing interaction technique that closely mimics that of conventional text editors, overcoming a central usability issue of previous structured code editors.
    Proceedings of the 2006 Conference on Human Factors in Computing Systems, CHI 2006, Montréal, Québec, Canada, April 22-27, 2006; 01/2006
  • [Show abstract] [Hide abstract]
    ABSTRACT: This paper describes the extension of a structural functional programming editor, Anastasia, to operate over a core subset of Haskell which is now being taught to all undergraduate Informatics students at the Univer- sity of Edinburgh. A website for Anastasia has been created which contains a downloadable version of the editor and documentation including step-by-step instructions on the use of Anastasia. A possible means of including a built-in termination checker in Anastasia using Walther Recursion has been investigated and detailed. An evaluation of Anastasia with Haskell is carried out which in- vestigates the usefulness of such an editor for avoiding syntax and typing errors and other aspects such as ease of use.

Full-text (2 Sources)

Available from
Jun 4, 2014