Tim Bray at CanHEIT

I went to see Tim Bray talk at CanHEIT this morning.  I really enjoyed the talk, though I missed the first two or three minutes as he seems to have started fifteen minutes before his scheduled time.  I’ve never had a chance to see him speak before and I was not disappointed.  I’ll try to hit the high points, though I’m sure I’ll miss some stuff.

The talk was, more or less, a survey of the state of web application development from his point of view.  He talked about the rise of Ruby/Rails and how Java/C#/etc., seem to have levelled off in terms of growth.  He spent quite a bit of time talking about the aspects of web app development that he considers to be most important in terms of being able to successfully scale up and out.  From his point of view, some of the high points are…

  • Time to market - doesn’t matter if your app is slightly better if I already have all the users by the time you ship. This, of course, is why Rails is so hugely popular.
  • Observability - if you are successful, you will inevitably run into scaling issues at some point and you’re going to need to peer in and see what’s going on.  Sun has been doing a lot of work on this front in Solaris with their dTrace stuff.
  • Shared-nothing-architecture - Tim said PHP really pushed this as it was the first framework that, by default, was shared nothing.  I can’t comment as my PHP experience came long after my experience in the Microsoft web app world in the late ’90s and, by that time, I’d learned this lesson the hard way.  Speaking of which, the next iteration of my product’s service is nearly shared-nothing (save the database) and the thing just screams in comparison to the previous stateful design.

One side point that he made was that testing is still an unsolved problem.  In his opinion, we are headed in the right direction but we still have a long way to go in terms of this aspect of software development in comparison to other aspects.  As someone who struggles with this on a regular basis I couldn’t agree more.  I wish there had been more time to discuss this.

During a break and also during lunch I had some opportunities to speak to other conference attendees about the talk and reactions were mixed.  A large proportion of the folks in attendance are not software developers and the general consensus is that they just didn’t get it.  One of the problems with being a big shot like Tim is that you get the big timeslot in the morning where they don’t schedule anything else and everyone goes to the same talk.  I think it might have been more effective if there had been a competing talk for the IT management types to go to.  Or maybe they just didn’t try hard enough to understand what they were seeing.  Or something.

The other feedback I got was that people were a little afraid that Tim’s worldview is a little biased.  Surely he pushed Java/Ruby (Sun, after all, was sponsoring the talk), but I think it is ironic that folks thought of him as a mouthpiece for a vendor.  This guy has done more for cross-platform interop than almost anyone out there (hellooo, XML anyone???).  Some of this was also coming from his strong belief in REST, which I completely agree with.  Unfortunately, I think the rank and file are a bit behind the curve on this one.  In fact, I don’t personally know that many folks that have spent any time thinking about scaling in the same way as Tim et al., let alone REST.  The official-speak coming out from the vendors has been WS-* for a long time and many folks still believe it.

After the talk I had a quick chat with Tim where we talked about Atom and blogging clients.  I mentioned that I use Windows Live Writer which (soon, hopefully) will be a proper APP client.  He mentioned that at the recent Atompub Interop event at Google, the scripting guys would break, change a bit of code, and try again, while the Microsoft guys would break, change a bit of code, recompile the world, and try again.  I often wonder how much this compilation tax slows us down.

29 May, 2007 (15:57) | Tech

Write a comment