The Nesting Instinct

The thing that always strikes me when looking at new Tarski blogs is how different they all are. Everyone sets things up a different way, uses a different combination of header and style, includes different things in their sidebar. People love to personalise their spaces. I call it the nesting instinct.

The nesting instinct is a wonderful thing, because it means that no two sites will ever look exactly the same. We rely on visual differences to distinguish between places as much as we rely on the writing. The fact that the places we’re talking about are websites, not physical spaces, is irrelevant: the same truths apply whether we’re talking about a house or a blog.

Tarski includes a couple of innovative features—such as the constants file—to help people nest. That particular idea came about because I didn’t want to have to add our Mint code in every time we updated the theme (which, back then, was fairly regularly). Essentially, constants.php allows includes and personalisations to persist across upgrades. Usually, whenever someone hacks a theme to their taste, they then either have to re-hack it when a newer version comes out, or they have to forego the update. With Tarski, they don’t have to.

WordPress Widgets are another good way to create persistent customisation, especially given how similar most themes are in terms of layout. The fact that some of the code is less than wonderful doesn’t mean that the basic idea isn’t great. Our latest release includes widget support, but in some ways, it already did: Tarski comes with a customisable sidebar, with a number of options that you can include or leave out as you desire. Widgets are more flexible, more powerful, more extensible, and are cross-theme rather than limited to one, but nonetheless the basic idea is the same.

As you can no doubt tell, Chris and I are pretty happy with Tarski’s progress. It’s a lot more polished, as well as more feature-rich, than it was when we originally launched it. However, the most important lessons can be learned not from what we did, but why we did it. Theme authors need to consider not just the basics of how the design will work for readers, but how best to empower theme users.

Chris has written a piece very much along the same lines—we were discussing all this the other day—so you should go and read that too.

Last updated 13th Jan 2009


6 responses

I really enjoy Tarski, and thanks again for releasing it and working on developing it.

~ David

The idea behind the constants file is great, but it’d be much nicer to use the option management system that Wordpress provides, both because it’s easier on the user (they don’t have to dip into code unnecessarily); and the plugin can actively modify the old settings when it is upgraded (simplifying the management of new options for the programmer).

~ e

e, we added a constants.php in addition to the already extensive options Tarski offers to allow safe and secure integration of plugins with it.

While we could allow the user to insert PHP code in the Tarski options page and eval() it, that’d be a bit of a security risk. Far better to require FTP access to do that bit.

~ ceejayoz

I backported Tarski to wordpress 1.5.x sorta…
Not an easy task but a doable one nonetheless. I couldnt get your recent articles bit to work however, so I used a plugin for it.
Come check it out! :D

~ Vidar

Yeah, Chris pointed it out to me earlier. Nice work. :)

~ Benedict

I recently came across Tarski theme and felt surprised that I had not come across it earlier. Lot of people talk about K2 and the other customizable theme (forgot its name) but I had not heard of Tarski.
I just loved the theme. With a huge set of customisation features it is really cool.
Thanks a lot.

~ Rk