Did 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.