The OTI Brotherhood

Posted by Rick DeNatale Wed, 03 Dec 2008 20:20:00 GMT

A week ago today, I travelled up to Grand Rapids Michigan, to give my RubyConf 2008 talk to XP West Michigan at . XP West Michigan is an enthusiastic group of software craftsmen, who were great hosts.

This trip came about thanks to my friend and former colleague at OTI, Paul Vanderlei, now of Band XI a small consulting company comprised of former OTIers. Paul blogged about the talk here.

I spent the last, and best, part of my IBM career at OTI, and I’m feeling nostalgic, so if you’ll humor me a bit, I’d like to reminisce publically a bit.

Object Technology, or OTI, was founded by Dave Thomas, who was on the faculty at Carleton University, in Ottawa Canada. Dave along with a couple of other Carleton faculty including John Pugh, and Wilf LaLonde, introduced Smalltalk as the introductory programming language. Just to be clear, this is a different Dave Thomas than the Dave Thomas of the Pragmatic Programmers, who is probably better known to a lot of my readers. OTI was started by Dave and his wife, staffed by a few of his students. Within OTI Dave was known by several names including “Big Dave”, which distinguished him from Dave Thomson, one of the first OTIers, but most often we called him DAT.

OTI wasn’t the only Ottawa based Smalltalk oriented company spun off from Carleton, John and Wilf started The Object People, which, among other things produced TopLink one of the first object-relational mapping packages, an ancestor of ActiveRecord. TopLink, like VisualAge made the jump from Smalltalk to Java and is now an Oracle product.

Early on, OTI viewed embedded applications as a target for Smalltalk. OTI was one of the companies which produced Smalltalk virtual machines, but tended to stay slightly in the background. They did several VMs for embedded systems, but they also implemented the VM for the Macintosh version of Smalltalk/V, which was sold by Digitalk, so many users didn’t know of it’s true source.
John Duimovich was the VM team lead back then.

The majority of the old time Smalltalkers remember OTI for Envy/Developer, the first version and configuration management system for Smalltalk. OTI was one of the pioneers in applying agile iterative development processes to medium to large-scale projects, and Envy was a key enabling technology.

I first started interacting with OTI and DAT as part of the early OOPSLA community, and then as the VisualAge saga unfolded, a story I related a while back. Dave is, and always has been, an iconoclast, unafraid to tell the truth as he sees it, no matter what the recipient of his message feels. Bearding the lion in its den is DAT’s stock in trade. In 1992, I organized a panel at OOPSLA which explored the pros and cons of software “methodologies” versus the more pragmatic approach of code-driven development. DAT and I were on the pragmatic side, opposite a couple of icons of OO methodologies, Peter Coad, and Grady Booch. I’m pretty sure that Grady has forgiven me, I’m not so sure about Peter.

As a result of OTI’s contributions to VisualAge, it was acquired by IBM, and became a wholly owned subsidiary of IBM Canada. Shortly after this happened, Dave decided to “raid” IBM and drafted a few IBMers on the VisualAge development team in RTP to work at OTI’s lab in Raleigh. Besides me, the draftees included Tim Wolf (who had spearheaded the mainframe version of IBM/Smalltalk),
Patrick Mueller (my evil twin), and Scott deDeugd, with Dave Lavin and Randy Caroll following shortly thereafter.

OTI tended to build laboratories around key people. For example, DAT hired Erich Gamma and opened an OTI lab in Zurich. Labs in Sydney Australia, Victoria British Columbia, Minneapolis, Raleigh and Amsterdam were all part of the OTI “Empire” with its capital in Ottawa. Before I was drafted, I got to spend a month in the Sydney lab working with Jeff McAffer on a server Smalltalk product combining many of Jeff’s ideas with my earlier work on VisualAge/Smalltalk Distributed Jeff went on to be one of the key architects of Eclipse which arose like a Phoenix from the VisualAge IDE.

OTI was an oasis of pragmatic software development within the Big Blue Mothership. OTI introduced IBM to agile development methods, most notably strictly time-boxed delivery with flexible content definition. This required a process which made sure that the system was always ready to ‘ship’ even though it might not be complete according to the plan. Today we call this continuous integration.

DAT is still at it. When I was in Grand Rapids, Paul told me about his recent attendance at Eclipse Summit Europe where DAT gave a keynote where he excoriated Java as the “new COBOL” with an audience full of Java afficionados. That’s DAT for you. From what Paul tells me, JavaScript has caught DATs attention of late.

Pat Mueller has a a Planet OTI site which provides an RSS feed for this blog along with many other blogs by former OTIers. It’s a good place to meet quite a few interesting people.


Will It Go Round in Circles?

Posted by Rick DeNatale Wed, 15 Oct 2008 19:24:00 GMT

I really like seeing the resurgence of interest in my second most favorite programming language

One of the comments to the referenced Gartner Group blog post had a link to an IBM Developer Works article about using using Eclipse as a Smalltalk IDE.

It seems like a strange loop, since Eclipse is the descendant of IBMs old VisualAge. Now I happen to know a bit about this since I was involved at the beginning. I guess that enough time has passed that nothing I say here will affect anyone’s business.

IBM, Smalltalk, and VisualAge

VisualAge started out as a demonstration prototype I wrote using Digitalk Smalltalk/V. The idea was to make something like the NeXT interface builder in Smalltalk as an adjunct to the Smalltalk IDE. For those who are not hip to such things, the Interface Builder, originally a Lisp program before Steve Jobs hired the author, lives on as part of Apple’s XCode tool suite for OS/X for the Mac and the iPhone.

The demo got some key IBM executives excited, and so the VisualAge development organization was born. Development proceeded using Smalltalk/V, along with Object Technology International’s (OTI) Envy/Developer, which was the state of the art version and configuration management for Smalltalk team programming.

As the project progressed, IBM and Digitalk had a falling out over conflicting views of who should be doing what. I’d shown the prototype to them in my position as liaison between the two companies, and they launched their Look and Feel kit which was seen by IBM management as competition from a supplier. So since we already had a relationship with OTI because of Envy/Developer, and OTI was in the business of building Smalltalk VMs, including the VM used by Digitalk’s Smalltalk/V for the Macintosh, IBM switched horses and contracted OTI to build “IBM” Smalltalk. This eventually led to the acquisition of OTI by IBM Canada.

This was about the time we founded the ANSI X3J20 committee to forge a standard across the existing and emerging Smalltalk implementations. I served as the secretary of X3J20. Some of the other members included Peter Deutsch and Glenn Krasner of ParcPlace, which Xerox had spun-off from their Palo Alto Research Center to commercialize Smalltalk-80; George Bosworth of Digitalk; Allen Wirfs-Brock of Instantiations one of the more successful Smalltalk consulting companies in the Portland Oregon suburbs; David Simmons who was the brains behind the iconoclastic Smalltalk/Agents; and Bruce Schuchardt who worked for Servio-Logic or Gemstone, I can’t recall which name they were going under at the time. I’m sure that I’m forgetting some of the players, but I’ll plead senility.

One of the great joys of working in Smalltalk during it’s first “glory days” was the opportunity to work with and exchange ideas with such brilliant people in IBM, OTI, and other companies.

VisualAge grew to become an entire family of development environments for several of the IBMSAA” programming languages. There was even a VisualAge for Cobol! All of the various flavors featured an IDE written in IBM Smalltalk.

Enter Java

When Java “reared it’s head.” IBM, of course came out with VisualAge for Java. Again, the IDE was written in Smalltalk, although, in order to accomodate Java execution, OTI developed what was called the UVM (or Universal Virtual Machine) whcih could execute both Smalltalk and Java byte-codes, and used Smalltalk to implement the Java primitive functions which were implemented in C in the Sun JVM.

IBM eventually switched its focus from Smalltalk to Java. After considerable thought about this, and conversations with those who were in a position to know, I’m now convinced that this had nothing to do with the relative technical merits, and everything to do with a combined IBM/Sun platform play against Microsoft.

VisualAge for Java did eventually move away from the UVM for Java execution, primarily because the Java language had evolved to provide a standard C api for extensions. OTI began implementation of a new JVM, which was dubbed J9, which was built from the ground up to be usable in embedded systems.

OTI had a reputation of fostering the use of Smalltalk in embedded systems. When I first became aware of them in the early OOPSLA days, they were showing off products like an HP Network Analyser, and a TekTronix Digital Oscilloscope which used Smalltalk to implement their user interfaces. They were also involved with a large semiconductor company in Texas which was planning to use Smalltalk in controllers in an automated IC fabrication facility.

Around the time of the birth of J9, IBM was becoming quite interested in embedded software, under an initiative called Pervasive Computing (PVC). Because of this, OTI now an IBM Subsidiary, started working on VisualAge Micro Edition, which bundled J9 with an cross-platform IDE written, this time, in Java. About this time, I moved from IBM to OTI, and ended up working on the VAME IDE.

The Emergence of Eclipse

Work on VAME was distributed between various OTI labs. The lab in Phoenix acted as the liaison with the IBM PVC folks, the J9 VM work was done in Ottawa, Raleigh did some applications work, and some UI work, but the bulk of the VAME UI framework was done by Erich Gamma’s team at OTI Zurich. The IDE used Swing, as most Java desktop apps did in those days, and apparently that was a bit of a struggle. OTI used to have an annual all-hands internal developer conference in sunny early February Quebec, and I’ll never forget Erich, who is quite the Alpine skier, talking about the UI while showing a slide he took at some ski report showing a sign with a precariously oscillating chair-lift and a skier about to fall, with the text “Don’t Swing!”

This led to the desire to develop a new UI framework and what is now known as the standard widget set or SWT.

And the overall IDE/UI framework which replaced VAME was, of course Eclipse.

And now it seems we’ve gone from a Smalltalk IDE hosting Java development to the reverse!

Where Are They Now

Digitalk eventually merged with ParcPlace to form ParcPlace-Digitalk. For a while, both Smalltalk/V and VisualWorks/Objectworks (the ParcPlace Smalltalk-80 products) were carried, but eventually VisualWorks survived. It’s now shepherded by Cincom, which bought the rights.

Similarly, IBM eventually sold the rights to market and develop VisualAge Smalltalk (a.k.a. VAST) to Instantiations. My old friend and colleague from IBM John O’Keefe “retired” from IBM to lead the development team.

Several of the X3J20 guys went to or through Microsoft. George Bosworth worked for several years on a precursor to today’s Microsoft DLR. Davd Simmons and Allen Wirfs-Brock both work on Javascript for Microsoft.

And, of interest to the Ruby community, Gemstone is now working on Maglev, a Ruby implementation with persistent objects based on their mature Smalltalk product.


The other Dave Thomas and the Birth of the Agile Alliance

Posted by Rick DeNatale Mon, 09 Jul 2007 17:17:00 GMT

“Uncle Bob” Martin of Object Mentor just published an article containing his
personal recollection
of how the


… Dave Thomas of OTI fame. (We call him “Big Dave” to differentiate him from the Pragmatic Programmer of the same name.)

Agile Alliance got started and the writing of the
“Agile Manifesto”

He gives a bit more background than has previously been told. Of particular interest to me is the role of “Big Dave” Thomas, the founder of OTI in kick-starting the organization.


“Big Dave,” not to be confused with Dave Thomas of the Pragmatic Programmers, has been one of the movers and shakers of the object-oriented technology community for many years, and doesn’t always get the credit he deserves, particularly now that he has “retired” to the Carribean island of Anguilla. He might not be as visible now as he was in the heyday of OTI, but he’s still active. Had Anguilla been easier to reach, the Agile Manifesto would have been written at Dave’s place instead of in Utah.


I’m proud of my experiences working with and for “Big Dave” and to count him as a friend.