Travels With Smalltalk

From Research Parc to Main Street--An Historical Perspective

By Dave Thomas

Reprinted from Celebrating 25 Years of Smalltalk, SIGS Publications.

Smalltalk is much more than a programming language, it is a complete environment that represents the true philosophy of open, user-driven computing. Smalltalk provides an environment that makes programming fun for young and old, and it shields us from the plethora of APIs and technology our industry calls progress. It respects the disparate cultures of business programmers, students and systems programmers. Most of all it encourages "we" programming as opposed to "me" programming. It is my pleasure to share a brief insider's/outsider's view of Smalltalk since my first encounter in the mid '70s--an anecdotal and, as a result though, an incomplete view of Smalltalk's evolution.

The Early Days

The Parc where Ideas grow I was not an insider to the birth of Smalltalk and its evolution during the early years at Xerox PARC. An assignment with Xerox Data Systems provided me with my first glimpse of PARC, ethernets, Altos and Smalltalk. At the time Smalltalk didn't seem all that important; it was networked workstations and their multi-window graphical interfaces that caught my attention. However, after spending several years trying to build similar environment-based programming environments for Pascal-like languages, the importance of an integrated object-oriented environment began to hit home.

In the mid 70s it was very difficult to obtain information about Smalltalk and the work of the Systems Concept Lab (SCL). During the late 70s everyone knew that Smalltalk was an important contribution, but details of the system itself remained a mystery, described only in occasional, tantalizing talks by Alan Kay and a small handful of papers, such as Dan Ingalls' brief description of Smalltalk-78 and NoteTaker. It wasn't until a visit to Xerox PARC in the early 80s that I was finally able to experience first hand the system and its operation on a 'D-Machine' in a building referred to as "Parc Place".

During 1979-1980 persistent rumors circulated that Xerox would release Smalltalk in some form or other. Unfortunately Xerox and Xerox PARC seemed intent on neither commercializing nor publishing the results of the Systems Concept Lab (SCL) research. The Smalltalk-80 specification was provided to various industrial partners such as Tektronix, Hewlett Packard, Digital Equipment, and Apple for a technology evaluation, resulting in much more exposure for the technology. Then suddenly, and strangely, an article appeared in Datamation magazine describing Rossetta Smalltalk and claiming that Smalltalk would soon be released. Within a few months the famous Byte article appeared, followed two years later by the Blue Book.

These adolescent years of Smalltalk must have been a little frustrating for the SCL team, with Xerox being unwilling to release the technology on one hand, while being delighted to show it off to visitors, such as Steve Jobs. I suspect that some of the PARC Lispians, being devoted followers of their technology, were not terribly supportive. Apple subsequently lured away Dan Ingalls and Larry Tesler, and later recruited Alan Kay.

Moving From the Parc to The Street The next stage in the commercialization of Smalltalk came from the work of Peter Deutsch and Allan Schiffman. They pioneered efficient workstation implementations of Smalltalk using a technique called dynamic translation, which traded a little memory for processing speed, and started the process of making more practical workstation implementations of Smalltalk available. Their work allowed ParcPlace systems (which had recently been spun off from Xerox to market Smalltalk) to offer a high performance portable product. We all appreciate the efforts of Adele Goldberg, Duane Bay, Peter Deutsch, Glenn Krasner and their associates for putting their research careers on hold to move Smalltalk from PARC. Thanks!

What do you do if you don't have the real thing? Some of us on the outside tried to clone our own. Several groups influenced by Smalltalk, explored naive independent implementations in other languages and/or sought to provide the object-oriented facilities in other languages. Objective-C, derived from work at GTE Labs on OOPC by Brad Cox is the best known of these. DEC Trellis Owl was also strongly influenced by Smalltalk. While C++ was influenced by Simula, C++ frameworks such as UBILABS ET++ and the NIH class library were heavily modeled on ST-80 MVC and Collections frameworks.

The Carleton OO Research Group These efforts convinced us that we should focus our research efforts directly on Smalltalk. In 1984 we established the OO research group with Wilf LaLonde and John Pugh at Carleton University. Thanks to Dan Ingalls at Apple, Jim Anderson and George Bosworth at Digitalk and Glenn Krasner and Duane Bay at Xerox, we were able to obtain the first beta copies of Apple ST for the Lisa; Digitalk Methods for the PC and then a research license for Berkeley Smalltalk. Little did we know that from such humble beginnings would emerge OTI, the Object People, ObjectTime, ST/V Mac, ENVY/Developer and IBM Smalltalk. (Three professors and a lot of wonderful students can make a difference!)

Since our primary funding sources were in the area of embedded systems, we selected industrial process control and real-time as an application context for our research. At this time the language research community which controlled funding was far more interested in supporting work on logic programming or efficient code generation for 3GLs, and our proposals for work on concurrent object languages met opposition within the academic research community. Fortunately, we found a believer in Dr. Brian Barry, then with the Defense Research Establishment (DREO) in Ottawa (and now Vice President, R & D of OTI). A close relationship developed between Carleton's OO research group and DREO through which, among other things, Actra (a Smalltalk version of the Harmony multiprocessor multitasking OS) and the beginnings of ENVY/Developer were implemented.

Our research in the Actra project on multitasking Smalltalk showed that Smalltalk provided leverage as a modeling environment, but left lots of questions about its use as a development and delivery environment. We investigated the automatic translation to Ada and C only to conclude that the best investment was the direct use of the Smalltalk, augmented where appropriate by routines written in C or Ada.

In 1988, myself and graduate students John Duimovich, Dave Thomson and Mike Wilson moved from the Carleton OOPS Lab to form OTI. Two years later John Pugh, Wilf Lalonde and Paul White formed the Object People.

Digitalk - The Little Smalltalk with the Big Impact Also during the early 80's, a small group at Computer - Sciences Corporation (CSC), was excited by the vision of Smalltalk and didn't know that it couldn't be implemented on an 8086-based DOS machine. The result was Digitalk, which delivered what few thought possible, Methods and then Smalltalk/V, a complete graphical Smalltalk on a 512K PC/AT! Bringing years of compiler development experience from CSC, Jim Anderson, teaming with George Bosworth, Barbara Noparstak, and Michael Teng, followed up with Smalltalk/V 286 in 1988. George and Jim brought Smalltalk to the masses. Digitalk Methods and Digitalk Smalltalk/V and Smalltalk/V 286 have played a crucial role in popularizing Smalltalk. During 1987-1989 we had the opportunity to work with Digitalk to develop ST/V Mac using machines loaned to us from Alan Kay. Few realized that Alan dreamed of a new generation Macintosh to support his ambitious Vivarium project, hence the "V". Smalltalk/V Mac was the first Smalltalk to support the look and feel of the Mac. When it was first shown at OOPSLA '88, the Mac look was completely emulated-- much to the surprise and upset of some Mac aficionados. While Apple canceled its ST effort, and encouraged its early developers to move to ST/V, Apple failed to put the momentum behind Smalltalk and lost its leadership position in interactive programming tools.

For PC centric corporations ST/V 286 was the first product to allow the development of business and engineering applications. Andersen Consulting made a substantial commitment to Smalltalk VPM to develop and deliver their Foundation tool. ST/V 286 and following 32bit releases VPM, VWIN and VMAC provided the foundation for many developers including OTI, Coopers and Peters, ObjectShare, Synergistic Solutions, Polymorphic and Dynamic Network Solutions (DNS).

Tektronix - Smalltalker Engineering Central Tektronix provided the first integrated Smalltalk environments, disguised by Tektronix as AI workstations, but we all knew that the workstation division was really making Smalltalk machines. Their large displays and clean implementation provided the first independent commercial implementation of Smalltalk-80. While Xerox may have fumbled the future, Tektronix let it fade away. In the mid 80s Tektronix was home to some of the best research and engineering talent that could be assembled in one place.

During 1987, 88 and 89 I had the opportunity to see the work of several groups at Tektronix. One of the most enjoyable experiences was watching Kent Beck (First Class Software) and Ward Cunningham (Cunningham and Cunningham), sharing a mouse while working on Hot Draw and the literate program browser. It was a software duet that would be difficult to duplicate. During a subsequent visit I had the opportunity to experience first hand the simplicity of CRC cards with Ward and Rebecca Wirfs-Brock, and to see the beginnings of Rebecca's distillation of her experience into what is now known popularly as Responsibility Driven Design. It is wonderful when someone who does, also writes and teaches!

There were numerous products in that unstable state of prototype without management support to ship them, including very impressive CAD design tools by Dale Hendrichs, which married Smalltalk and Pspice to custom build chip simulations; and a virtual instrument programming system by the signal processing group. Rebecca, Mike Miller, Juanita Ewing et al were just finishing Color Smalltalk and Allen Wirfs Brock and Brian Wilkerson were working on Modular Smalltalk, which continues to inspire their efforts today.

Tektronix was our first customer for embedded Smalltalk, developed as a joint project between OTI, Digitalk and Tektronix and the Canadian Department of National Defense. The shipping of a family of oscilloscopes was a testimony to the flexibility of the technology and to the excellence of the Tektronix engineering team of Steve Lyford, John Wiegand, Don Birkley, Jocelyn Yu, Alan Dotts, Rich Austin, David Olson and Rolf Anderson. The failure to capitalize on this leadership was a lost opportunity for a whole new generation of products. Unlike Xerox, which never got Smalltalk into products, Tektronix successfully shipped an entire family of products. Although Tek continues to build new scopes in the original product line, unable to make the management decisions needed to spread the technology further within Tektronix, Smalltalkers left to new ventures at Instantiations, ReUseable Solutions, ByteSmiths, Cunningham and Cunningham, First Class Software, McKenna Consulting and Knowledge Systems Corporation.

OOPSLA - The Meeting Place for Objects During these years OO practitioners were not in the mainstream. Access to R&D funding was limited. Existing academic conferences spurned OO contributions. The OOPSLA conference was created out of necessity for like-minded people to gather. No one expected that 1000 people would attend OOPSLA'86 in Portland or that today, OOPSLA would regularly draw over 3000, making it one of the largest and most profitable ACM conferences. The organizing meeting for OOPSLA'86, hosted at the IBM T.J. Watson Research Center, provided us with one of the first opportunities to meet other implementers and users including Glenn Krasner, Kurt Schmucker, Peter Deutsch, Alan Borning, Allen Wirfs Brock, Dave Ungar, Alan Purdy, Brad Cox, Jeff McKenna and Angela Coppola.

Some Applications Pioneers

XSIS and The Customer Information Analyst Why would Xerox develop an incredible spreadsheet that could display images, conjugate Russian verbs and why did that happen in a strange group called XSIS located in Los Angeles and Washington? Apparently they had an important customer with a lot of complex information to analyze. How did Angela Coppola know that 1000 people would show up for OOPSLA'86 when the PC committee predicted 100-200? What sort of technology could the National Security Administration use to print Chinese leaflets circa 1978? The Xerox Analyst served the CIA as a analytic tool for many years. Even 13 years later it still offers tools more powerful than MSOffice. The Analyst is still alive and well and forms a key component in TI ControlWorks Wafer Fab Automation System.

Europe One of the early European users was Georg Heeg, who excited colleagues at the University of Dortmund in Germany into taking up the Smalltalk challenge. Georg developed an implementation of ST-80 for the Atari computer as well as numerous enhancements including forms, and distributed objects.

Texas Instruments ControlWorks--The Ultimate in Smalltalk ROI? In the late 80's a talented group of engineers at TI led by John McGehee embarked on a project to build a fully-integrated, model-driven, automated silicon wafer fabrication facility (fab). ControlWorks is Smalltalk through and through with workstations running PPS ST-80 including the Xerox Analyst and TI's own GUI Builder, a forerunner of VisualWorks. OTI Embedded Smalltalk technology is used in the controllers, Servio Gemstone provides the object database and OTI ENVY/Developer manages the code for the entire system. According to TI, ControlWorks managed fab saved TI the equivalent of 1.2 fab lines last year. What does a fab cost? roughly $1B! It is no wonder that even Japanese semiconductor factories are interested in the increased productivity resulting from the use of ControlWorks.

Beyond SoftSmarts and Momenta Steve Burbeck, Jerry Latter and Abdul Nabi took work begun at the Linus Pauling Institute into a start up company called SoftSmarts. Softsmarts developed the first implementation of Xerox ST-80 for the notorious 286 architecture. Unfortunately the market wasn't big enough in the late 80s to support PPS, Digitalk and Softsmarts and Softsmarts folded. Abdul and Steve both went on to make important contributions to KSC.

Abdul, Steve Utt and Phil Rubesin did their best to bring Smalltalk to Pen computing with their efforts at Momenta. This proved that Smalltalk was a viable platform for Pen Computing, but they were ahead of their time and the hardware and user populations were not ready to satisfy the ROI of the Momenta VCs. Momenta perished along with GO and Electronic Book, an ARM-based Smalltalk-80 Pen computer. Today DevTeamOne continues to provide the best Mobile PDA framework expertise in the Smalltalk community.

KSC - The Prototypical Smalltalk Services Business Reed Phillips assembled a great team at KSC, which pioneered the apprenticeship program that has served as a model for intensive education in the Smalltalk industry. Sam Adams brought customer's ideas to life while sharing their mouse. While at KSC Sam and Steve championed the concept of Well Defined Objects as a technique for supporting the evolution of software systems. Ken Auer almost single-handedly codeveloped a manufacturing simulation with HP specialists. New implementations continue to appear with QKS Smalltalk Agents and Smalltalk X entering the market beginning in 1993. Only time will tell if these implementations can acquire the market share of the major vendors. New vendors with new ideas help in maintaining vibrant growth in Smalltalk technology.

Smalltalk in the Class Room

Smalltalk, and indeed object-oriented technology are only now gaining wide-spread popularity in academic institutions. The current shortage of graduates with well-developed OO skills is a testament that we still have a way to go in developing an adequate supply of courses. Initially the complexity of Xerox licensing and distribution slowed its growth. However Digitalk Smalltalk/V improved the situation greatly by enabling undergraduates to learn Smalltalk without the need for expensive workstations. Carleton University bravely introduced Smalltalk as the introductory programming language and hasn't looked back since. Today, most Smalltalk vendors have aggressive, low cost university licensing programs. The teaching of OO itself has developed into an active research area with contributions from industrial labs such as Mary Beth Rosson, Chamond Liu and Dave Collins at IBM as well as university faculty including Ralph Johnson, Jean Bezivin and Trevor Hopkins, Mahesh Dodani and Tim Budd

Research on Smalltalk Technology

While the ideas embodied in Smalltalk have stood many tests of time, researchers continue to identify areas in which the environment and implementations need to improve. Carleton investigated multiprocessing, exemplars, new user interfaces, programming by example, use of Smalltalk in various engineering and business domains as well as collaborative development. The Self research effort of Dave Ungar and Randy Smith explored the power of prototype-based languages, numerous issues in efficient implementation, as well as new user interfaces. Alan Borning and his students, including Bjorn Freeman-Benson, continue to explore the use of Smalltalk as a platform for constraint programming. At the University of Illinois, Ralph Johnson investigated typed Smalltalk, and was one of the first academics to pick up Kent and Ward's inspired work on design patterns.

In the UK, most Smalltalk activity was centered at QMC, where Steve Cook and his team developed an ST80 for the Acorn Risc processor and at Manchester, where Trevor Hopkins, Mario Wolezko and their students investigated specifications and architectures in the Mushroom project.

In France, Pierre Cointe showed how metaclass programming can be used to extend Smalltalk to model many languages including many of the proposed extensions of Smalltalk. Jean Bezivin explored problems in simulation, semantic networks, re-engineering of COBOL programs and methodology for OOAD. Francois Pachet in Paris continues his efforts in expert systems using Smalltalk as a platform.

In central Europe Smalltalk is in collaborative projects in the Gesellschaft Fuer Mathematik und Datenverarbeitung (GMD), as well as the Universities of Ulm, Stuttgart, Darmstadt (FH) and Ilmenau.

In Japan at Keio University, Mario Tokoro et al contributed to the development of concurrent Smalltalk.

Servio - Persistent Smalltalk Ahead of Their Time OOPSLA'86 is when I first learned of the pioneering work of Dave Maier, Allen Otis et al at Servio who developed their own server Smalltalk (Stone) as a basis for an object-oriented database, GemStone. Gemstone has continued to evolve as a strong member of the Smalltalk family. Recently other vendors such as Object Store have made serious efforts to integrate Smalltalk with their otherwise C/C++ oriented database/persistent store.

The Third Parties Fill in the Gaps

One measure of a maturing market is the existence of successful third-party vendors who fill in the gaps in vendors' offerings and add value through alternative solutions and value-added products. Today we have over 25 third-party vendors in our ENVY/Developer enabled program, many of whom offer products for multiple Smalltalk vendors. They include, Object Share, Polymorphic, Micado, MicroDoc, Reynolds and Reynolds, First Class Software, as well as the ODBMS vendors Object Design, Versant, Ontos, and Servio. Third-party vendors look forward to the expansion of the IBM Connection program, the ParcPlace Partners Program and similar offerings by other vendors.

Services, Services and More Services Firms such as Knowledge Systems Corporation and The Object People have provided high quality training, mentoring and consulting services as well as integration services. While PPS-DT, IBM and Gemstone provide training and consulting, third parties such as KSC, The Object People, Polymorphic, DNS Inc., Rosenthal, Linea, ByteSmiths and ObjectEdge, provide a healthy, competitive ST consultants marketplace. Some of the smaller firms have been successful at major projects at financial institutions, power companies and engineering organizations.

1994: The Business of Smalltalk Heats Up

Major Vendors Bring Smalltalk to the Enterprise Much to the surprise of many in the industry, HP introduced HP Distributed Smalltalk as a key building block in its distributed applications technology. Recently HP has complemented this offering with the Odapter interface to OpenDB allowing ST access to AllBase and Oracle. HP DST has allowed HP and PPS to jump in early into Unix based client/server computing with Smalltalk.

IBM entered the market in 1993 with ENVY/400 as their first Smalltalk-based client/server development environment and followed in 1994 with VisualAge and IBM Smalltalk, both developed jointly with OTI. Recently IBM has demonstrated IBM Distributed Smalltalk and IBM MVS Smalltalk. MVS Smalltalk sends a message to the last doubting Thomases that IBM is serious about Smalltalk. IBM's commitment to OO and Smalltalk is evident in IBM's aggressive recruitment of Smalltalk consultants and developers worldwide. It has also acquired Toronto-based Footprint, a company that develops banking products in Smalltalk. IBM and HP enterprise customers have voted with their budgets to move major applications from COBOL and proprietary 4GLs to Smalltalk.

Recently DEC has announced an agreement with PPS to provide VisualWorks for the DEC Alpha NT and OSF platforms. DEC has also supported OTI in providing ENVY/Developer for these platforms. Also MITS, in Melbourne has an agreement with PPS and OTI to provide VisualWorks and ENVY/Developer for Vax platforms.

In Europe, Dr. Naetar and Mr. Ralph Mueller lead teams at Siemens Nixdorf developing banking platforms. Their efforts culminated in 1994 with the introduction of FINIS, a retail banking platform for large banks under the leadership of Ing. Rudolf Kemler and Dr. Page.

IBM Says "It's OK for IT to Use Smalltalk" It was IBM's investment and push that gave major credibility to Smalltalk in the eyes of the business community. IBMers including Nori Suzuki, John Richards, Rich Demers, Jerry Archibald, Dave Smith, Cliff Reeves, Chamond Liu, Phil Hartley, Dave Collins, Mary Beth Rosson, Rick Denatale, Dave Dykstal, Jim Harens, Mel Mumper, Martin Nally, Hayden Lindsey, Yen Ping Shan, Skip McGaughey, Steve Mills, Al Zollar, Becky Pridgeon, Daniel Tkach, Martin West, and Lee Griffin saw the potential in the technology and worked to introduce Smalltalk as a vehicle for understanding OOP. Some analysts believe that IBM Smalltalk may be as significant for applications software as the IBM PC was for hardware. Fortunately for IBM their customers were even more enthusiastic users then even they expected. After several misqueues with AD/Cycle, Office/Vision, Metaphor/Patriot Partners, IBM has a product that customers really want.

Major applications include insurance, network management, billing, trading systems, retail banking such as Footprint (now IBM) Visual Banker.

Conclusion

Applications programming is a challenging and intellectually stimulating activity. Smalltalk is an environment which supports such complex application development. Smalltalk's success is due primarily to this focus on applications and customers. This focus will serve us well in the future as we extend the language, environment and most importantly our class libraries. By sharing a common vocabulary and environment we have made the process of software conception and development tangible and rewarding. Smalltalk has always been about a way of programming together, more than a language or a suite of tools. Smalltalk continues to surprise me with its flexibility and robustness, even when it has not been designed in. In the coming years our community will step up to meet the real challenge of RAD-reliable enterprise applications constructed from prefabricated parts. I expect these years to be every bit as interesting and demanding as the early technological years.

About the Author

Dave Thomas is founder, President and CEO of Object Technology International Inc. and Adjunct Research Professor of Computer Science at Carleton University.