List of Systems for Brad Myers and Students

The names of most of my projects, and those of my students, are acronyms, generally based on gemstones or rocks. Below is a summary of all the systems and what they stand for, and usually a reference to find out more about the system.

I am happy to say that one of my graduated students went on to have his own series of systems with acronyms based on a theme: Cloth. See James Landay's systems: Silk, Satin, Suede, Denim, Damask, WebQuilt, etc.

The systems are approximately in reverse chronological order:
    Allowing Quick Undoing of Any Marks And Repairs to Improve Novel Editing.
    Paint program to explore selective undo using the script model.
    2014 - (on-going)
    Design Annotations for Complementing Interfaces Targeting Effectiveness.
    Plugin for Eclipse to help with API Usability.
    2014 - (on-going)
    Gathering Novel End-User Internet Services using Spreadsheets.
    A novel spreadsheet-based language for programming web services.
    2014 - (on-going)
    Cloud9 Recorder of Your Operations by Listening to Interactions in The Editor.
    A port of Fluorite to JavaScript for the Cloud9 IDE for the web.
    2014 - (on-going)
    Smartphones Providing Information Needing External Lists.
    A web-based tool for connecting to remote data sources without programming.
    Adding Zest to Undoing and Restoring Improves Textual Exploration.
    A plug-in for Eclipse that facilitates backtracking (undoing) of code.
    2012 - (on-going)
    Full of Low-level User Operations Recorded In The Editor.
    A plug-in for Eclipse that records the low-level user and Eclipse events to enable analysis.
    2011 - (on-going)
    GRAphical Palettes Help Instantiate Types in the Editor.
    A plug-in for Eclipse that pops up type-specific palettes to help users enter code, especially for constant literals.
    2011 - 2012
  9. EUCLASE (renamed to be "InterState", which is not an acronym; also ConstraintJS)
    End User Centered Language, APIs, System, and Environment.
    Aims to create an easier way to author interactive behaviors, starting with studies of Interaction Designers.
    2007 - (on-going)
  10. EUKLAS
    Eclipse Users' Keystrokes Lessened by Attaching Samples.
    A plug-in for Eclipse for JavaScript that helps copy and paste from example code. (Euklas is German for Euclase.)
    2009 - 2011
    Construction And Language Completion Integrated Throughout Eclipse.
    A plug-in for Eclipse that uses the Jadeite database to provide better code completions.
    2009 - 2011
    Associative Perusing of APIs That Identifies Targets Easily.
    Uses the ideas from Feldspar to build associative Java documentation.
    2008 - 2011
    Java API Documentation with Extra Information Tacked-on for Emphasis.
    New project to create better Java documentation.
    2008 - 2010
    Finding Elements by Leveraging Diverse Sources of Pertinent Associative Recollection.
    Associative retrieval of information. Update of IOLITE. Part of Radar.
    2007 - 2008
  15. FISCH
    Fluid In-Stroke Completion shortHand.
    Word-level completion for unistroke gestural text entry techniques like EdgeWrite.
    2005 - 2007
  16. BERYL
    Browser Extensions for Reducing Your Labor.
    Tools for filling in Web forms.
    2006 - (on-going)
  17. Pocket-PATH
    Pocket - Personal Assistant for Tracking Health.
    Handheld to help lung transplant patients monitor their own health.
    2005 - (on-going)
  18. JASPER
    Java Aid with Sets of Pertinent Elements for Recognition.
    Plug-in for Eclipse to help visualize working sets.
  19. IOLITE
    Intelligent On Line Inferencing for Text and Email.
    Intelligent, coordinated file and email message handling. Part of the Radar Project.
    2005 - 2006
    Clarifications Regarding Your Software using a Toolkit, Architecture and Language.
    Architecture that allows users to ask "Why" questions of their applications. Part of the Natural Programming Project.
    2005 - 2006
    Using Novel Interfaces For Operating Remotes that Match.
    System to generate consistent user interfaces, as part of the PUC Project.
    2005 - 2006
    Basic Approaches to Rewriting Instructions as Structured Textual Abstractions.
    Novel text editor for code, especially for Java. Part of the Natural Programming Project.
    (a "barista" is a person who makes coffee.)

    2005 - 2006
  23. MICA
    Makes Interfaces Clear and Accessible.
    Helps programmers learn APIs using smarter search. Part of the Natural Programming Project.
    2005 - 2006
  24. CITRUS
    Creating Interactive Tools for Reshaping and Utilizing Structure
    New toolkit for creating user interfaces for structured data. Part of Marmalade.
    2005 - 2007
  25. SLATE
    Spreadsheet Language for Accentuating Type Errors
    Michael Coblenz's undergrad project to provide labels and units in spreadsheets. Part of the Natural Programming project.
    2005 - 2006
    Clipboard Interaction Techniques that Recognize Information such as Names and Events
    Project to investigate how to make the cut-copy-paste clipboard smarter and more effective. This is part of Radar.
    2003 - 2004
  27. RADAR
    Reflective Agents with Distributed Adaptive Reasoning
    This is part of the PAL program: Perceptive Assistant that Learns, which is part of the EPCA program: Enduring Personal Cognitive Agent.
    Project to investigate intelligent assistant for office tasks.
    2003 - 2008
  28. EUSES
    End Users Shaping Effective Software
    Consortium performing research on how to make end-user software more reliable. It is helping to fund the Natural Programming Project, including Marmalade and WhyLine (below).
    2003 - (on-going)
    Workspace that Helps You Link Instructions to Numbers and Events
    Visualization as part of the Marmalade project.
    2003 - (on-going)
    Mechanisms that Avoid Recurring Mistakes in Alice by Linking Abstractions to Data and Events
    Project to create a new programming environment that makes debugging easier.
    2003 - (on-going)
    PDAs for Entry of Both Bytes and Locations from External Sources
    Project to investigate use of hand-held computers simultaneously with PCs.
    1998 - (on-going)
  32. SILVER
    Simplifying Interface Layout and Video Editing and Reuse
    Project to create an easy to use video editor.
    1999 - 2002
  33. LAPIS
    Lightweight Architecture for Processing Information Structure
    PhD thesis of Rob Miller. Processing of semi-structured text.
    1998 - 2002
  34. HANDS
    Human-Centered Advances for Novice Development of Software
    PhD thesis of John Pane. Programming language and environment for children. 
    1995 - 2002
  35. TOPAZ
    Transcripts Of Programs Activated with Zeal
    Scripting facility built into Amulet
  36. AMULET
    Automatic Manufacture of Usable and Learnable Editors and Toolkits
    Toolkit and application framework for creating user interfaces in C++. Large-scale research project.
    1994 - 1997
    (not an acronym)
    Preliminary technique for creating web pages by demonstration.
  38. GAMUT
    Games Are Made Using This
    Interactive tool for creating games and other user interfaces by demonstration. PhD thesis of Richard McDaniel. Created using Amulet.
    Toolkit and Application Layer for Synchronous Multiple-user Access over a Network
    Never-finished networking layer for Amulet.
  40. GARNET
    Generating an Amalgam of Real-time, Novel Editors and Toolkits
    Toolkit and application framework for creating user interfaces in Lisp. Large-scale research project.
    1989 - 1994
  41. AGATE
    A Gesture-recognizer And Trainer by Example
    Tool to create gesture recognizers. Implemented in both Garnet and Amulet.
    1989 - 1997
  42. GILT
    Graphical Interface Layout Tool
    Interface builder tool to layout widgets. Implemented in both Garnet and Amulet.
    1989 - 1997
  43. GEM
    Graphics and Events Manager
    Lowest level of the Garnet and Amulet implementations. High-level interface to the window manager.
    1989 - 1997
  44. OPAL
    Object Programming Aggregate Layer
    Graphical level of the Garnet and Amulet implementations. Provides object-oriented graphics and automatic refresh.
    1989 - 1997
  45. ORE
    Object Registering and Encoding
    Object and constraint level of Amulet. Provided prototype-instance object model. (Equivalent to KR layer of Garnet).
    1994 - 1997
  46. KR
    Knowledge Representation
    Object and constraint level of Garnet. Provided prototype-instance object model. (Equivalent to ORE layer of Amulet).
    1989 - 1994
  47. SILK
    Sketching Interfaces Like Krazy
    PhD thesis system of James Landay. Create interfaces by just sketching them. Implemented in Garnet.
    Mostly Automated, Remarkably Quick User Interface Software Environment
    Interactive tool to create some applications by demonstration. Implemented in Garnet.
  49. GOLD
    Graphs and Output Laid-out by Demonstration
    Created business charts from examples of desired look. Implemented using Garnet.
    Text-formatting Ought to Use and Rely on Macrostyles And Layout Inferred Nicely by Example
    Creating text-formatting styles and other properties by example. Partially the Master's Thesis of Andrew Werth.
    1990 - 1992
    Data AtomaTa CornucopiA pNeumatic Olfactory I/O deviSE Tactile Manipulation 
    System that reallY doeS creaTE user interfaces that have nice featuMs
    Fanciful parody of user interface software papers.
    1991 This article introduced the following fictitious technical report:
    Lisp-based Assistant for Prototyping Interface Designs Allowing Remarkable Yield
    Interactive tool to create some applications by demonstration. Implemented in Garnet.
  53. C32
    CMU's Clever and Compelling Contribution to Computer Science in CommonLisp which is Customizable and Characterized by a Complete Coverage of Code and Contains a Cornucopia of Creative Constructs, because it Can Create Complex, Correct Constraints that are Constructed Clearly and Concretely, and Communicated using Columns of Cells, that are Constantly Calculated so they Change Continuously, and Cancel Confusion
    Spreadsheet-like system that allows constraints on objects to be specified by demonstration. Intelligent cut and paste. Implemented using Garnet.
  54. JADE
    Judgment-based Automatic Dialog Editor
    Created dialog boxes from a specification. Implemented in Garnet.
    Create desktop scripts by example. Thesis work of Francesmary Modugno.
  56. CORAL
    Constraint-Based, Object-Oriented Relations And Language
    Predecessor to Garnet. Investigated Prototype-instance object system and constraints with pointer-variables.
    A MacGnome Environment That Helps You See Types
    Visualization of data types in a Pascal programming environment for the Macintosh called MacGnome.
    Programming by Example for Real-time Interface Design Obviating Typing
    PhD thesis of Brad Myers. Allowed widgets to be created by example.
    Screen Allocation Package Providing Helpful Icons and Rectangular Environments
    One of the first commercial window managers. For the PERQ Workstation.

Maintained by Brad Myers