Time for an update on MeTal, my blogging system — a replacement for Movable Type and an alternative to WordPress. The project started early this year to give me someplace to go with this site and the others I run, now that MT is no longer open source (and because I'm really not much of a Perl, WordPress, or PHP fan).
What we have so far: The core create/edit/publish cycle works. You can see a small test site I created — nothing too impressive yet, but that has less to do with the program itself than the templates I'm using to generate the site with it. Those templates are being kept deliberately lean for the time being so I don't give myself more work to do than I really need, but we can get a basic blog running and keep it updated. That by itself is a heck of an achievement.
Also working are a host of auxiliary features: image/media management, tagging, and a hierarchical key/value store for the sake of allowing objects to be assigned metadata. We also have plugins, something I was determined to build into the system right from the git-go.
What still remains: A bunch of things, at least before I can lay claim to making the results useful to others. Useful templates, obviously, but also the installer (it still bombs under certain conditions), and many of the internal management functions are far from complete. I also have no test suite, a major failing on my part — it's always harder to write those things after the fact than before — and there is no documentation, either. (That will also be fixed in time. Honest.)
What I'd like to add eventually: Support for things like databaseless use — e.g., you point it at a directory full of Markdown files and it'll just process that without any additional foofaraw. (This is apparently a handy thing to have for people who don't want to bother with the more top-heavy aspects of blogging.)
My timeframe is to have enough working to make it suitable for extremely rudimentary production work by the end of the year. From that point to 1.0, there will be no new features per se, but all the existing bugs and quirks will be closed, and the project will make progress towards being a consumable product instead of just a project. If me and a couple of other people get good use out of it, great, but I do want to make it something that I myself can consume without feeling like I'm fighting with the whole time.
Software development is humbling work, but I suspect it was not meant to be anything else — at least when you're talking about making something non-trivial. If you aren't frowning and wondering and tearing your hair out, you're probably not pushing any envelopes for yourself.
Finally, some screenshots! Note that all of this is still in flux — e.g., the placement of elements, or the variables available in templates, are all likely to get cleaned up a great deal as I use the program more for my own work.
Other Lives Of The Mind