Alan Kay (VPRI Co-founder) – Keynote (Aug 2021)


Chapters

00:00:24 Making Progress Through Context
00:10:01 Engineering Software Systems for Reliability and Integrity
00:13:51 Systems Thinking and Complexity in Design
00:17:47 Five Kinds of Thinking and Knowledge
00:27:03 Doing More with Less: Scaling Computing through Systems Thinking
00:39:48 Concepts Underlying Distributed Computation Systems
00:44:08 The Imperative for Complete Encapsulation in Computing
00:52:57 Revitalizing the Internet's Interactive Potential

Abstract

Updated Article: Progress in Computing: Beyond Smartness and the Path to Innovation

This article explores the evolution of computing and the pivotal role of human intellect and context in driving progress. From Leonardo da Vinci’s brilliance constrained by his era to Henry Ford’s success in a conducive 20th-century environment, the journey reflects a nuanced understanding of ‘normal’ and its impact on innovation. We delve into the profound contributions of Margaret Hamilton to the Apollo missions, emphasizing the significance of software engineering and systems thinking in achieving groundbreaking feats like human-powered flight. Furthermore, we analyze Alan Kay’s insights on computing science, highlighting the importance of interdisciplinary collaboration and the challenges of scaling in modern computing. Lastly, we touch upon user interface issues and the concept of liveness in computing, offering a comprehensive view of the intricate tapestry that forms the backbone of today’s technological advancements.



1. The Intellectual Context of Innovation

Innovation in computing has always been intertwined with the intellectual context of its time. Leonardo da Vinci’s groundbreaking ideas were limited by the technological capabilities of his era, while Henry Ford’s achievements were propelled by the conducive environment of the 20th century, shaped by the scientific advancements of figures like Isaac Newton. This historical perspective underscores the importance of context in fostering or hindering progress. In the field of computing, the challenge lies not just in attracting smart individuals but in providing them with the necessary knowledge and environment to truly innovate.

Traditional progress relied on raw intelligence, but the context and available knowledge are often more critical factors. The right context can amplify the impact of intelligence and knowledge. Computing attracts smart people, but they often lack sufficient knowledge and context to drive progress.



2. Understanding ‘Normal’ in Engineering

The concept of ‘normal’ is subjective, encompassing what is considered ordinary and acceptable in a given context. Identifying and working within these norms is crucial for progress. Engineering, in particular, thrives when solutions align with the prevailing norms of the engineers involved. This approach emphasizes the need to focus on practical requirements over pursuing perfection.

We all have a subjective perception of normal, which influences our understanding of reality. Normal is embedded in the present and contains elements we are unaware of. Distinguishing between good, bad, worse, and qualitatively better is essential for making progress.



3. The Need for Research and Beyond

While acquiring existing knowledge is essential, true innovation requires venturing beyond the known. Research plays a pivotal role in extending knowledge frontiers, paving the way for new technologies like the internet and space exploration. This expansion of knowledge is critical in pushing the boundaries of what is possible.

Engineering thrives when what is actually needed falls within the normal context of the engineers. Skill and knowledge can be applied effectively in such situations. However, some endeavors, like space exploration and technological innovation, require venturing beyond the normal. Research is a tentative and explorative process that extends our knowledge.



4. Computing and the Child’s Mindset

Children, with their innate curiosity and lack of a rigid sense of normal, represent a state of grace conducive to exploration and creativity. Unfortunately, traditional schooling often instills a more rigid view of normal, which can hinder this creative freedom. Similarly, the field of computing often suffers from a constrained sense of normal, limiting its potential for progress.

Children operate in a state of grace before schooling instills a rigid notion of normal. Their lack of strong preconceptions allows them to explore and learn more effectively. Computing needs to move beyond the limitations of most people’s normal perceptions.



5. Margaret Hamilton and the Apollo Missions

Margaret Hamilton’s work on the lunar lander software epitomizes the challenges and complexities of software development in constrained environments. Her expertise and leadership were instrumental in the success of the Apollo missions, highlighting the critical role of skilled programmers and innovative approaches in high-stakes scenarios.

The lunar lander’s guidance computer software is an example of remarkable achievement with limited resources. It ran on a small computer with 4k bytes of RAM and 73k bytes of ROM. The software was written in a higher-level language and had a real-time operating system. It handled thousands of processes and both the Apollo crew module and the Lunar Lander. Margaret Hamilton, a pure math graduate, led the software development team. Hamilton distinguished between simple programs, which are like stories, and systems, which are larger, more complex entities with interconnected relationships. Software engineering involves creating systems with integrity and fault tolerance, akin to designing a constitution rather than a collection of laws or a story.



6. The Importance of Systems Design

Systems design, as opposed to simple programming, demands a holistic approach. It involves creating secure, reliable systems with integrity, akin to drafting a constitution rather than a mere collection of laws. This perspective is crucial in developing robust and resilient systems.

Systems coordination of 400,000 people, 20,000 companies, and 178 billion dollars was required for the Apollo moonshot project. The focus was on systems thinking, considering the entire system rather than individual parts. Complex systems can be understood more effectively through wide-angle visualization and virtual reality. Wide-angle visualization allows for a comprehensive view of the entire system. Virtual reality can provide a sense of the whole system and facilitate meetings for dealing with complexity. The Bible and Michelangelo’s paintings are examples of wide-angle representations of systems. Stories are about happenings, while systems are about relationships.



7. Late Binding and Error Prevention

The concept of late binding played a significant role in error prevention during the Apollo missions. The coordination and meticulous planning of thousands of individuals and companies, combined with billions of dollars in resources, were integral to the success of these missions.

Margaret Hamilton advocated for using fault-tolerant loose couplings in system design. This approach involves designing systems that can tolerate failures in individual components without compromising the overall system’s functionality. The concept of virtual computers connected through software boxes forming a software internet illustrates the principles of encapsulation and message-passing. However, modern user interfaces face challenges, such as the lack of undo systems and help features, especially on mobile devices like iPhones and iPads.



8. Systems Thinking and User Interface Design

Systems thinking, which focuses on understanding component relationships and their impact on the overall system, is vital in preempting issues before they arise. Similarly, user interface design is about comprehensively understanding a system’s functionality and behavior. This holistic understanding is crucial for effective decision-making, especially in complex systems.

Late binding allows for more flexible and adaptable systems. For example, it enables late bug fixes and changes without affecting the entire system. This approach reduces the risk of errors and makes the system more robust.



9. Virtual Reality and Michelangelo’s Sistine Chapel Ceiling

Virtual reality offers a means to grasp the entirety of a system, understanding its complexity and interrelationships. This approach is akin to Michelangelo’s Sistine Chapel ceiling, which represents a wide-angle view of an interconnected system, emphasizing the need for a broad perspective in dealing with complex systems.

Virtual reality and wide-angle visualization can help designers and engineers better understand complex systems and their behavior. This can lead to more effective and user-friendly designs.



10. The Five Kinds of Knowledge and Thinking

The synthesis of different kinds of knowledge and thinkingtinkering, appreciation, engineering, science, and mathematicsis essential in tackling major challenges. This interdisciplinary collaboration is epitomized in feats like the construction of the Akashi Strait Bridge and the human-powered flight achievements of Paul McCready.

The five kinds of knowledge and thinkingtinkering, appreciation, engineering, science, and mathematicsare essential in tackling major challenges. This interdisciplinary collaboration is epitomized in feats like the construction of the Akashi Strait Bridge and the human-powered flight achievements of Paul McCready.



11. Alan Kay’s Insights on Computing Science

Alan Kay emphasizes the importance of the right people over committees in projects, advocating for a serious approach to the science of computing. He underscores the need for understanding underlying principles and relationships, rather than focusing solely on artifacts.

Alan Kay emphasizes the importance of the right people over committees in projects, advocating for a serious approach to the science of computing. He underscores the need for understanding underlying principles and relationships, rather than focusing solely on artifacts.



12. Challenges of Scaling and Modern Computing Demands

In the context of modern computing, scaling presents significant challenges, particularly in light of Moore’s Law. Kay advocates for a heuristic approach that prioritizes essential elements for progress and system building, emphasizing the importance of avoiding premature optimization.

In the context of modern computing, scaling presents significant challenges, particularly in light of Moore’s Law. Kay advocates for a heuristic approach that prioritizes essential elements for progress and system building, emphasizing the importance of avoiding premature optimization.



13. Networking, Internet, and Separation of Concerns

The development of networking and the internet, starting with Licklider’s vision of an intergalactic computer network, highlights the focus on scalability and reliability. The separation of transport, assembly, and error correction in data transmission is a key principle in efficient system design.

The development of networking and the internet, starting with Licklider’s vision of an intergalactic computer network, highlights the focus on scalability and reliability. The separation of transport, assembly, and error correction in data transmission is a key principle in efficient system design.



14. Virtual Computers, Software Internet, and User Interface Issues

The concept of virtual computers connected through software boxes forming a software internet illustrates the principles of encapsulation and message-passing. However, modern user interfaces face challenges, such as the lack of undo systems and help features, especially on mobile devices like iPhones and iPads.

Virtual computers, software internet, and user interface issues are important considerations in modern computing. Virtualization allows for more flexible and scalable systems, while user interface design is crucial for creating easy-to-use and effective systems.



15. The Importance of Liveness in Computing

The concept of liveness in computing, particularly on the internet, is crucial for the continuous operation and dynamic hardware replacement of modern systems. This approach, emphasized by the ARPA and PARC communities, aims to create personal computing tools that act as complementary partners in human intellectual and artistic pursuits.

The concept of liveness in computing, particularly on the internet, is crucial for the continuous operation and dynamic hardware replacement of modern systems. This approach, emphasized by the ARPA and PARC communities, aims to create personal computing tools that act as complementary partners in human intellectual and artistic pursuits.

In conclusion, the journey of computing from the era of da Vinci to the present day reveals a tapestry of intellectual contexts, an understanding of ‘normal’, and the crucial role of interdisciplinary collaboration. From Margaret Hamilton’s contributions to the Apollo missions to Alan Kay’s insights on computing science, this exploration underscores the importance of systems thinking, rigorous engineering, and innovative user interface design in shaping the future of technology.


Notes by: Random Access