Archive for February, 2009

The Hidden Costs of Content Management Systems

Wednesday, February 25th, 2009

So, a few days ago Clay Johnson over at Sunlight Labs stirred up a bit of a hornet’s nest with his post entitled Content Management Systems just don’t work.

Much of the response has come from Drupal/Wordpress/[other CMS] developers, and channels a few common threads:

1. But what if you just want a blog?
2. But you get lots of stuff for “free” (forums, etc.)
3. But look at [awesome NKOTB CMS] – it solves every problem you mention!

Well, yeah. If all you actually want is a blog, then just use a blog – Clay himself points out that Sunlight uses Wordpress (as does this blog). The argument is really directed at larger endeavors. If you really do just want a blog, or for that matter any specific feature that has a well-tested, well-maintained off-the-shelf implementation, then by all means just use that. But that’s not the point.

The point is that when deciding whether to: a) spend serious money in CMS customizations, or b) roll your own platform with the help of Django/Rails/[other framework], option (b) is a better choice in more situations than people think. Why? Because the decision to customize a CMS vs. building something “from scratch” is deceptive, since the “framework tax” of a CMS is more hidden than the obvious blank slate you get when working with a framework.

To use a slightly facile analogy, imagine you’re looking to build a house, and you have (because you’re really picky) very specific requirements. Let’s say that you find a house in a perfect location that’s almost what you’re looking for – you just need to add a third bedroom. In that case, adding on to the existing house might be considerably cheaper than building it from scratch.

But let’s imagine now that the house you found is actually nothing at all like the house you want, and you’ll have to raise the house on stilts, dig up the foundation, add a floor underneath, re-do all the plumbing and electricity and add an attic to fulfill your particular requirements. At that point, it’s highly likely that just building it from scratch will be cheaper than bending over backwards to reuse parts of the existing house – particularly if you can get many of the same components for free elsewhere (let’s say the neighbors are giving away perfect pre-fab kitchens that can be easily plugged in to any house).

Obviously the analogy has holes, and I’ve probably barred myself from the building industry for life, but the point stands – the cost of working within an existing product can be deceptive because the difficulties of working within its rules are less obvious than the missing parts on a blank slate.

It always looks like you’re getting all this stuff with an off-the-shelf CMS – “We won’t have to write any login code! Forums come pre-built! The widgets fidget all on their own! Hallelujah!” The trick is, though, that if you’re already having a conversation about the 10 different things you need to customize in your CMS to make it fit your workflow, there’s a good possibility that the stuff you’re getting for “free” will actually make it harder to do anything else. (And some of the pieces – like user management – are standard parts of most mainstream MVC-style frameworks as well).

Will the “anything else” be possible? Of course. Apparently there are at least two full-featured shopping cart Wordpress plugins. Hell, you can implement a C compiler as a Wordpress plugin. That doesn’t mean you should, and in fact implementing a C compiler as a Wordpress plugin would be considerably more effort (and probably produce a messier result) than just writing the damn thing from scratch.

As with everything else, you have to assess the individual situation and make informed choices. If an off-the-shelf CMS (or other product) really fits your requirements perfectly, then of course go for it. But if you’re going to be making a substantive investment in technology, because nothing quite fits your needs and you’ve made the decision that doing X is a worthwhile effort, remember that even the “free” pieces of a CMS impose a higher “developer tax” when extending the system.

RockOut – The First Virtual Guitar for Android

Tuesday, February 24th, 2009

rockout-screen-2-phone1Active Frequency LLC is proud to announce the release of RockOut, the first virtual guitar for Google Android phones like the T-Mobile G1. Just strum the onscreen guitar to play chords sampled from real guitars.

Read more about RockOut for Android…

Major Species of Autocompletes in the Web 2.0 Jungle

Monday, February 9th, 2009

“Autocomplete” is one of those words that modern web designers and programmers sometimes use and then wave their hands like that one word actually describes a complete user interaction without saying anything further: “They get to the message window, then there’s an autocomplete box.” But that’s actually a pretty broad category these days.

Polihood's message autocomplete

Polihood's message autocomplete - a Boxed Build-A-List.

There are a few distinct autocompleter mechanisms popular on the Web. While they look similar at first glance, their UI function is actually completely different, and they each meet totally different user interaction needs. Since there hasn’t been a lot of explicit talk about the differences in these types of autocompletes, it can be a source of confusion when the folks on a project have different assumptions. Make sure you’re on the same page as the other designers and/or programmers when you talk about autocompletes.

Here are the three main types of popular autocompleters:

(more…)