One of the long-term plans I've had with MeTal was to build it as a replacement for the blog platform I'm currently using. A short-term aspect of that plan is to use MeTal to run one or more of the blogs I've already created, as soon as enough of the features are in place to take over the functionality of an existing site. The other day I merged a few more features that got me very close to that goal, at least as far as one of my sites is concerned.
The feature in question is a simple key/value system -- a way to assign arbitrary key/value pairs to objects like pages or media. A lot of functionality on one of my previous blogs revolved around having something like this, and I didn't really want to move things over to MeTal without having some way to emulate that behavior. (Associating Amazon products with blog posts, for instance, was done that way.)
Moving over the whole blog in question isn't practical yet. Rather, I'm trying to reconstruct it a feature at a time -- make this thing happen, then this, then this -- and once all the individual pieces are in place, then I'll attempt an actual migration of the data. I don't expect that to happen for a couple of months at the least, but the wheel has started to turn.
Many of the individual features I built into the system early, like the key/value system, are reflections of my own use case. I was conscious of that. I wanted something I could use to replace, as early as possible, my existing platform so I wouldn't have to continue to rely on something I knew full well was no longer being actively developed in the form I'd been using. I also knew this was potentially biasing, since it meant I'd be paying attention to features early on that other people might use only minimally, or not at all.
But I did try to bear in mind how my use case would not always be everyone else's use case. Some things specific to my own use case might eventually be spun off as plugins, like the transform-on-publish stuff I created to turn keywords into hotlinks. The key/value stuff isn't likely to be ripped out of core, though; it's too deeply rooted into how things work, and in my opinion too genuinely useful.
On the whole, I do want to follow the WordPress model of adding major, systematic features to core only gingerly and after great consideration. Right now, though, in the run-up towards something resembling a releasable product, I'm prepared to bend that rule if it lets me self-test all the faster.