CV: 1962-1980


1973 to 1980

Research Staff, Xerox Corporation Palo Alto Research Center (PARC)

  1. Conceived, implemented and usability-tested GUI (graphical user interface) and IDE (integrated development environment) capabilities that have become standards in the industry, including the ability to:

  2. insert or overwrite text without entering a mode by simply clicking or dragging and then typing;

  3. move or copy text without entering a mode using cut/copy and paste;

  4. type or paste find & replace text into a form that can be edited before and after searching;

  5. browse source code and inspect run-time state by clicking a hierarchy of menus in paned windows.

  6. obtain a tree-structured performance profile of run-time code (previous profilers reported only time in the leaves)

  7. User study notes taken during 1973 are available here.

  8. Prototyped a page layout system similar to the later Pagemaker.

  9. Contributed to the hardware design of the first luggable computer, Notetaker.

1968 to 1973

Research Assistant, Stanford Artificial Intelligence Laboratory (SAIL)

  1. Participated in original research in artificial intelligence, cognitive modeling, natural language representation and symbolic programming languages.

  2. Designed and implemented PUB, the most powerful and scriptable markup language of its time.


Software Engineer, Systems Concepts, Santa Monica, CA

  1. Designed and implemented the first version of the SDS Sigma 7 macro assembler.

1963 to 1968

President, Information Processing Corporation, Palo Alto, CA

  1. Developed software for hire. Managed up to four employees.

1962 to 1964

Programmer, Stanford Genetics and Computer Science Departments

  1. Developed batch and interactive software for biochemical research.

  2. Developing the output formatter for SUBALGOL, a dialect of ALGOL-60.

  3. Improved the usability of an early raster-based animation language