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:
  1. DACITE
    Design Annotations for Complementing Interfaces Targeting Effectiveness.
    Plugin for Eclipse to help with API Usability.
    2014 - (on-going)
  2. GNEISS
    Gathering Novel End-User Internet Services using Spreadsheets.
    A novel spreadsheet-based language for programming web services.
    2014 - (on-going)
  3. CRYOLITE
    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)
  4. SPINEL
    Smartphones Providing Information Needing External Lists.
    A web-based tool for connecting to remote data sources without programming.
    2013 - (on-going)
  5. AZURITE
    Adding Zest to Undoing and Restoring Improves Textual Exploration.
    A plug-in for Eclipse that facilitates backtracking (undoing) of code.
    2012 - (on-going)
  6. FLUORITE
    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)
  7. GRAPHITE
    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
  8. EUCLASE
    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)
  9. 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
  10. CALCITE
    Construction And Language Completion Integrated Throughout Eclipse.
    A plug-in for Eclipse that uses the Jadeite database to provide better code completions.
    2009 - 2011
  11. APATITE
    Associative Perusing of APIs That Identifies Targets Easily.
    Uses the ideas from Feldspar to build associative Java documentation.
    2008 - 2011
  12. JADEITE
    Java API Documentation with Extra Information Tacked-on for Emphasis.
    New project to create better Java documentation.
    2008 - 2010
  13. FELDSPAR
    Finding Elements by Leveraging Diverse Sources of Pertinent Associative Recollection.
    Associative retrieval of information. Update of IOLITE. Part of Radar.
    2007 - 2008
  14. FISCH
    Fluid In-Stroke Completion shortHand.
    Word-level completion for unistroke gestural text entry techniques like EdgeWrite.
    2005 - 2007
  15. BERYL
    Browser Extensions for Reducing Your Labor.
    Tools for filling in Web forms.
    2006 - (on-going)
  16. Pocket-PATH
    Pocket - Personal Assistant for Tracking Health.
    Handheld to help lung transplant patients monitor their own health.
    2005 - (on-going)
  17. JASPER
    Java Aid with Sets of Pertinent Elements for Recognition.
    Plug-in for Eclipse to help visualize working sets.
    2006
  18. IOLITE
    Intelligent On Line Inferencing for Text and Email.
    Intelligent, coordinated file and email message handling. Part of the Radar Project.
    2005 - 2006
  19. CRYSTAL
    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
  20. UNIFORM
    Using Novel Interfaces For Operating Remotes that Match.
    System to generate consistent user interfaces, as part of the PUC Project.
    2005 - 2006
  21. BARISTA
    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
  22. MICA
    Makes Interfaces Clear and Accessible.
    Helps programmers learn APIs using smarter search. Part of the Natural Programming Project.
    2005 - 2006
  23. CITRUS
    Creating Interactive Tools for Reshaping and Utilizing Structure
    New toolkit for creating user interfaces for structured data. Part of Marmalade.
    2005 - 2007
  24. 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
  25. CITRINE
    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
  26. 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
  27. 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)
  28. WHYLINE
    Workspace that Helps You Link Instructions to Numbers and Events
    Visualization as part of the Marmalade project.
    2003 - (on-going)
  29. MARMALADE
    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)
  30. PEBBLES
    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)
  31. SILVER
    Simplifying Interface Layout and Video Editing and Reuse
    Project to create an easy to use video editor.
    1999 - 2002
  32. LAPIS
    Lightweight Architecture for Processing Information Structure
    PhD thesis of Rob Miller. Processing of semi-structured text.
    1998 - 2002
  33. HANDS
    Human-Centered Advances for Novice Development of Software
    PhD thesis of John Pane. Programming language and environment for children. 
    1995 - 2002
  34. TOPAZ
    Transcripts Of Programs Activated with Zeal
    Scripting facility built into Amulet
    1997-1998.
  35. 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
  36. TURQUOISE
    (not an acronym)
    Preliminary technique for creating web pages by demonstration.
    1997
  37. 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.
    1996-1999.
  38. TALISMAN
    Toolkit and Application Layer for Synchronous Multiple-user Access over a Network
    Never-finished networking layer for Amulet.
    1998
  39. 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
  40. AGATE
    A Gesture-recognizer And Trainer by Example
    Tool to create gesture recognizers. Implemented in both Garnet and Amulet.
    1989 - 1997
  41. GILT
    Graphical Interface Layout Tool
    Interface builder tool to layout widgets. Implemented in both Garnet and Amulet.
    1989 - 1997
  42. GEM
    Graphics and Events Manager
    Lowest level of the Garnet and Amulet implementations. High-level interface to the window manager.
    1989 - 1997
  43. OPAL
    Object Programming Aggregate Layer
    Graphical level of the Garnet and Amulet implementations. Provides object-oriented graphics and automatic refresh.
    1989 - 1997
  44. ORE
    Object Registering and Encoding
    Object and constraint level of Amulet. Provided prototype-instance object model. (Equivalent to KR layer of Garnet).
    1994 - 1997
  45. KR
    Knowledge Representation
    Object and constraint level of Garnet. Provided prototype-instance object model. (Equivalent to ORE layer of Amulet).
    1989 - 1994
  46. SILK
    Sketching Interfaces Like Krazy
    PhD thesis system of James Landay. Create interfaces by just sketching them. Implemented in Garnet.
    1990-1996
  47. MARQUISE
    Mostly Automated, Remarkably Quick User Interface Software Environment
    Interactive tool to create some applications by demonstration. Implemented in Garnet.
    1993
  48. GOLD
    Graphs and Output Laid-out by Demonstration
    Created business charts from examples of desired look. Implemented using Garnet.
    1992-1994.
  49. TOURMALINE
    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
  50. DATANOSETM
    Data AtomaTa CornucopiA pNeumatic Olfactory I/O deviSE Tactile Manipulation 
    SYSTEM
    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:
  51. LAPIDARY
    Lisp-based Assistant for Prototyping Interface Designs Allowing Remarkable Yield
    Interactive tool to create some applications by demonstration. Implemented in Garnet.
    1989-1991
  52. 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.
    1991
  53. JADE
    Judgment-based Automatic Dialog Editor
    Created dialog boxes from a specification. Implemented in Garnet.
    1990
  54. PURSUIT
    Create desktop scripts by example. Thesis work of Francesmary Modugno.
    1988-1994
  55. CORAL
    Constraint-Based, Object-Oriented Relations And Language
    Predecessor to Garnet. Investigated Prototype-instance object system and constraints with pointer-variables.
    1988
  56. AMETHYST
    A MacGnome Environment That Helps You See Types
    Visualization of data types in a Pascal programming environment for the Macintosh called MacGnome.
    1988
  57. PERIDOT
    Programming by Example for Real-time Interface Design Obviating Typing
    PhD thesis of Brad Myers. Allowed widgets to be created by example.
    1985-1987
  58. SAPPHIRE
    Screen Allocation Package Providing Helpful Icons and Rectangular Environments
    One of the first commercial window managers. For the PERQ Workstation.
    1981-1984

Maintained by Brad Myers