Demonstrational Interfaces Group

Carnegie Mellon's Demonstrational Interfaces group is investigating ways to use Demonstrational Interfaces to improve human-computer interaction. In a Demonstrational System, the user gives an example of how the system should operate, and the system automatically generalizes from the example to produce a parameterized procedure. For instance, in the Macintosh Finder, the user might move "foo.PS" and then "bar.PS" to the trash can. The system might notice that a similar operation was performed twice and automatically create a procedure to delete all the "*.PS" files. Demonstrational Interfaces can be used in many application areas, including business graphics, data and scientific visualization, drawing packages, text formatting, simulations and control panels, computer games, and spreadsheets. Currently, we are developing a demonstrational text formatter, a demonstrational visual shell, an architecture to support general script-based demonstrational programming, and a demonstrational interface for data visualization.


  • Papers
  • People
  • Projects

  • The Demonstrational Interfaces Project is primarily funded by the National Science Foundation (NSF) under the Interactive Systems Program. A recent workshop for the NSF ISP program was held in Cambridge.

    Additional industry contributions are gladly accepted. Please contact Brad A. Myers <>.

    Other Pages About Programming by Demonstration

  • Programming by Example Home Page (with contributions from across the PBD/PBE community)
  • Related Pages at CMU

  • Garnet Project (a user-interface research toolkit for Lisp)
  • Amulet Project (a user-interface toolkit for C++)
  • CMU School of Computer Science