Populate Your Searchbox With Randomness

On the side, I help run a danish Wiki about comicbooks. I recently implemented a script that’ll show random search suggestions in the searchbox. Quite simply, whenever a page is loaded, the searchbox is pre-populated with a random search suggestion.

Here’s the code, modified to work with most WordPress themes:


Put the above code in your templates.

WordPress, Habari And The iPhone

Not two days ago, I hurled myself into the fray once more, discussing usability with the WordPress developers. The topic of discussion was a recently unveiled demo site showing off work being done to improve the backend design for the next version.

I do usability reviews for a living. Among other things, I’ve worked with LEGO on Mindstorms. I’ve been through the motions for years now, and I’ve learned to avoid a few common pitfalls in the process. The great thing about usability is that it empowers products. You might have an incredible product that won’t sell because it’s not user friendly. Then you have a bad product that succeeds against all odds because it’s easy to use. Finally you have the cream of the crop that’s both. Compare it to cell phones; there’s the feature-laden but ultimately complex LG or Siemens phone, there’s the trusty old boring but simple Nokia 3310 and then there’s the iPhone. Do you think the iPhone would have succeeded, was it not for it’s delicious user friendly interface? Me either.

I love WordPress. I think it’s a fantastic piece of free blogging software that does so much more than just blogging. It’s extensible and has a great support community. But do not mistake love of a product with mute obedience; I’ve said it countless times: I criticize because I love. And with WordPress, there’s a whole heap of moronic usability decisions to tackle and ridicule. That’s right, ridicule. I don’t remember anyone, ever, saying “wow that was quick” about anything other than the WordPress install process and even that could be changed from “quick” to “quick and pleasant”1.

It’s now 2008. Let’s go back in time to an article I wrote in August 2004:

The priority recipe for most commercial pieces of software is the following:

  1. Build the best product ever
  2. Profit!

In comparison, the recipe for most open source projects only include the first of these priorities—the product.

Now, 4 years later, I’m unsure whether I was right or wrong; WordPress does have a “profit” element today. It’s called WordPress.com. Don’t get me wrong, I’m no longer blind sighted by open source idealism: I do think that profit is a good thing, it works for Firefox. The problem is, it doesn’t seem to have mattered in the case of WordPress. Writing a post or creating a page is still akin to solving an enigma hidden in a maze, wrapped in the same tough plastic that CDs come in. That means it’s tedious and overly complex. Profit, apparently, made no difference. Then again, that’s why the iPhone can enter a market that’s otherwise so heavily dominated by Nokia and Sony Ericsson.

We come now to the crux of this story. I examined the nightly-build demo site and decided to give what advice I could muster. I wrote a quick usability review and submitted it to the discussion. I tried to do this before, via more official channels. Being part of a so-called “Shuttle” project2, I joined forces with several others in advising the WordPress team. It was a miserable failure and the end result was a bluish bastard child appearing in WordPress 2.0. Months of work from a team of several was hacked to pieces and implemented in what looked like a completely ad-hoc process. Naturally the end result, from which WordPress 2.3 is still reeling, wasn’t very user-friendly at all.

What I see on the demo site may be a “work in progress”, in fact that’s the main counter argument, but there’s a real problem with that. It’s not that I mind baby blue and curry red. The problem is that a usability-work-in-progress doesn’t look like that, that there is a “live redesign”3—at best. Usability is not achieved thusly. Usability is a process that starts with identifying user tasks and then moves on to visualizing those tasks either with pen and paper, faux screenshots or actual prototypes in Flash or what have you. Personally I’d find it a striking waste of time to jump right in, pick some colors and start playing. Usability is not a Jackson Pollock painting.

You’d think that would scare me from ever trying to advise the WordPress team again. No. Despite all my misgivings, WordPress is still the best blogging tool out there. It is no coincidence that it’s beaten Movable Type to such a pulp as to have them finally open source. Imagine where WordPress could have been today, had they just focused on usability? Habari, probably wouldn’t have existed. Habari is an open source alternative to WordPress that’s slowly gaining traction. It’s built ground-up for “todays bloggers”, and it is built primarily by talented ex-Wordpress developers. Perhaps it’s not quite an alternative to WordPress just yet, but unless WordPress ramps up, it might become the iPhone of blogging. Both WordPress and Habari blog, but one does it deliciously and with a sprinkle of user friendliness.

You can download the review in PDF format. Even if the nightly build has moved on from the screenshots in the review, I’d wager the advice is still useful.

  1. In case you were wondering how this could be done, my advice would be add an install-script that asked for database information instead of asking users to enter information in a cryptic looking text-file.  
  2. I have a Shuttle screenshot gallery available, should you be interested.  
  3. “Live redesign” is the web 2.0 term for “Under construction”. It means redesigning your website, aimlessly, while users can watch you work.  

WordPress Feed Templates

Inspired by Grubers new RSS feeds, I’ve been meaning to add a small heart icon in my RSS feed, right next to full posts (such as this). Easy peasy right?

Well, yes and no. Gruber uses MT, which I remember has a special template for the feeds. WordPress, does not. In WordPress you have to edit a core file called wp-rss2.php, a file that’ll easily be overwritten in an upgrade. In other words, having a template for the look of your feeds means upgrading will be easier.

Good idea? I think so. Apparently enough people think so too, that a patch has been made, which when applied will allow you to create custom feed templates right in your theme directory. As far as I can see, it’s an obsolete patch with newer versions of WordPress. Too bad it’s not already part of WordPress.

WordPress 2.3 Brings Tidings Of Taxonomy

WordPress 2.3 codename Dexter has just arrived. Among the notable new features are a minimalistic built-in tagging support system and an update notification function for WordPress, themes and plugins. I have just upgraded the Fauna theme to fix stuff that broke in the upgrade and add support for the new tagging features. On that note, we’re only a few end-user tests away from a final release!

This Noscope of mine will follow in the not so distant future, perhaps coinciding with a mini-redesign I have in the pipeline (one that makes me very proud, even loaded with AJAX!).

Have you upgraded (you may want to prepare)? Do you plan to in the near future? Any experience converting Ultimate Tag Warrior tags to the WordPress tags?

The WordPress Database vs. The Internet

There’s a story on Digg about WordPress. Completely unrelated to the contents of the article, one commenter had this to say:

too bad no one ever sees wordpress themes because the sites go down after five diggs

Dong. That’s the sound of the “I think so too-bell ringing. It’s always the database server that chokes with an error message that’s as welcome as Bush trying to be funny. The author of WordPress claims things are dandy if you install WP Cache caching plugin.

I’ve met the chap, he’s bright. He might be right and maybe if WP-Cache worked for me I wouldn’t be writing this. Maybe if everyone used WP Cache, funny and sad comments like the afore-mentioned digg related one would be as plentiful as good Uwe Boll movies. That is, not.

Maybe if a caching mechanism was built-in to WordPress, I wouldn’t be citing bad metaphors.

Your experience? Butterflies and milk and honey?

WP-Cache Not Clearing When Comments Are Posted! Anyone Else Experiencing This?

I have struggled with this for so long now, and I cannot for the life of me figure out what the problem is. So I turn to you, dear reader. In order to take off some of the load on my database server, I’m using the excellent WP-Cache plugin. The plugin automatically writes static HTML files to the server, serving these to visitors instead of asking the database for a fresh copy every time. The cache is supposed to be purged whenever someone posts a comment.

Except, this doesn’t work for me. I have scoured the web, including the WordPress forums. People seem to have all sorts of problems, some have even created plugins to purge the cache when the admin loads. Am I missing something? Isn’t WP-Cache supposed to purge the static files when content is updated? And if not, shouldn’t there at least be an option to tell it to do so?