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 of start dates:
  1. GILT
    (Note: Not the same Gilt as the Graphical Interface Layout Tool from 1997 below)
    Generation-based Information support with LLM Technology.
    Personalized chat-based information about selected code
    2023 - (on-going)

  2. SELENITE
    Smart Environment for Logical Extraction and Navigation of Information using Technological Expertise.
    Helps users find and label information
    2023 - (on-going)

  3. SODALITE
    Stories for On-boarding as Documentation Authoring, Leveraging IDEs for Text Enhancements.
    IDE plugin that helps write long-form documentation about code.
    2023 - (on-going)

  4. MALACHITE
    Memorize All of the Linguistic Aspects of the Context to Help Intelligent Technologies to Emerge.
    An intelligent agent that enables users to successfully teach natural language inputs on a semantic and syntactic level which takes context into account.
    2023 - (on-going)

  5. ONYX
    Optimizing Natural language interfaces for Your eXperience.
    Natural language interface for data visualization tools that uses interactive task learning.
    2022 - (on-going)

  6. SOREL
    Stack Overflow RELation extractor.
    Tool which finds comparable methods from Stack Overflow and displays them while the user is looking at documentation in a browser.
    2022 - (on-going)

  7. DRUSE
    Design Rationale Using SSystematic Explanations.
    Plugin for Figma that helps with keeping track of Design Rationale and other meta-data.
    2022 - (on-going)

  8. WIGGLITE
    Wiggling for Information Gathering and Generating Lightweight Impressions for Triage and Encoding.
    Interaction technique for wiggling that is makes it very easy to extract snippets during sensemaking. (Not a gemstone.)
    2021 - (on-going)

  9. Crystalline
    Clipping Resulting in Your Structure as Tables And Lists Linked to Implicit Notetaking Easily
    Michael Liu's new system for helping to build tables to help with decision making..
    2021 - (on-going)

  10. STRATA
    Sidebar Towards Reuse and to Assess Trustworthiness and Applicability.
    Plugin for Chrome that helps users assess the reusability of UNAKITE tables..
    2020 - (on-going)

  11. ADAMITE
    Annotated Documentation Allows for More Information Transfer between Engineers.
    Tool for annotating API documentation on the web.
    2020 - (on-going)

  12. SCHORL
    Sketching with Constraints Helps with Organized, Rapid Layouts.
    Class project for 05-830 Spring 2020 on a user interface for inferring constraints from sketches.
    2020

  13. SOVITE
    System for Optimizing Voice Interfaces to Tackle Errors.
    Method to correct errors. Part of Sugilite.
    2020 - 2021

  14. PINALITE
    Personal Information Nicely Anonymized Leveraging Interface Trace Examples.
    Method to anonimize personal information in shared scripts. Part of Sugilite.
    2020 - 2021

  15. PLIERS
    Programming Language Iterative Evaluation and Refinement System.
    Process for using various user centered methods to design programming languages..
    2019 - 2020

  16. MARBLE
    Mining API Repositories for Boilerplate Lessening Effort
    Tool to allow mine software repositories to look for boilerplate code.
    2018 - (on-going)

  17. PUMICE
    Programming in a User-friendly Multimodal Interface through Conversations and Examples
    Tool to allow end-user programmers to teach new concepts through mixed-initiative dialogs and demonstrations. Part of Sugilite.
    2018 - 2021

  18. ALABASTER
    Autocomplete Letting Apache Beam Applications Succeed Through Exploration Rapidly
    Plugin for PyCharm code editor for Python to help write code using the Beam API.
    2018

  19. VERDANT
    Versions Effortlessly Recorded, Displayed Around Notebook Tastefully, or
    Version Explosion Rectified Diligently Anticipating Notebook Timewarp, or
    Very Exciting Re-Design Aiding Navigating Timewarp, or
    Versioning Experiments Reinforce Data Analysis Notebooks Temporally
    Mary Beth Kery's dissertation project on micro-versioning for data science.
    2018 - 2021

  20. APPINITE
    Automation Programming on Phone Interfaces using Natural-language Instructions with Task Examples
    Tool to allow end-user programmers to create generalizations verbally while using mobile phones and programming-by-example. Part of Sugilite.
    2018 - 2021
  21. UNAKITE
    Users Need Accelerators for Knowledge for Implementations in Technology Environments
    Research on supporting knowledge organization for programmers.
    2017 - (on-going)
  22. ROSE QUARTZ
    Recollection Of Serial Experiments: Quiet Utility Always Recording Tree-structure Zen
    Research on supporting exploratory programming for Data Scientists.
    2017
  23. OBSIDIAN
    Overhauling Blockchains with States to Improve Development of Interactive Application Notation. (Formerly: Object-oriented Blockchain State Interaction and Development Implementation And Notation)
    Research on a new language for programming blockchain programs.
    2016 - 2020
  24. LUNA
    Language Usability eNhancements Augmentation
    Research on extensions to Java to support the "Fault Barrier" pattern.
    2017
  25. VARIOLITE
    Variations Augment Real Iterative Outcomes Letting Information Transcend Exploration.
    Research on supporting exploratory programming for Data Scientists.
    2016 - 2017
  26. GLACIER
    Great Languages Allow Class Immutability Easily and Readily.
    System to enforce immutability in Java.
    2016 - 2020
  27. EPIDOSITE
    Enabling Programming of IoT Devices On Smartphone Interfaces for The End-users.
    Tool to allow end-user programmers to create automations for Internet of Thing (IoT) devices using mobile phones and programming-by-example. Part of Sugilite.
    2016 - 2021
  28. SUGILITE
    Smartphone Users Generating Intelligent Likeable Interfaces Through Examples.
    Research on smartphone usage and optimization with respect to input.
    2016 - 2021
  29. MOONSTONE
    Making Object Oriented Novel Software Tools Optimized for Noting Exceptions.
    Research on exception handling, and new plugin for Eclipse to help with exception handlers.
    2016 - 2017
  30. AQUAMARINE
    Allowing Quick Undoing of Any Marks And Repairs to Improve Novel Editing.
    Paint program to explore selective undo using the script model.
    2014 - 2015
  31. DACITE
    Design Annotations for Complementing Interfaces Targeting Effectiveness.
    Plugin for Eclipse to help with API Usability.
    2014 - 2016
  32. GNEISS
    Gathering Novel End-User Internet Services using Spreadsheets.
    A novel spreadsheet-based language for programming web services.
    2014 - 2016
  33. 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
  34. SPINEL
    Smartphones Providing Information Needing External Lists.
    A web-based tool for connecting to remote data sources without programming.
    2013
  35. AZURITE
    Adding Zest to Undoing and Restoring Improves Textual Exploration.
    A plug-in for Eclipse that facilitates backtracking (undoing) of code.
    2012 - 2015
  36. 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 - 2015
  37. 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
  38. 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 - 2015
  39. 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
  40. 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
  41. APATITE
    Associative Perusing of APIs That Identifies Targets Easily.
    Uses the ideas from Feldspar to build associative Java documentation.
    2008 - 2011
  42. JADEITE
    Java API Documentation with Extra Information Tacked-on for Emphasis.
    New project to create better Java documentation.
    2008 - 2010
  43. FELDSPAR
    Finding Elements by Leveraging Diverse Sources of Pertinent Associative Recollection.
    Associative retrieval of information. Update of IOLITE. Part of Radar.
    2007 - 2008
  44. FISCH
    Fluid In-Stroke Completion shortHand.
    Word-level completion for unistroke gestural text entry techniques like EdgeWrite.
    2005 - 2007
  45. BERYL
    Browser Extensions for Reducing Your Labor.
    Tools for filling in Web forms.
    2006 - 2009
  46. Pocket-PATH
    Pocket - Personal Assistant for Tracking Health.
    Handheld to help lung transplant patients monitor their own health.
    2005 - 2013
  47. JASPER
    Java Aid with Sets of Pertinent Elements for Recognition.
    Plug-in for Eclipse to help visualize working sets.
    2006
  48. IOLITE
    Intelligent On Line Inferencing for Text and Email.
    Intelligent, coordinated file and email message handling. Part of the Radar Project.
    2005 - 2006
  49. 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
  50. UNIFORM
    Using Novel Interfaces For Operating Remotes that Match.
    System to generate consistent user interfaces, as part of the PUC Project.
    2005 - 2006
  51. 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
  52. MICA
    Makes Interfaces Clear and Accessible.
    Helps programmers learn APIs using smarter search. Part of the Natural Programming Project.
    2005 - 2006
  53. CITRUS
    Creating Interactive Tools for Reshaping and Utilizing Structure
    New toolkit for creating user interfaces for structured data. Part of Marmalade.
    2005 - 2007
  54. 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
  55. 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
  56. 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
  57. 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)
  58. WHYLINE
    Workspace that Helps You Link Instructions to Numbers and Events
    Visualization as part of the Marmalade project.
    2003 - (on-going)
  59. 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)
  60. 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)
  61. SILVER
    Simplifying Interface Layout and Video Editing and Reuse
    Project to create an easy to use video editor.
    1999 - 2002
  62. LAPIS
    Lightweight Architecture for Processing Information Structure
    PhD thesis of Rob Miller. Processing of semi-structured text.
    1998 - 2002
  63. HANDS
    Human-Centered Advances for Novice Development of Software
    PhD thesis of John Pane. Programming language and environment for children. 
    1995 - 2002
  64. TOPAZ
    Transcripts Of Programs Activated with Zeal
    Scripting facility built into Amulet
    1997-1998.
  65. 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
  66. TURQUOISE
    (not an acronym)
    Preliminary technique for creating web pages by demonstration.
    1997
  67. 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.
  68. TALISMAN
    Toolkit and Application Layer for Synchronous Multiple-user Access over a Network
    Never-finished networking layer for Amulet.
    1998
  69. GLASS
    Graphical Layer And Server Simplifier
    PostScript printing driver.
    September 1992 - May 1993
  70. 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
  71. AGATE
    A Gesture-recognizer And Trainer by Example
    Tool to create gesture recognizers. Implemented in both Garnet and Amulet.
    1989 - 1997
  72. GILT
    Graphical Interface Layout Tool
    Interface builder tool to layout widgets. Implemented in both Garnet and Amulet.
    1989 - 1997
  73. GEM
    Graphics and Events Manager
    Lowest level of the Garnet and Amulet implementations. High-level interface to the window manager.
    1989 - 1997
  74. OPAL
    Object Programming Aggregate Layer
    Graphical level of the Garnet and Amulet implementations. Provides object-oriented graphics and automatic refresh.
    1989 - 1997
  75. ORE
    Object Registering and Encoding
    Object and constraint level of Amulet. Provided prototype-instance object model. (Equivalent to KR layer of Garnet).
    1994 - 1997
  76. KR
    Knowledge Representation
    Object and constraint level of Garnet. Provided prototype-instance object model. (Equivalent to ORE layer of Amulet).
    1989 - 1994
  77. SILK
    Sketching Interfaces Like Krazy
    PhD thesis system of James Landay. Create interfaces by just sketching them. Implemented in Garnet.
    1990-1996
  78. MARQUISE
    Mostly Automated, Remarkably Quick User Interface Software Environment
    Interactive tool to create some applications by demonstration. Implemented in Garnet.
    1993
  79. GOLD
    Graphs and Output Laid-out by Demonstration
    Created business charts from examples of desired look. Implemented using Garnet.
    1992-1994.
  80. 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
  81. 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:
  82. LAPIDARY
    Lisp-based Assistant for Prototyping Interface Designs Allowing Remarkable Yield
    Interactive tool to create some applications by demonstration. Implemented in Garnet.
    1989-1991
  83. 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
  84. JADE
    Judgment-based Automatic Dialog Editor
    Created dialog boxes from a specification. Implemented in Garnet.
    1990
  85. PURSUIT
    Create desktop scripts by example. Thesis work of Francesmary Modugno.
    1988-1994
  86. CORAL
    Constraint-Based, Object-Oriented Relations And Language
    Predecessor to Garnet. Investigated Prototype-instance object system and constraints with pointer-variables.
    1988
  87. AMETHYST
    A MacGnome Environment That Helps You See Types
    Visualization of data types in a Pascal programming environment for the Macintosh called MacGnome.
    1988
  88. 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
  89. 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