Mantissa 0.3.0 - Twisted on Tracks

Wednesday November 02, 2005
TracksDid you catch my reference to David Heinemeier Hansson in the previous article? It wasn't simply the unmasked, raw, hideous envy of his brilliant success - it was foreshadowing. That's because I am like a word ninja, assaulting you with various literary conventions.

You better watch out. I could, quite possibly, be on a rampage, what with all these releases, and writing about them.

I have been studying the new crop of web frameworks to see what the fuss is all about - watching screencasts, reading weblogs. At first I found the whole thing sort of boring. I could not understand what people got so excited about. I was over-focusing on the (rather boring) problem domain that all these frameworks attack - blogs, wikis, to-do lists and so on, and just not understanding why it was all so compelling.

This week I took a step back and realized it was not the product, but the process that made it so interesting. It's not that you're making a wiki - it's that it is so incredibly easy to make a wiki with TurboGears that, if you are already the sort of person who already finds wikis interesting and wants to explore the far-reaching problem domains associated with wikis, the ease with which you can sail past the easy stuff that everyone already agrees upon must be absolutely incredible. There are some really great lessons for framework developers that can be learned just by watching how these things are taught, rather than paying attention to what they actually do.

This release of Mantissa took the first small, but determined steps to make using Twisted, and the whole Divmod suite, more immediately approachable. There isn't any stub or automatic code generation happening yet, but we did improve the plug-in for the 'axiomatic' command-line tool quite a bit. Here is a screenshot - a pre-screencast, if you will:

That simple set of commands will create a database with a webserver, login system, an account for "admin@localhost" with a password of your choosing, a through-the-web interactive AJAX Python command line, and enough scaffolding at least on the database side for you to start deploying Mantissa plug-ins. Here's a peek:

Things will only improve from here on out.

I don't have any illusions that Mantissa will supplant TurboGears or Django or Rails or whatever as the tool du jour. We're not focused on wikis or blogs. We'll probably implement one, for integration between those features and the other stuff we're implementing, but it might still be harder to write a blog using Axiom and Mantissa than using one of the aforementioned tools.

Still, I guarantee it will be easier to make an Internet telephone service using Mantissa. Or, for that matter, a chat server that does IRC and Jabber. Or a clan server that controls instances of hl2 and quake4 multiplayer daemons.

I do certainly hope that we will get at least some press for our efforts, but to be honest the prospect of relative obscurity doesn't bother me. It might even be a sign of a good thing. It's similar to the bike shed problem: everybody knows how to build a bike shed, or a blog, so there's a huge demand for really good, really cheap tools to build them.

Still, dear reader, if you will permit me a moment of hubris as I labor down in the spice mines: somebody has to provide the power that those tools run on, so ultimately there's a demand for that nuclear power plant, too.

You see how I took that last bit into a comparison, without using 'like' or 'as'? Blam, it's a metaphor. Caught you by surprise there, didn't I! My writing technique is unstoppable.