Evolution of WordPress Posts

A post is a post!

Of course?

Of course!

…except when it’s 2010 and according to the internet a post could be just about anything that requires the act of ‘posting’ something. I mean, I post to my WordPress blogs, my Twitter stream, my FaceBook wall, my BuddyPress Activity streams, and bbPress topics. I post things on Ebay, Craigslist, and Autotrader. I am constantly posting responses to Trac tickets, bbPress topics, and WordPress blog posts.

These are all posts, but the main differences are human intent and informational context. If I waved my hand in the air and proclaimed to you “I am going to post on the internet today,” aside from me looking like a complete moron, you wouldn’t have any idea what I was posting, where to find it, or if you actually DID find it because I haven’t provided any hints or clues to guide you.

WordPress uses the word ‘post’ just as ambiguously as people do, because it does a good job at working how people naturally work. A post is whatever you make it out to be, and all of the little things that WordPress does are in an attempt to provide multiple dimensions of context.

Originally there were categories, and they were great. Standard; but pretty great anyhow. Like good little creatives, we were able to group our musings into their hierarchical homes so that we could start relating them to each other in a logical way. This obviously wasn’t an Earth shattering feature, but it broke us out of the structured and linear data arrangements we were used to.

In WordPress 2.0, post types were used to provide context to media attachments. This was huge as it allowed for images, videos, and music to have their own ‘sub-post’ permalinks and comment streams.

In WordPress 2.3 came tag support, and these were a little confusing to people at first (sometimes they still are!) but never-the-less a very welcome relative to categories. I think of tags as the light-hearted little brother to categories. Categories are methodical, organized, and structured; Tags are perfectly fine floating around in a cloud, daddy-o. Basically, tags offered up a more casual way to relate these otherwise arbitrary posts to each other without requiring us to think about how a tree of categories might be affected.

Even with tags and categories we still struggled with context, and along with improved tag support WordPress 2.5 brought an under-the-hood transition into using categories and tags as part of a larger internal taxonomy API. This was great for developers as it allowed for almost unlimited arrangements of post data… Well, blog post data anyhow.

In the next versions of WordPress, the core team focused on fleshing out the ‘post type’ system that eventually evolved into what we now refer to as Custom Post Types in WordPress 3.0. Even before 3.0 launched there was discussion about ‘post types’ being an inaccurate description and ‘content types’ being more fitting. The word ‘post’ has become so synonymous with ambiguous internet content that I find myself using the references interchangeably depending on my audience.

You’d think by now we would have explored every kind of data management and post context imaginable within WordPress. We have categories, tags, taxonomies, posts, pages, attachments, revisions, and completely custom post types; and yet there’s still something missing.

The next major version of WordPress (3.1) is going to introduce something that has its roots in the P2 theme developed by Automattic, called a ‘post format‘ that aims to assist in providing visual context to an existing data source. Using the rock solid taxonomy API introduced years ago, post formats provide themes a unified method of presenting eight different kinds of content: blog, aside, chat, gallery, image, link, quote, and video.

Post formats are NOT about adding another unlimited dimension of data storage; they are about committing to a proven method for microblogging, to help guide theme designers and developers into a standardized and core supported method for providing real context to blog posts that is unrelated to categories or tags. From what I understand, post formats will be ‘opt-in’ meaning that individual themes will need to tell WordPress which formats they are built to handle, but I haven’t actually tried that out with code to verify yet. Check out Mark Jaquith’s explanation of Post Formats for more info.

I think post formats are the best solution to the ‘ambiguous post’ problem I’ve been talking about. WordPress and the countless developers that have helped make it so awesome have spent the greater portion of 5 years coming up with flexible and limitless ways to store and retrieve ‘posts,’ and post formats mark the beginning of internally using those robust API’s to concentrate on standardized content presentation.

As a general disclaimer, it’s possible I could be wrong about post formats and the intentions of everyone involved in creating them. I haven’t been involved in the process other than watching the development unfold. They could be for something totally and completely different than the way I am imagining using them. If I am, hopefully someone will chime in. 🙂

Anyhow… As you can see, WordPress posts have been through a pretty amazing journey over the years. In the future I hope to see some really creative uses for the new post formats and can’t wait to see what theme designers come up with.