Home
A Brief History of Tile-Based Programming
Timeline
- early 1963: Ivan Sutherland creates Sketchpad at MIT on their TX-2 experimental computer, an early constraint-based 2D CAD system that implemented many object-oriented features, such as classes (video demo, paper, source listing)
- c. mid-1963: Ivan Sutherland and Timothy E. Johnson develop Sketchpad III (also at MIT), a 3D version of Sketchpad, which features split-screen (non-draggable) multi-windowing (video demo, paper)
- early 1966: William "Bert" Sutherland creates the first graphical, flowchart-like programming language at MIT's Lincoln Laboratory (video demo, paper, direct link to PDF, will download)
- c. 1967: Seymour Papert, Wallace Feurzig and Cynthia Solomon create Logo at BBN, a combination and simplification of LISP and BASIC designed as a text-based educational programming language for children on the basis of constructionism (article on history, article on 1960s history, article on evolution, 1969 source listing)
- late 1968: Douglas Engelbart demonstrates his pioneering NLS (oN-Line System) developed at SRI's ARC, featuring a mouse and cursor, realtime, simultaneously multi-user, multi-line text editing, digital videoconferencing, hypertext editing and hyperlinking, virtual documents combining text and graphics, and split-screen (non-draggable) multi-windowing of documents (video demo, 1969 partial source listing, 1970s source listings)
- c. 1970: Logo development is moved to the newly formed Logo Group at MIT, and is updated to feature its now-iconic graphical and physical "turtle"; an on-screen object with a virtual "pen" and a physical robot with a real pen (section of article)
- 1971: Smalltalk(-71) is first implemented by Alan Kay, Daniel Ingalls, Adele Goldberg, and colleagues at the newly formed Xerox PARC, influenced by LISP, Logo, PLATO, Simula, Sketchpad, and the NLS (section of paper)
- c. early 1973: The first "real" Smalltalk-72 implementation is ported to the "Interim Dynabook", later known as the Xerox Alto computer, and is updated with graphical, definable, overlapping windows on a "desktop" (initially draggable, later non-draggable) (various Smalltalk-72 source and documents, section of paper)
- c. 1974: Smalltalk-74 appears, featuring truly draggable windows (before being removed yet again with Smalltalk-76) (section of paper)
- mid-1975: PYGMALION, an "iconic", graphical programming language is created for Smalltalk by David C. Smith (paper including source listing)
- 1978: Andrea diSessa notes a few things on "Friendly Computer Systems", which would eventually become the basis for Boxer, in an internal memorandum at MIT's Logo Group (scan of memorandum)
- c. 1978: ThingLab, a flowchart- and constraint-based graphical programming language, is implemented by Alan Borning at Xerox PARC in Smalltalk-78 on the Xerox NoteTaker prototype, a conceived portable Xerox Alto (virtual disk image, sources, Smalltalk-78 sources)
- c. 1982: Prograph, a graphical, object-oriented, flowchart-like programming system, begins development at Acadia University (archived website)
- 1985: The first version of Boxer, a Logo-inspired, graphical programming language, is completed at MIT by Andrea diSessa and colleagues (paper, 1986 article)
- c. 1986: Ephraim P. Glinert and Craig D. Smith develop BLOX and PC-TILES at Rensselaer Polytechnic Institute, a graphical programming framework and language for UNIX systems and the first to truly feature block-like, tile-based programming (paper (see page 57), keynote (see page 6), website mention, paper)
- c. 1991: Alexander Repenning creates AgentSheets, an object-oriented graphical programming language aimed at children, inspired by LISP, Logo, and Smalltalk (website)
- early 1995: Graphical Logo, a simple graphical, block-based Logo compiler is implemented in Macintosh Common Lisp by Albert Castillo at the Epistemology and Learning Group of the MIT Media Lab (project overview, paper (see page 19), April 1995 source)
- mid-1995: Albert Castillo graduates from MIT; Andrew Begel takes over development of Graphical Logo, renaming it first Brick Logo, then VPL 1.0, and finally LogoBlocks (c. early 1996), enables it to connect to MIT's prototype of the LEGO RCX, the "Programmable Brick", and demonstrates it as the main focus of his thesis in mid-1996, advised by Mitchel Resnick; his thesis cites Prograph and AgentSheets as inspirations (thesis, May 1995 source, October 1995 source, "Programmable Brick" manual)
- c. 1996: Squeak, a derivative of Smalltalk-80, is created by Alan Kay, Daniel Ingalls, Adele Goldberg, 3 of Smalltalk's first developers, and John Maloney (website)
- c. 1997: Etoys, a graphical, tile-based programming toolkit, is conceptualized by Alan Kay and colleagues, and begins development (when?); an early version of it is included in the release of Squeak 3.0 in 2001 (1997 concept paper, archived 2001 webpage)
- c. 2000: LogoBlocks development is taken over by Fred Martin and shifted to the newly-formed Life-Long Kindergarten (LLK) Group at MIT's Media Lab
- late 2002: Scratch, a block-based graphical programming language, is conceived by Mitchel Resnick and colleagues at the LLK Group, taking inspiration from Logo, Smalltalk, Etoys, Alice, Boxer, and LogoBlocks (archived LLK project page from late 2002)
- early 2003: Scratch begins development, being implemented in Squeak by John Maloney, and later tested by MIT and Harvard students in October 2003 (early 2003 proposal, archived late 2003 download page, October 2003 build sent to testers, fall 2003 MAS714 class schedule mentioning Scratch)
- mid-2004: Scratch is introduced to and periodically tested by the Computer Clubhouse, a network of after-school activity centers designed to improve computer literacy (archived website, July 2004 "Teen Summit" video featuring Scratch)
- c. 2005: Andrés Monroy-Hernández conceptualizes ScratchR, a framework for distributing and "remixing" Scratch projects, inspired by Flickr and YouTube (image and document collection)
- c. late 2006: The first version of ScratchR is completed and tested at ubicity.scratchr.org, which would become the framework for the early public Scratch website (archived homepage)
- early 2007: Scratch is publicly released, along with its website, scratch.mit.edu (archived homepage)
Flowchart
View the flowchart here.
Further Reading
Heavily work-in-progress.
- Past and Future Turtles: The Evolution of the Logo Programming Language
- Mindstorms by Seymour Papert (1980), documenting the benefits of computer literacy
- The Early History of Smalltalk (direct link to PDF, will download)
- The Smalltalk Zoo at the Computer History Museum (includes links to various Smalltalk sources, listings, papers, articles, etc.)
- The Xerox PARC filesystem archive (more Xerox PARC documents; various MIT documents, including the Sketchpad paper)
- bitsavers.org, a very large and comprehensive repository of computer documents and software from the past century
- The Development of Scratch on the Scratch Wiki (also includes a section on LogoBlocks and its history)
- The No-code History Blog, a blog including several articles on GRAIL, another early graphical programming language from 1969, and various others
- History of the graphical user interface on Wikipedia
Corrections
If you would like to submit a correction or addition to this page, please contact me.