inessential by Brent Simmons

More about standard weblog features

I wrote yesterday about the idea of standard weblog features. Today I’m going to refine and explain the idea.

First thing you should know is that I expect that pretty much no one will agree with me. That’s fine—but I still have to write this up, since I’ve been working with lots of different systems in the course of developing MarsEdit, and it would be wrong if I kept this experience and my thoughts to myself.

Writing should be easier

Weblogs are very important to the future of the web. Syndication standards have already revolutionized how people read weblogs.

But writing is another thing. We haven’t made that easy yet—and, I argue, it’s not for lack of good plumbing (XML-RPC, Atom, etc.) but because we don’t have a good common set of features.

A common set of features will make tools for writing better.

Lowest common denominator

Right now the common denominator is just the body of an entry. You could write a universal weblog editor that only supported that much. But people want to set categories, trackbacks, and so on too.

Better common denominator

What if, instead, there was an agreed-upon basic set of features that every system had beyond just the body text?

That’s not to say systems couldn’t have more features—and of course they could compete on support, performance, hosting, and a bunch of other things.

But I argue that there are some features where we actually know how they should be done, and there’s no reason for different systems to work differently. There’s no competitive value, no differentiation value.

Take categories as an example. Categories are supported in various ways—and each one requires a different user interface in the writing tool.

1. No categories.

2. Only one category.

3. Multiple categories.

4. Multiple categories plus a primary category.

Why not just go with #4 in all weblog systems? After all, we know a few things—we know that people like categories. They like multiple categories. They like primary categories. We also know that people who don’t care about categories can ignore them.

Another example might be text filters. We know that Markdown and Textile and similar are wildly popular. If your system doesn’t support these, it should, and it should do so on a per-post basis, since we know that people like that flexibility.

Or take trackbacks. Every system should be capable of sending trackbacks. People like the feature. It’s an idea that has already survived the Darwinian process and so it should be a no-brainer. (And, again, people who don’t like it can ignore it.)

There’s an entire list of features like this that are just, simply, things every system should have and should do the same way. There’s no value in not having them or doing them differently—and there’s a big value in agreeing to them.

To reiterate

I’m talking about a core set of features, a better common denominator than what we have now.

A bunch of features have already been tested in the marketplace, and we know which ones have stuck.

That’s not to say that systems couldn’t compete on additional features (and a bunch of other things), but that we can raise the common denominator so that better writing tools are possible.

And, later, we can raise it again, as new features stick and become, hopefully, widely adopted.

My own self-interest

I’m arguing against my own self-interest here, in a way. After all, I’ve already done the work in my software—I’ve written the code to generate different user interfaces for different systems.

The current situation means the barrier to entry is rather high for any developer that wants to create a desktop weblog editor that works for lots of different systems. And that high barrier protects my investment.

But that barrier to entry is against the interests of the weblog world as a whole, and I’d rather align myself with the interests of the entire community.


Are weblog systems a central piece of web infrastructure, or just something off to the side?

Even though they’re applications built on top of other standards (HTTP, HTML, and XML), I argue that they have become central, and we should be talking about a standard core set of common features.

And I think syndication is just half the job: the easy half.