samedi 10 septembre 2005

Bringing back Bobo

Yeh, I'm committing a party foul by insisting on work to be done by others. That said, on with the infraction.

Since Zope 3's design inception, the landscape has changed a bit. The world isn't only about a leaner-meaner J2EE. Rails, Django, and friends have launched a new meme into mindshare space, and lots of virtual ink has gone to discussing this.

How can Zope 3 position itself in such a space? Well, the good news is that, well, there's good news available. Quite exciting news, IMO. Namely, a Zope 3 version of Bobo, the set of ideas Jim first came up with years ago, before Zope, which are yet to be done well in other systems.

Bobo turned HTTP into a system for publishing Python objects on the web. With Bobo, you could deal with Python structures almost directly and get an immediate win with very little new stuff to learn. Bobo then had facilities for some of the things wanted from an app server (like, say, security) as you chose to invest more. Sounds suspiciously like the hub-bub of 2005.

I'm not saying anything new here. Jim knows this and has already done much of the work. Amos knows it and so does Philipp (search for Bobo in the chat log text). I haven't followed the conversation deeply, but I have a hunch that Jim's work could be a home run for Zope 3.

Why? Imagine something that was even easier than other approaches and more language-centric. Yet, also gave a longer-tail of a pluggable component architecture for big systems with lots of configurable add-ons, if you choose to continuing investing in the learning process.

What's needed to capitalize on this? IMO:

  1. Storytelling. Rails might or might not be revolutionary technology. But what pushed it over the top was that 10 minute movie on writing an app. More specifically, the attitude and, well, empathy they took to produce that movie and the other artifacts, like sexy sample applications. Great technology that's poorly communicated will lose every time to good storytelling.
  2. Finishing. Jim shouldn't have to do everything. I'm just guessing, but I suspect that the bobo branch is far enough along that Jim's active development isn't required. Others who care about this meme could jump in. In fact, having other viewpoints might help refine the Bobo idea of approachability.
  3. Python folks. A Bobo 3 could be attractive to Python folks that haven't drunk the Zope kool-aid. However, there are lots of projects making that claim. If we want the Python community, it takes more than just leaving code on the doorstep. We need to invite them in, listen, and hang out a bit. Social stuff.

Anyway, I'll close by repeating my self-admonishment. It's wrong for me to preach when I can't volunteer. (Well, I can on storytelling, but not until there's a story ready to tell.) Still, even though it's bad form to ask others to work on something, I can't help but think there's a cool opportunity here. IMO, Bobo could help Zope 3 adoption more than nearly anything else that I've seen.

Well, crap, here goes. I volunteer to help. If someone takes up the Bobo cause, I'll do something as good or better than this, which is better than the existing "getting started" entry points on zope.org. I'll also do a demo movie.
12:34:08 PM   comment []