David Canfield Smith
David Canfield Smith is an American computer scientist best known for inventing computer user interface icons.
Personal life and influence
Smith was born in Roanoke, Virginia on March 29, 1945. Smith graduated from Chillicothe High School in 1963 and was inducted into the Chillicothe High School Distinguished Alumni Hall of Fame in 2007Oberlin College
Smith attended Oberlin College, where he earned a Bachelor of Science degree in mathematics in 1967. During the last semester of his senior year, Smith realized he didn't want to pursue a career as a mathematics professor. Smith gained interest in the field of artificial intelligence after reading Computers and Thought by Edward A. Feigenbaum and Julian Feldman. In his eyes, AI was the future of computing and he wanted to be involved.Stanford University
In 1967 he began pursuing his Ph.D. in computer science at Stanford University. At Stanford he wanted to develop a computer able to learn. He turned to Alan Kay, a computer science assistant professor at Stanford who also worked in the AI lab, for help. Kay was interested in creating machines that helped make people smarter. Smith shared this same interest and asked Kay to be his thesis advisor. Kay agreed. In one of their first meetings to discuss the thesis, Kay handed Smith a stack of books on art and philosophy, including Psychology of Invention in the Mathematical Field by Jacques Hadamard, Visual Thinking by Rudolf Arnheim, and The Act of Creation by Arthur Koestler. Kay believed that ideas outside of Computer Science were essential to the advance of the field and wanted to share this with Smith. Eventually, Smith also read Art and Illusion by Ernst Gombrich, which came to be one of the most influential books in his life during this time. By reading this book, Smith realized that people were used to certain conventions and if he strayed too far from these conventions with his new ideas, people would not accept or understand them. This helped shape his approach on innovative interaction techniques and integrating the computer into the common workplace. Smith finished his Ph.D in 1975.Career timeline
1963-1967: Pursued a B.S. in Mathematics at Oberlin College1967-1975: Pursued a Ph.D. in Computer Science at Stanford University – During this time, Smith also worked at Xerox PARC where he contributed to the Alto computer and helped develop Smalltalk, an object-oriented programming language, with Kay.
1975-1976: Programmer in Douglas Englebart’s Augmentation Research Center at the Stanford Research Institute – Smith was originally drawn to SRI because of the many papers coming out of the Augmentation Research Center and Englebart's The Mother of All Demos. However, he didn't feel as if he was doing the similar cutting-edge research like he was at Stanford and left.
1976-1983: User Interface Designer at Xerox in the Xerox Systems Development Division – Smith was one of the 6 principal designers for the Xerox Star computer.
1983-1984: User Interface Designer at VisiCorp – At the time, Smith joined VisiCorp, it was larger than Microsoft and produced four of the top ten best selling personal computer applications - including VisiCalc. He joined VisiCorp because he admired VisiCalc inventors Bob Frankston and Dan Bricklin. Similar to them, he wanted to contribute to the world of laymen personal computers. Consequently, he prototyped a new application that was going to do for relational databases, what current spreadsheets did for financial modelling. Unfortunately, VisiCorp went out of business before he could fully execute his prototype. Smith describes this as one of the biggest disappointments of his career.
1984-1985: Cofounder, System Architect, & User Interface Designer at Dest Systems – Smith, and other former employees of VisiCorp, formed a start-up under the umbrella of Dest Corporation to combine Dest's OCR reader with mass storage devices, such as optical disks to transform large amounts of paper documentation into a searchable and editable electronic form. The team was influenced by statistics such as the documentation for the Boeing 747 weighed more than the airplane itself. Again, Smith and his team prototyped the product but Dest went out of business before they could fully execute it.
1985-1988: Cofounder and Vice President of Human Interfaces at Cognition – This was a Massachusetts start-up that attempted to do for mechanical engineers what workstations, such as Daisy's and Mentor Graphics, did for electrical engineers. Architecturally, it was based on Ivan Sutherland's Sketchpad; it used constraint-based geometry to portray mechanical devices such as the windshield raising-lowering mechanism in a car. The dimensions, angles, and other measurements in the diagrams were linked to mathematical formulas. When the values in the formulas changed, the diagrams automatically updated to represent the changes. Smith designed a simple interface modeled on an engineer's notebook. It had sketchnotes for the diagrams, math notes for the formulas, text notes for textual descriptions, etc., which could then be pasted into the pages of the notebook. It was a modular design that made it easy to include new note types as users thought of them. The product was finished and sold, but Cognition was never profitable and went out of business largely due to the increasing power of low-cost personal computers using Intel chips. However, the interface was successful and won a General Motors competition; it was recognized for its standardized interface across all workstation software.
1988-1996: User Interface Designer at Apple – Smith worked in Apple's Advanced Technology Group where he assisted Alan Kay in creating KidSim.
1996-2002: Cofounder and User Interface Designer of Stagecast – After the KidSim Project was terminated at Apple, Smith and some of his former coworkers at Apple formed the company Stagecast and renamed KidSim to Creator. Stagecast went out of business due to a lack of funding.
2002-2003: Programmer at IBM
2004: Retired – Smith and his wife Janet are currently traveling the country and writing a book about their travels.
Pygmalion
Pygmalion is the name of Smith's thesis, finished in 1975 at Stanford. Smith and his colleagues would often come together to discuss and draw different concepts on a blackboard. They would work out fully sketched diagrams and then sit down and begin translating these diagrams into programming language that a computer could recognize. This method produced many errors and Smith wanted to reduce these by creating a way to transfer the blackboard sketches directly to the computer. He viewed this as an executable electronic blackboard.Smith named this system Pygmalion after the famous sculptor Pygmalion from Roman mythology. Originally, Pygmalion was implemented in Smalltalk on the Xerox Alto computer. Pygmalion introduced two new key innovations: the concept of a computer icon and programming by example. Since then, icons have become a widely accepted, but programming by example is still waiting to be proven as a valid concept among the masses.
The development of icons
When creating Pygmalion, Smith wanted objects that could be directly manipulated in the system. Smith was inspired by the belief within certain religions, that images portraying holy figures embody some of the holiness of that figure. Smith viewed the objects in Pygmalion as having both visual and mechanical schematics that they represent. He saw a religious icon and the objects he was drawing as having the same double meaning, thus he named these objects icons.Xerox Star
Smith served as a user interface designer for the Xerox System Development Division between 1976 and 1983. His role as one of the six principal designers for the Xerox Star constitute his main contributions to the field of human-computer interaction. The other five designers were Larry Clark, Eric Harslem, Charles Irby, Ralph Kimball, and Jim Reilly. While working on the Star, Smith helped develop four main features: the desktop metaphor, dialog boxes, the icon designs, and universal commands.Desktop metaphor
The desktop metaphor is the representation of common office objects in a computer's user interface. Smith and his colleagues were trying to develop a computer for the office. Prior computers were not tailored to the office and what Smith called "knowledge workers". He made a distinction between how these knowledge workers and secretaries - who were the common computer users at the time - wanted to use a computer. To introduce a computer that knowledge workers could easily understand and interact with, Smith believed it was imperative to incorporate objects and ideas they were already familiar with. This led him to represent common office items, such as documents, folders, file cabinets, and wastebaskets, in his icon designs for the Star.Dialog boxes
A dialog box is a small window that contain clickable options, allowing users to communicate a command to the computer. By presenting a list of options within these boxes, users don't need to memorize them.Icons
Smith designed the initial icons of the office icons for Xerox Star. As development on the Star progressed and drew closer to completion, he and the other designers decided that the icons needed a more professional look. The six of them began interviewing graphic design artists that could polish his initial drafts. They soon met Norm Cox - an artist already working for Xerox in Dallas, Texas. After Cox created several new sets of the icons, they conducted user tests to finalize which set would be more appropriate for the Star system. These tests were used to determine which of the different sets were most aesthetically pleasing, identifiable to the real world object they represented - such as a printer or mailbox - and how fast users could locate a given type of icon in a screen full of them.Universal commands
A universal command is a command that work in all applications of a system. In Smith's own words, “This simplifies the system as a whole without reducing its power. Some of the universal commands for the Star were: Again, Copy, Copy Properties, Delete, Move, Show Properties, and Undo.Apple
KidSim
For eight years, Alan Kay, Allen Cypher, and Smith worked closely together in the Advanced Technology Group to find a way to teach children how to program. During this project, they faced two main issues. The first issue was how to input programs without boring or overwhelming students and the second was how to understand how a program works once it is written. Their efforts were ultimately successful and they developed a system called KidSim. The system enabled children as young as preschoolers to program video games that other children could play.Component software
One of Smith's side projects at Apple was component software. In hardware, the designer does not descend to the level of individual transistors and resistors, but rather, goes to a component catalogue, selects a set of integrated circuits, and pieces them together. However, in software, the designer deals with the lowest level elements: conditional statements, variables, and procedure calls. Sometimes a library will provide predefined routines that can be called, thereby saving the designer the work of implementing them. However, these libraries often don't do what is needed or they cannot be used properly. Component software attempted to enable software components for use in an analogous way with hardware components. Like many of Smith's other projects, it did not continue past the prototype stage.OpenDoc
Another one of Smith's side projects was OpenDoc. Apple wanted to implement a new document architecture. In OpenDoc, a user could write documents using an open-ended collection of multimedia components. The architecture was flexible enough to allow new types of components to be included as people thought of them. For this project, Smith acted as the user interface consultant and contributed a new universal command: Link. Link would later be added to the list of universal commands such as cut, copy, paste, and undo, that worked with all components. Link established a dynamic connection between components. For example, between a spreadsheet component and a database component, when a change was made in one of these components, the same change was made it the other. This command reduced the amount of manual updating needed to change materials and provided a significant increase in functionality with almost no increase in complexity. Unfortunately, OpenDoc was quickly discontinued.Extensible programming language
Finally, Smith designed a new extensible programming language for use within the Advanced Technology Group. This language used the PLisp technology previously developed by Larry Tesler, Horace Enea, and Smith at Stanford. Not only could new programming constructs be added to the language, enabling a programmer to use those constructs in a program, but such extensions could be made at compile time. That is, the programmer could include a preface at the beginning of a program which would dynamically add features just for the program that follows. However, this language was never implemented.Stagecast Creator
is a visual programming language based on the concept of programming by example. It was intended to teach children how to program. Smith believed that programming was not inherently hard, but that the true problem was that computer scientists had failed to create an easier way to learn and do it. Creator was a solution to this problem. Through user testing groups of 4th, 5th, and 6th graders, Smith and his team discovered the programming language was most successful within the 5th grade groups. He believed that the 5th graders were “around the age where they didn’t have the creativity and enthusiasm crushed out of them by the education system, yet old enough to be inventive”. Smith wanted a new way to engage kids and actually teach them how to think, instead of how to memorize facts. Although the kids looked at creating simulations with Creator as making video games, Smith believed he was implicitly teaching them the scientific method. By using Creator, kids were creating theories and hypotheses, and experiments to test them, executing those experiments, and then observing the results to confirm or disprove their hypotheses.Creator is a continuation of Smith's KidSim project at Apple. In 1997, Steve Jobs eliminated the Advanced Technology Group that Smith was working for. This meant that KidSim would no longer receive funding. However, Apple gave Smith and about 12 other employees of the former Advanced Technology Group permission to continue the project on their own. In 1997, Smith and his fellow employees created a start-up, Stagecast, Inc., to continue their work with KidSim. The goal of that firm was to finish the Java implementation of KidSim and sell it as a commercial product. Soon after founding the company, KidSim was renamed Creator. The first version was finished in 2000 and the second version in 2001., it is still available for purchase at the official Stagecast website, www.stagecast.com. However, Stagecast, Inc. went out of business in 2002 due to a lack of funding from venture capitalists in Silicon Valley. In his own words, Smith said several venture capitalists told his company, "We love your software, and could we please have a copy for our kids? But we aren’t going to fund you because we’ve never made money on educational software." Smith called the disbandment of Stagecast, Inc., the second greatest disappointment of his career.