Pioneers

Alan Kay’s Remarkable Contributions

Most of us use the fruits of the ideas and work of Alan Kay and his team at Xerox Palo Alto Research Centre (PARC) every day, but few know his contribution in detail.

Alan studied at Utah in the 1960’s and was fortunate to encounter the work of early pioneers in computer graphics (Ivan Sutherland at MIT), the first mouse (Doug Engelbart at Stanford) and objects and classes in Simula ( Ole-Johan Dahl and Kristen Nygaard in Norway). He was also exposed to the Arpanet (precursor of the Internet) through DARPA. His PhD thesis involved creation of an early personal computer (the Flex Machine). He conceived of a future product, which he called the Dynabook, which we would now recognise as an iPad. One key difference: Alan wanted the device to be maleable by the user (programmable even by children) rather than a device for media consumption.

Alan and his small team at Xerox (usually < 20 people) invented the first GUIs, developed object oriented programming and Smalltalk to write their operating environment and applications, produced the concept of bit-mapped graphics, overlapping windows, WYSIWYG editing, laser printing, local area networks (Ethernet), Integrated Development Environment (IDE) tools. They employed garbage collection, virtual machines, runtime images and late binding decades before these became mainstream. All this between 1970 and around 1976.

The ideas from this group had a profound impact on the industry, being picked up by Apple in their creation of the Macintosh, and later Microsoft who followed Apple. There was also an early WYSIWYG word processor (done by a different team, but using similar environment) called Bravo, that evolved through an intermediate product to Microsoft Word. Object oriented programming became the dominant programming model from the late 1980’s through 2020.

Alan went on to work at Apple, where he was instrumental in the creation of the open source Smalltalk variant Squeak, much loved in the education community. This in turn was forked to Pharo which is a very capable open source Smalltalk system, widely used in education, research and commercial systems.

He had a brief stint at Hewlett Packard as a head of research, but the culture was hostile and he left to found Viewpoints Research where he continued to push the boundaries and inspire another generation of researchers. A notable achievement of this group was the creation from scratch of a complete personal computing environment (operating system, communications, word processing, spreadsheet, presentation graphics etc. ) done in less than 10 000 lines of code. An exception was a web browser - not achievable without massive effort due to many broken, incomplete and conflicting standards… See STEPS project if interested.

Alan is a many faceted individual, also making contributions in music, teaching methods and mathematics.

Thanks Alan!

(And Happy Birthday for the 17th)

Remembering a Titan - Claude Shannon born 30 April 1916

A gentle, curious and humble man ranking with Einstein in terms of achievements.

At the age of 22 his masters thesis at MIT married Boolean logic and circuit design to introduce the fundamentals of digital computing with AND and OR gates, at the time implemented with relays, later transistors.

A few years later he introduced concepts of encoding various types of information (text, voice, image, video...) onto binary digits (bits).

Applying his mathematical skills to another field, he completed a PhD in genetics and transmission of characteristics between generations.

He went on to formally define information and quantify its size, allowing calculation of the threshold limit, the theoretical maximum bandwidth that a channel can carry. He introduced error correction of digital information, with huge implications for the transmission and storage of digital information. These principles were also used by von Neuman in making digital computing with unreliable components reliable. His work resulted in the conversion of telephone and communication networks from analogue to digital.

He made major contributions to compression and security technology, including providing the secure voice communications used between Churchill and Roosevelt during WW2.

Shannon also contributed to early AI by building a maze solving mouse and a chess playing computer. He co-organised the first AI conference in Dartmouth in 1956.

He is today recognized as the father of information theory. His work underpins our devices, computing, communications, digital media, encryption, compression - in short the fabric of the modern world. His contributions rank with those of Einstein, Newton and Darwin.

His quirks included juggling, riding a unicycle and making various crazy devices just for fun.

We owe him a great deal! Thanks Claude.

Claude Shannon Wikipedia Article

Lasting Impact of the Little Language that Could: Smalltalk turns 50

Late 60’s and early 70’s Xero was a major player in the office automation space. Innovative work on user interfaces was happening at Rand Corporation(JOSS, Tablets, GRAIL), Stanford Research Institute (Doug Englebart, Personal Interactive Computing, Mouse etc) and MIT/Lincoln Laboratories (Ivan Sutherland / Sketchpad). Xerox gave Alan Kay and his team at their Palo Alto Research Centre (PARC) free reign to explore human computer interaction. Alan had worked on ARPANET and did a PhD on the FLEX machine, a precursor to a truly personal computer. He conceived the “Dynabook” which conceptually defined a tablet (think iPad, but easier for the user to program and tailor) in 1968!

Amazing things came out of PARC, including:

  • Object oriented programming for UI and general purposes

  • Smalltalk (still one of the best, purest, easiest to learn and productive general purpose languages available today)

  • Keyword syntax facilitating domain / application specific languages

  • Just in Time Compilation (JIT) and Virtual machine execution of bytecodes allowing systems to be ported easily across hardware

  • Integrated Development Environment (IDE ) with introspection

  • Bitmapped displays with graphics and fonts

  • Image storing state of system allowing easy and instant persist/restore and continuation of work

  • Model View Controller (MVC) paradigm for separation of domain model, business logic and user interface

  • Windows, Icons, Mouse and Pointer (WIMP) paradigm with overlapping, resizeable windows and the whole Graphical User Interface

  • Text, Image and Document editing with What you See is What you Get (WYSIWYG)

  • Laser printing

  • Ethernet

We owe these pioneers a major debt of gratitude! Subsequent developments include:

  • GUIs at Apple (licensed from Xerox) then Ms Windows (Imitated)

  • Objective C, the major systems language at Apple (Smalltalk ideas and class libraries on top of C) - the precursor of Swift

  • Object oriented databases

  • Office suites - Charles Simonyi did Bravo at PARC on the Alto system, the first WYSIWYG document editing system. He later spent 20+ yrs at Microsoft and created Word and Excel

  • OO in general, Smalltalk being a major influence on Java, Javascript, Ruby, Eiffel, Dart and many other languages. It is a direct ancestor of Squeak, Pharo, Amber and Newspeak

  • eXtreme & Pair programming (Kent Beck, Ward Cunningham) and aspects of Agile Development

  • Live programming/ debugging

  • Test Driven Development (SUnit, Kent Beck)

  • Agile Visualisation (Roassal)

  • Moldable Tools (Tudor Girba, GTools)

  • EToys and Scratch visual programming for children

I saw Smalltalk ideas in the 1981 Byte article, got hands on and seduced in 1991, and we have used it ever since in our products and tools. Capers-Jones 2017 research confirms Smalltalk still offers a 2-3x productivity improvement over mainstream languages. Vive la difference!