January 25, 2011

Post Formats, is this really a good idea?

WordPress 3.1 doesn’t just add an admin bar, among the new features are also Post Formats. This is basically a new way to sort content and it does indeed solve a lot of small problems. The Post Formats are:

  • aside (for short asides)
  • gallery (for post being just galleries)
  • link (for post that are really links elsewhere)
  • image (for posts that are really images)
  • quote (for quotations)
  • status (for short status updates)
  • video (for posts that are really video embeds)
  • audio (for posts that are really audio)
  • chat (for chat transcripts)

Now, obviously you can have anything in any post with any Post Format. They are meant for the things above (sort of, I’ve kept it simple), but you’re not limited to it. This is your content.

Assuming you’ve got Post Formats activated in your theme, you’ve got a box called Format under your Publish box in the Edit Post screen in WordPress admin. There you pick from the Post Formats that are active, as well as the Standard one which is what we’ve been using all these years, to put it simply.

The functionality is easy enough to work with. You can do conditional tag checks for what Post Format it is, and you can style it with CSS thanks to logical CSS classes added by the post_class() template tag. I’m using it here on TDH.me for asides (and more, soon), being the short posts without a title on the front page. Before we did the same thing with a separate category, a custom field, or even by adding a taxonomy. In that sense, Post Formats are a great addition to WordPress. After all, it means that we can basically build our WordPress sites looking like Tumblr if we want to. Sweet huh?

So what’s the problem?

My main gripe with Post Formats is that it is limited to the ones listed above. Technically you can add your own formats without much hassle, but the developers doesn’t want you to. This is from the Codex page, a good source for more information on how to use Post Formats:

The Post Formats feature provides a standardized list of formats that are available to all themes that support the feature. Themes are not required to support every format on the list. New formats cannot be introduced by themes nor even plugins. The standardization of this list provides both compatibility between numerous themes and an avenue for external blogging tools to access to this feature in a consistent fashion.

Highlighting by yours truly. Now, you can add new Post Formats if you like to, the developers just don’t want you to.

I get why, in fact it is stated in plain English above. The idea is to stick to a standardized set of Post Formats to make sure that themes and plugins can support it in a wider range in the future.

But what if you need an additional post format? Just add it using a custom field, your own taxonomy, use a category, or any other solution that worked so well in the past, right?

You could do that, but it is poor design.

Think about it. You’ve got your users managing asides and galleries and whatnot in the Format box. But your custom format won’t be there since the WordPress developers disagrees with this practice, meaning that the end user will have to do what should be similar things in two different ways.

That’s not good. That’s bad design.

I don’t hate Post Formats

Don’t get me wrong here, I think Post Formats are a great idea. I’m using them here, I’ll be releasing a theme utilizing them all, and it is pretty nifty all in all. I understand the standardization thought, but I disagree with it.

Here’s my suggestions:

  • Have a set of official Post Formats, and communicate these.
  • Let theme and plugin developers add additional Post Formats easily.

It’s really pretty simple, and all we – and by we I mean all of us working with and developing for WordPress – have to do is clearly communicate when we’re stepping outside of the official set of Post Formats so that users know what will possibly misbehave when they change their themes.

Leave it to us, dear developers, rather than deciding this for us. Isn’t that the WordPress way, after all?

Thoughts? Let @tdh know on Twitter, or find me elsewhere.