Never attribute to malice that which is adequately explained by stupidity.
– Hanlon?
My PubSub vanity feed just uncovered this post. Aside from being a reply to my earlier post on StructuredBlogging, it also includes links to others commentators, and I got to learn what other people are thinking about the new initiate. I really like this way of carrying out an online conversation.
Anyway, the commentator (name please?) has asked that I take a more careful look at the output and notice the information that’s only available in the X-Subnode area. So I did just that, and that led me to this post.
What I found out is that the StructuredBlogging plug-in has incomplete support for Microformats. It seems to neglect the hCalendar URL property, which can point to the event URL. And for some reason it doesn’t use hCard to mark up the event location, even though that information is already available.
So what we’re seeing here is not a limitation of Microformats, as much as a bad implementation.
Which got me thinking …
Bottom’s Up or Down from the Top?
I tend to be more enthusiastic about bottom-up development. I’ve seen the benefits. I also like the fact that everyone gets to participate.
In bottom-up, you start with immediate value. You’re making something of use, and so you’re looking for the simplest way to deliver on that value. You’re focusing on how to get the benefit in the hands of people. And over time you repeat the cycle with more value, more features, larger community.
Bottom-up works for everybody’s benefit because of these two core principles:
- Focus on value. Only things that have obvious benefits raise to the top.
- Simple solutions. Value and simplicity make it possible for everyone to participate.
Say you’re adding value by letting me find reviews on other blogs, and let other people find reviews on my blog. I talked about it in the previous post, we need some structure to make it happen. Just enough. So you’re picking on an existing specification that simple and works.
Because you make it easy, people can jump in with plug-ins and mashups and greasemonkey scripts, all of a sudden we get all these new and interesting uses for that same data. It starts by being free, and now it’s even more useful than before.
I’m not as optimistic about top-down development, for two reasons.
Top-down development starts with an authority that knows how the world should operate, and so is better suited to make decisions on how to solve any given problem. Turns out, sometimes that authority is right, and sometimes that authority is wrong.
If you’re thinking top-down, you’ll want to start with some XML which is well structured, then throw in XML namespaces which are extensible, then describe it all with XML schema which is meta-data driven, maybe use some RDF for good measure. The nature of top-down development is that it tends to pick complex technologies intended to solve all future problems, even those that just don’t exist.
The other reason I don’t like top-down development: often complex technologies are chosen by established companies with the intent of increasing complexity. It’s not a design error, but part of the business model: make it hard on the competition, lock in the customers.
Profiting from user generated content is Web 2.0 colonialism.
Concluding Remarks
You may be wondering about the quote at the beginning of this post. When I inspected the output of the StructuredBlogging plug-in, I got the sense it supports just enough Microformats to look like it’s using them, but only enough of Microformats to not realize their full potential.
I can’t tell why the StructuredBlogging Microformats support is so lousy and incomplete. So I Googled that quote as a reminder that I should never attribute to a business model that which is adequately explained by developer error.