The Smalltalk Trap

Smalltalk’s fundamental flaw Smalltalk’s blessing – or curse? The writing is on the wall. The signs are unmistakeable. Smalltalk is back, on the beginning of a new success journey. I will not write about why I think this is so in this blog. I want to concentrate on my opinion that, unless as a Smalltalk…

  • Smalltalk’s fundamental flaw
  • Smalltalk’s blessing – or curse?

The writing is on the wall. The signs are unmistakeable. Smalltalk is back, on the beginning of a new success journey. I will not write about why I think this is so in this blog. I want to concentrate on my opinion that, unless as a Smalltalk community we make some radical moves, this success spiral will be a spiral into death. Not hibernation, which more or less defines what happened to Smalltalk in 1995. Death. Final and irrevocable. Let me first recap the main points I want to talk about:

  1. we cannot currently survive a greater than 10% increase in cash flow into the Smalltalk development effort
  2. the Smalltalk community is it’s greatest strength and it’s greatest flaw

The price of success

Companies are feeling it, individual Smalltalk programmers, especially those with some reputation are finding out they are suddenly dramatically increasing in value. Nothing wrong with that, how could there be? Growth is the holy grail in business, success is what we all dream about. Dynamic languages, metaprogramming and reflection — suddenly our treasured properties of the Smalltalk experience have gained status on corporate and mainstream computing. We knew we had the best thing in computing, and it is getting recognised (again…). A new generation of bright and creative programmers is bringing the cool back into Smalltalk, taking it away from Java. And even Ruby. But, as many start-up and even larger companies have found out to their peril, success can kill you. And there are several factors in the Smalltalk world that will guarantee death unless they are dealt with, and dealt with now, by a concerted and combined effort that is supported by the community as a whole, individual Smalltalkers and big and small Smalltalk companies.

Smalltalk is not one thing. There are several Smalltalk dialects and development environments. In itself this is not a bad thing, but it is crippling the community to have an open source Smalltalk in Squeak, and a commercial environment in VisualWorks from Cincom, to name the two in my view most important Smalltalks around. It is crippling the community that efforts to improve interoperability, like Sport, are consistently ignored and not utilised when interoperability (such as in Seaside) is needed. I see it as a sign on the wall that well-meant efforts are bubbling up again and again to create a new Smalltalk environment (for example Syx).

I feel this must change: the Smalltalk kernel, that is the Smalltalk VM and the base Smalltalk syntax and metalevel definitions, should be placed under the umbrella of a small, preferable community-driven, group. Squeak had this group for a while, Squeak Central, with recognised leaders like Alan Kay and Dan Ingalls. While the existence of such a group in itself opens the door to politics, this cannot and should not be avoided. In the wake of success, politics will make attempts to strangle the blooming anyway, you can count on it. If greed is your motivating force, poverty will be your harvest. I will later on write on some of my ideas on how this may be managed, but I want to mention here that I think there are ways to manage politics.

The Java story has many parallels to learn from, and is currently experiencing problems that may well be signalling its downfall. But one thing Java has been able to survive, is the immense growth curve in 1995 and following years. Java did not crumble, and the main reason for this was that two (and this is important: not one) large companies, namely IBM and Sun, were massively pouring their assets into Java. Interestingly enough did IBM, while having declared allegiance to Smalltalk only a few years before (which resulted in the VisualAge suite of IBM products, all Smalltalk applications!) make this move on the corporate level already at the beginning of 1994, when Java was only in the design stage at Sun! Now I am not saying that unless we can find two large companies to pour assets into Smalltalk we will not survive the next growth spurt. In fact I will actively resist such an effort, because I think there is a better way. A 21st century way. A new way.

Smalltalk has reinvented computing, many times in fact. Smalltalk can also, in a way, reinvent the computing business. Aspects of this can be found in secondary properties of the Smalltalk experience, from which we have in the computing community as a whole, received agile processes, test-driven development, empowered teams, object oriented programming and design, to name a few. Smalltalk bigots may complain that test driven development in Java is crippled because it is not Smalltalk, but in fact it cannot be denied that the Java programming effort has immensely benefited from these Smalltalk-originated practices that are not a direct part of Smalltalk as a programming language. Which is why I name this the Smalltalk experience.

Now let’s raise this experience on to a different level: the business level. Aspects of this can be found in the Google business model. They provided a service for free that the customer wanted. They founded their financial model on the secondary aspects, the advertisement world. The search engine was the carrier wave, the advertisements income the modulation on it. In a way this is what the internet has been doing all the time. Money cannot be made by the infrastructure itself, and in fact I will advocate providing this to the world for free. But the services on it are making the difference and paying the bills. Smalltalk as an experience has for some reason attracted empowered teams, which exhibited many of the behaviours of empowered teams that result in success, often exceptional success. Alan Kay has talked about how 5-person teams like these can produce the equivalent of 500 person teams that do not have this empowerment. A business model can be harvested from Smalltalk, and in fact, although this cannot be directly traced to Smalltalk (I think this can more properly be attributed to what might be called Zeitgeist), we are already seeing this business model gathering successes all over the world.

Examples of this model can be found in the Joomla world. Joomla itself is an open source and free tool to build web sites, built itself in a dynamic (and standardised) language, PHP. Around this base (the carrier wave) has sprung up a whole ecosystem of add-ons and services (the modulation), where the money is made. But this is not a company-concentrated, multi-million dollar multinational bully making this money and driving the effort. It is a community-driven effort.

An equally valid example of this new business model is the Toyota community structure. It has been some years ago I encountered a report about the turn-over sums in the software industry, which showed that that the total of small companies made more money than the total of the large companies like Microsoft, Sun, Oracle and such. I think this distributed but massive business model should be adopted for the Smalltalk business model. We do not see this now. Smalltalkers consistently contribute “goodies” to the community for free. But these goodies have a bad track record of being maintained. By providing a business model for “goodies” we can improve this track record.

Infect the Smalltalk community

The Smalltalk community has always been very strong. The spirit of sharing, so contrasting with the C world of reinventing the wheel and the not-invented-here syndrome, has been permeating the community from the start and still is one of its main driving forces, from the start of the Smalltalk Archives hosted on the University of Urbana-Champain, one of the Smalltalk centres in the world. But the community as a whole is totally unequipped to manage the coming deluge of success.

The fact that it is fragmented is not the main flaw I think. The various mailing lists have some overlap, although not enough, and keeping up with the Squeak and the VisualWorks mailing lists alone may be asking too much from your average working day. We may certainly benefit from some kind of syndicating effort, separating environment-specific communications from Smalltalk-general stuff. But the main flaw is that there is no concertation. I want to introduce a proposal for this thing I call concertation. It is an appropriate term I think, because what we want to do is make music to rock the planet. But we will create pandemonium if there is no concertation. The only effort remotely resembling this at this moment is STIC, the Smalltalk Industry Council. But, and this should have been a sign on the wall, STIC has been stubbornly ignored by the Smalltalk community as a whole (and maybe vice-versa as well…). It has been more like a clique of Smalltalk companies, and the influx of success in these companies now and in the near future will create politic unrest in STIC that might be its downfall. And if that may not kill STIC, the lack of community support will. For this to change nothing less than a massive infection is needed. An infection with a common belief in the future, the power that Smalltalk can provide, an infectious enthusiasm that will create a synthesis where we direly need one.

The tone of voice

For a while I considered changing the tone of voice in this blog, because I usually detest cheap tricks to draw attention to blog articles by employing threatening or negative language. It is so easy to criticise and predict disasters. I decided to keep my original approach, but I want to postscript that by emphasising, yes, the problems we are facing as the Smalltalk community are quite serious, the opportunities are equally amazing. We are moving into an interesting future. Let’s be part of it.

Tags:

Responses to “The Smalltalk Trap”

  1. Philippe Marschall

    Seaside does not “consistently ignore” SPort. Check out our [url=http://www.squeaksource.com/Seaside29LGPL]LGPL repository[/url] there you’ll find a partial implentation of Seaside using SPort. Partial because it implements only what is possible with SPort. We sent a list to Bruce with the stuff that is missing.
    However, when we need something, we need it now. We can not wait for a committee and synch with release cycles of vendors.

  2. Rob Vens

    I did not try to point a finger at anyone in particular, Philippe, and I certainly am in a position to understand your need to move forward without having to wait for a committee. But in a sense your response perfectly illustrates the trap I write about. My attempt was to find a way out of this, and I would be very interested in your comments on that.

  3. Zork

    “base Smalltalk syntax and metalevel definitions, should be placed under the umbrella of a small, preferable community-driven, group. Squeak had this group for a while, Squeak Central, with recognised leaders like Alan Kay and Dan Ingalls. ”
    And have you check the state of Squeak. Take 3.8 and check the code?…
    “and this should have been a sign on the wall, STIC has been stubbornly ignored by the Smalltalk community as a whole ”
    Where was STIC since 1996?
    Never saw it doing soemthing…
    Now companies do what they can…
    Imagine Cincom led Eliot Miranda building a free fast Virtual Machine that will compete with them. Now if they would open-source VisualWorks we could kill all their competitors in one shot.

  4. Janko Mivšek

    I agree with your call for better unity and kind of leadership for a whole Smalltalk world and I think we the web guys from Seaside and Aida community are already slowly but surely pushing in that direction, by asking for better portability between dialects. There are also more and more commercial interests pushing that way too. Comparing to several years ago I see a progress here, kind of concertation, which is “automatic” and demand driven.
    About some small group driven concertation of Smalltalk world, well, this is harder to achieve and experiences from Squeak for instance are not very encouraging. Here a fork (Pharo) with a strong leader is actually doing a breakthrough out of kind of paralysis, also because Pharo is starting to attract others from Squeak community as well. I have a feeling that this push will at the end push a whole Smalltalk community forward and that’s good. Not to mention another push on VM front by Eliot Miranda and multi-core Smalltalk by Igor Stasenko, well, Smalltalk world seems actually wonderful in the future 🙂

  5. James Robertson

    If Cincom open sourced VW and/or ObjectStudio, we would be laying off the engineering team within a few months. I simply don’t see a business model that supports what we do coming out of a fully open source model.

  6. James Robertson

    Oh, and as to STIC: STIC is (or is not) what the community makes it. Right now, STIC has the resources to host Smalltalk Solutions annually. LOts of people complain about STIC, but nothing will change unless people become individual members and start contributing effort.

  7. James Robertson

    STIC is – or is not – what the community makes it. Right now, STIC has the resources to put on Smalltalk Solutions once a year. If you want to change that, join and start making noise.

  8. Rob Vens

    Please understand me correctly: I do not intend to devaluate or derogate STIC. I merely notice that STIC has been “consistently ignored”. I certainly do not consider that a good thing but a symptom of the Smalltalk Trap. This should change, surely, and I would like to invite a discussion on the how. I am afraid that “join and start making noise” may not work unless some other preconditions change, and I have made an attempt to analyse that in the article.

  9. Axel Rauschmayer

    I think Java succeeded, because it innovated as little as possible. When it came to syntax this was a bad idea, but when it came to the GUI (=Swing) it was (IMHO) a good thing. While I love a lot about Smalltalk, last I checked out Squeak I was really put off by the strange GUI (and, if I recall correctly, the lack of any kind of modularity construct). Thus, even though Squeak was great in a lot of ways, the GUI kept me from using it (let alone from making end users of my programs having to figure out the GUI). Even between Windows, Mac, and Linux, GUIs are fairly standardized and it would be great if Squeak could follow that standard.

Leave a Reply

Your email address will not be published. Required fields are marked *