and became an industry standard. 1968–present: Graphical User Interface 1968 – Douglas Engelbart demonstrated NLS, a system which uses a mouse, pointers, hypertext, and multiple windows. 1970 – Researchers at Xerox Palo Alto Research Center (many from SRI) develop WIMP paradigm (Windows, Icons, Menus, Pointers) 1973 – Xerox Alto: commercial failure due to expense, poor user interface, and lack of programs 1979 – Steve Jobs and other Apple engineers visit Xerox PARC. Though Pirates of Silicon Valley dramatizes the events, Apple had already been working on developing a GUI, such as the Macintosh and Lisa projects, before the visit. 1981 – Xerox Star: focus on WYSIWYG. Commercial failure (25K sold) due to cost ($16K each), performance (minutes to save a file, couple of hours to recover from crash), and poor marketing 1982 – Rob Pike and others at Bell Labs designed Blit, which was released in 1984 by AT&T and Teletype as DMD 5620 terminal. 1984 – Apple Macintosh popularizes the GUI. Super Bowl commercial shown twice, was the most expensive commercial ever made at that time 1984 – MIT's X Window System: hardware-independent platform and networking protocol for developing GUIs on UNIX-like systems 1985 – Windows 1.0 – provided GUI interface to MS-DOS. No overlapping windows (tiled instead). 1985 – Microsoft and IBM start work on OS/2 meant to eventually replace MS-DOS and Windows 1986 – Apple threatens to sue Digital Research because their GUI desktop looked too much like Apple's Mac. 1987 – Windows 2.0 – Overlapping and resizable windows, keyboard and mouse enhancements 1987 – Macintosh II: first full-color Mac 1988 – OS/2 1.10 Standard Edition (SE) has GUI written by Microsoft, looks a lot like Windows 2 Interface design Primary methods used in the interface design include prototyping and simulation. Typical human–machine interface design consists of the following stages: interaction specification, interface software specification and prototyping: Common practices for interaction specification include user-centered design, persona, activity-oriented design, scenario-based design, and resiliency design. Common practices for interface software specification include use cases and constrain enforcement by interaction protocols (intended to avoid use errors). Common practices for prototyping are based on libraries of interface elements (controls, decoration, etc.). Principles of quality In broad terms, interfaces generally regarded as user friendly, efficient, intuitive, etc. are typified by one or more particular qualities. For the purpose of example, a non-exhaustive list of such characteristics follows: Clarity: The interface avoids ambiguity