# Dan Ingalls

Daniel Henry Holmes Ingalls Jr. (born 1944) is a pioneer of object-oriented computer programming and the principal architect, designer and implementer of five generations of Smalltalk environments. He designed the bytecoded virtual machine that made Smalltalk practical in 1976. He also invented bit blit, the general-purpose graphical operation that underlies most bitmap computer graphics systems today, and pop-up menus. He designed the generalizations of BitBlt to arbitrary color depth, with built-in scaling, rotation, and anti-aliasing. He made major contributions to the Squeak version of Smalltalk, including the original concept of a Smalltalk written in itself and made portable and efficient by a Smalltalk-to-C translator.

## Education

Ingalls received his Bachelor of Arts (B.A.) in physics from Harvard University, and his Master of Science (M.S.) in electrical engineering from Stanford University. While working toward a Doctor of Philosophy (Ph.D.) at Stanford, he started a company to sell a software measurement invention that he perfected, and never returned to academia.

## Work

Ingalls' first well known research was at Xerox PARC, where he began a lifelong research association with Alan Kay, and did his award-winning work on Smalltalk. As Peter Siebel wrote about Dan in his book Coders at Work, Reflections on the Craft of Programming, "If Alan Kay is Smalltalk's father, Dan Ingalls is its mother—Smalltalk may have started as a gleam in Alan Kay's eye, but Ingalls is the one who did the hard work of bringing it into the world. Starting with the first implementation of Smalltalk, written in BASIC and based on one page of notes from Kay, Ingalls has been involved in implementing seven generations of Smalltalk from the first prototype to the present-day open source implementation, Squeak." Dan's design principles for Smalltalk included the important concepts of personal mastery, good design in a uniform framework, language for communication, interaction of language, the concept of "objects", storage management, messages, and other principles outlined in his Byte Magazine article in 1981, "Design Principles of Smalltalk".
In 2020, Ingalls wrote The Evolution of Smalltalk for the ACM HOPL Conference, ACM Program. Lang., Vol. 4, No. HOPL, Article 85. Publication date: June 2020, which details the design of Smalltalk through Ingalls's multiple iterations of the language, including his development of Squeak in 1996. Although some may not be familiar with the language of Smalltalk or the fact that it began object orientation in programming, it is still a useful and well-used language.
Larry Tesler mentioned to Alan Kay and Dan Ingalls that he thought blocks of bits could be easily moved on the screen. Ingalls told Larry that he would learn how to program in the lowest-level microcode to harness all available power. Diana Merry had been working on programming text display, and after talking to her, Ingalls dug into the problem. Months later, he figured out a way to move information that was "bit efficient."
"The idea had come to him visually. When you are moving information on the display, whether it is scrolling or copying text or copying a graphical image from one place to another, you have a source and a destination within the computer's memory. In his mind, he envisioned the concept as a wheel that rotated from the starting point to the end point. It was an idea that seemed obvious after Ingalls had conceived of it, and it has been copied widely by all of the graphical computing systems that have followed. Today it remains at the heart of both the Macintosh and Windows computing worlds. In the early 1970s, however, it was a radically new idea. Called Bit Blit, it enabled graphical menu systems to "pop-up" instantly on an Alto screen in response to a mouse click. As much as any single software innovation, Bit Blit made the modern graphical computer interface possible."
Ingalls moved to Apple Inc. He left research in 1987, for a time to run the family business, the Homestead Resort, in Hot Springs, Virginia. The Ingalls family owned and operated the Homestead Resort for 100 years.
Ingalls returned to Silicon Valley in 1995, first working at Interval Research Corporation, and then returned to Apple. Starting at Xerox, and then at Apple, he developed Fabrik, a visual programming language and integrated development environment (IDE), consisting of a kit of computing and user interface components that can be "wired" together to build new components and useful application software.
Then he moved to Hewlett-Packard Labs, where he developed a module architecture for Squeak. He also started a small firm, Weather Dimensions, Inc., which displays local weather data on home computers.
Ingalls then worked as a Distinguished Engineer at Sun Microsystems, where he worked in the Sun Microsystems Laboratories (Sun Labs) research wing. His latest project is a JavaScript environment named Lively Kernel, which allows live, interactive Web programming and objects from inside Web browsers.
While best known for his work on Smalltalk, Ingalls is also known for developing an optical character recognition system for Devanagari writing, which he did in collaboration with his father, Daniel H. H. Ingalls, Sr., a professor of Sanskrit.
Ingalls moved to SAP SE Palo Alto Research Center, as a fellow. He was a key member of the chief scientist team guiding the company's technology vision, direction, and execution. He moved his research group to YCombinator, to a newly formed YCombinator Research Group, YCR, where he continued his research, living near the beach in Rio del Mar, Aptos, California with his wife Cathleen Galas, where he also contributed to development of the Squeak implementation of Smalltalk, JavaScript research, and the Lively Kernel Project, which now resides at the Hasso Plattner Institute.
Ingalls now consults and lives near the beach in Manhattan Beach, California, with his wife, Cathleen Galas.

## Awards

In 1984, Ingalls received the Association for Computing Machinery (ACM) Grace Murray Hopper Award for Outstanding Young Scientist, for his Xerox PARC research, including bit blit.
In 1987, with Alan Kay, and Adele Goldberg, he received the ACM Software System Award, for his work on Smalltalk, the first fully object oriented programming software system.
In 2002, he was co-recipient, with Adele Goldberg, of the Dr. Dobb's Excellence in Programming award.
In 2022, Ingalls was made a Fellow of the Computer History Museum for creating, developing and building seven generations of the Smalltalk programming environment, and promoting object-oriented programming.
Also in 2022, Dan Ingalls received the Senior Dahl-Nygaard Prize at ECOOP for his impact on modern computing.