On and off I've mentioned a project codenamed "MeTal" (real name TBA*), the replacement I'm brewing for Movable Type for use here and elsewhere. The goal was, and is, to create a blogging/CMS system with the following requirements (listed here in no particular order):
- Pure Python and HTML5. No PHP, no Flash front-ends, no platform-specific binaries.
- Support for multiple blogs and sites within the same installation.
- Workflow tools (e.g., page-locking).
- A full GUI a la WordPress or Movable Type, but also a command-line incarnation so those who like to simply pipe in Markdown files can do so.
- Live preview of themes and articles, a la WordPress.
- Categories and tags.
- Full-text search for the database.
- Media management, optional but not required.
- Elegant installer / updater.
- A plugin architecture so that the base can be expanded upon elegantly, and where
- Good security practices throughout (use of an ORM for databases, unsafe-by-default assumptions re: templates, etc.)
According to my personal Git archive, the first formal commit for the project was on February 11th. Since then, I've managed to build a little more than half of the actual features listed above, as opposed to just fulfillment of general requirements. Most of the pace of the project is dictated by the fact that I'm doing it in between and on top of other things, but my goal is to have something I can give to people to use, not just beta-test under controlled conditions, by the end of the year.
Those who use a software package to do blogging, as opposed to a service, are opting for WordPress almost inevitably, and I don't blame them — it's a great program with tons of third-party support, loads of gorgeous and flexible themes, etc. But there are many design decisions that I can't get behind — the near-total lack of static publishing support, for instance. The more I see how WordPress's development is guided, the less I want to try and build anything with it or on top of it — and the more motivated I am to build something of my own that stands in contrast to it.
I don't try to think too much about how I should have started this project three or four years ago, back when something of this kind might have had more of a chance of getting some uptake. I doubt anyone beyond me and maybe a tiny cadre of people will ever use it; the ones really serious about doing their own thing with blogging are already settled with products like Nikola. Part of me regrets not taking an existing solution and attempting to build on top of it, but I've always felt uncomfortable doing that for reasons I can't properly put into words; I wanted something where I could build as many of the things I wanted into it as close to the core as possible. Granted, I used someone else's ORM and someone else's Web framework (Peewee and Bottle, respectively), but the rest of it was going to be my thing one way or another.
I know I'm stubborn, and possibly foolish; it's something I've seen manifest in many different respects. Rather than struggle with the odds of trying to sell some publisher on my books, I elected to put them out there on my own, knowing full well it would mean minimal exposure and no way to benefit from the publicity machines that publishers have at their beck and call. Likewise, building a solution like this from scratch would mean I could not count on someone else to bail me out if it failed (although, in theory, if I find the whole thing completely untenable, I could always export to WordPress and be done with it). But somehow, there's a satisfaction I get in knowing I've chosen my own path that I don't get from any other place.
* little Steins;Gate joke for you there