Tcl/Tk Conference, 1998

I just got back from the 1998 Tcl/Tk conference. I really enjoyed this year's conference. The mood was upbeat, a nice contrast to last year. Scriptics has just released TclPro, although I don't know how it's selling. We (me and Christopher) were in high spirits because we were able to demo Tycho (our research group's [incr Tcl] UI) driving Ptolemy II (our research group's simulator written in Java), on Windows NT. John Ousterhout has been successful in re-establishing his commitment to keeping the Tcl/Tk core free.

Here are some random notes taken from memory, and some personal observations.

Michael Johnson, Pixar

Michael was a great choice for keynote, as he showed some cool stuff that used Tcl under the hood, plus he's a cool guy and hung around for the whole conference and chatted with just about everybody.

A few random notes from his talk:

  1. Used Tcl for nine years, Tk less.
  2. Used for scripting visualization at Thinking Machines.
  3. Active messages, shipping code remotely.
  4. Variable tracing used for image notification.
  5. "Could never find a Scheme that would give me that" -- trying to use Scheme/Lisp as an embeddable language. Tcl "just kept working."
  6. Blurring/depth of field done using 800-pixel FFTs.
  7. Tcl/Tk used in all departments.
  8. Half to two-thirds of tools use Tk as the interface.
  9. Currently still using Tcl 7.4.

John Ousterhout, Scriptics

John gave us a run-down of Tcl/Tk and where he sees it going. Along the way he took votes to get an idea of various things, like who uses and who wants what. One surprise was that there was a lot of interest in the Tcl plug-in, as I (and apparently Scriptics) thought the plug-in was dying. Personally, I don't get it, but there you go, that's what people liked.

Some random notes made during the initial part of John's session:

  • Year in review
    • 8.0 final, 8.1 on hold
    • Tcl Consortium created (Michael McLennan)
    • Scriptics formed
    • Java support
    • [incr Tcl] 3.0
    • Open-source software becomes respectable
  • Current status
    • Unix is holding download volume, but losing market share to Windows.
    • Survey: only half downloads are from experts; 45% download because they read about it; primary use is company in 41% of cases.
    • Usage in "vertical" applications: Dynamic web content (AOL, Cnet, Travelocity, Vignette); finance (Wall St firms); Automated testing (Cisco, Motorola, Newbridge Networks), System management/factory automation (Nations bank, Motorola), EDA (Cadence, Synopys, Mentor, Analogy).
  • Scriptics
    • Founded January 1998
    • Half of Sun team, currently 14 people, expect 30 - 40 within a year
    • First product shipping: TclPro
    • Balance between open source and commercial development
    • Strategy: Phase I: meet needs of existing Tcl developers (horizontals); Phase II : Extend Tcl platform (verticals)
    • Linux support soon

Open source panel

The panel on Friday discussed the topic of open source. The panel was Jim Ingham, Mark Harrison, Brent Welch, and Dave Beazley. Michael McLennan moderated.

In a nutshell, Scriptics are planning to make the Tcl/Tk core sources available on a CVS repository. They haven't yet figured out how to merge changes and contributions from developers. Brent pointed out that the problem with many patches is that they aren't properly documented or tested, or they don't work on all the platforms, and that often the time taken to fix them is greater than what it would take to rewrite them. Jim Ingham explained some of the process at Cygnus, pointing out that returning a patch explaining what else needs to be done is in fact a great motivator to the developer community.

There were a lot of excellent suggestions made by the floor (which didn't include mine) on this and other issues that were raised. Unfortunately, I didn't take notes at the panel, as I got tired of lugging the laptop, and my memory and time are running out at this point. My apologies -- I'll think more about the panel later and add further notes. Perhaps Jeff or someone else who took notes during the panel will post them to the newsgroup.

The feeling that I took away from the panel is that although Tcl/Tk is "open source," the bazaar model is not going to be the chosen variant. Although the floor seemed to be genuinely interested in proposing solutions, the Scriptics response indicated to me that they are much more reserved about the bazaar style. I guess that's no surprise to anyone that has followed (say) the development of Itcl, and I don't think it's necessarily a bad thing. Apart from anything else, it may be that Tcl/Tk is just too mature to change models, but newer things (i.e. the Java part -- <hint>) might be able to. My take on the issue is that people working on extensions can (and should) adopt the bazaar model if they believe in it, but John controls the core.

Technical track

The technical track was really good this year. Lots of interesting and well-presented talks, with the "most-animated" award going to George Howlett. There were two Web applications sessions, one for client-side and one for server-side, and the Web theme ran strongly throughout the conference. Lee Bernhard gave a nice talk in the Object Technology session on distributed programming using Tcl, and there was a Tcl/CORBA paper in the Language Issues session (which I missed). A second theme that came through strongly was the use of Tcl for automated testing -- there was a whole session, and there were a number of people I talked to who used it for that purpose.

One of the things that struck me is that many enterprises are still using Tcl 7.4 or 7.6. I think this speaks strongly to the need to maintain backwards compatibility in future releases, and I sincerely hope that the Scriptics team noticed this. Incidentally, my port of 80k lines of Itcl to Itcl3.0 took me about two weeks, which is not happy work. I'm not complaining, as Itcl 3.0 is a great product, but hopefully the upheavals are basically over.

There were a couple of presentations related to Java. Mo De Jong gave an excellent presentation on TJMF, a Tcl interface to the Java Media Framework. Apart from being a good talk, he gave a lot of good reasons for taking the Java-Tcl issue seriously. Forrest Rouse gave a WIP (work-in-progress) presentation describing his work on having the ICE Tcl compiler emit Java byte-codes. Overall, there was some interest in the Java side of things but not as much as I thought there would be. (Read into that what you like :)

I gave my presentation on the Slate, which I split out of Tycho into a stand-alone distribution, and made it work with vanilla Tcl, for the purpose of this conference and making it more widely available in general. Following my usual "just-in-time" preparation style (aka "last-minute panic") I had the slides ready an hour before I was due to talk. I borrowed the term "mega-item" from an earlier talk, which I will work back into the code next time I get a chance. I was vaguely annoyed to discover the night before that 8.0.3 broke the plain vanilla version of the Slate, but I guess that's what you get for being clever with namespaces.

In the poster session, Patti Koenig from JPL described the Tcl-based language they use for describing and animating 3D scenes. In retrospect, I wish I had asked her if I could have the 3D Mars rock poster. De Clarke had the most elaborate poster I have ever seen, illustrating extensive use of the BLT graph widget for scientific visualization.

Tcl-Java tutorial and related developments

Christopher and I presented our Tcl and Java Programming tutorial on Tuesday, which was well-attended, with about 45 people. This was our first, and I was concerned that it was all a bit slow and dull, but several people remarked to me that they thought it interesting and well-paced, which is very pleasing. I wish I had been able to attend one of Michael McLennan's tutorials but we ran short of preparation time.

Brian Surles of Scriptics ran the Tcl-Java BOF. Ray Johnson and Scott Stanton of Scriptics were also there and fielded a lot of the questions. A lot of people are still trying to understand what they can and can't do with Tcl and Java, and in particular are interested in mixing them in a browser environment. We didn't have any particular good answers to these issues, partly because the technology is quite young and partly because the security needs of the browser environment make these kinds of things a lot more difficult. Still, I feel that a lot of good ideas and questions were generated, and hopefully the next year will see good progress and more clarity in the general area of Tcl and Java inter-operability.

Brian is setting up a CVS read-only repository on the Scriptics site and will probably be able to make write access available to selected developers. In my view this is an opportunity for those who care about the Java issue to positively influence the directions of Tcl Blend, Jacl, and the whole Java issue in general. I doubt there will be any major new projects or announcements, but now is an excellent time to explore the use of Tcl and Java and contribute code and/or experience reports.

Miscellaneous notes

Overall, an excellent conference. My faith in Tcl has been mostly restored by the positive events leading up to the conference (Itcl 3.0 mostly, plus new work on Tcl Blend, Itcl support in TclPro) and the conference itself. The Scriptics team are enthusiastic and committed and it was great to meet them there too. Plus we got free gins and tonic on the plane on the way home.

Other conference highlights: Michael and George's Tcl game show was a hoot. (Where can I get me some of those sideburns?) Michael received the Tcl Achievement Award -- well-deserved and loudly applauded. Three new T-shirts, which is two down on last year (I wanted a BLT shirt but since I don't use BLT I figured I didn't deserve one...), but I did get a OraTcl/SybTcl hat courtesy of Tom Poindexter. Although I wasn't particularly impressed by the cave-like atmosphere of the hotel rooms, the location of the conference rooms right on the water was unbeatable. Scriptics and Lucent supplied free alcohol and food, which is never a bad thing. And in general the schedule and organization of the conference were really well done. Bravo to Michael, Don, and the Usenix folks!

I believe the next conference is likely to be January 2000 because of Usenix scheduling constraints, "somewhere warm." Cool.

JohnR, September 21st, 1998