With the release of WordPress 3.0, the multisite functionality of WPMU was rolled into the main WordPress codebase. Before this, I hadn’t done any work with WPMU, so I was utterly dumbfounded to discover that when adding a new site to a WordPress network, WordPress adds another set of tables for each blog. That’s right. Rather than doing what you or I would do – adding a blog_id field to the existing tables – it creates an unwieldy mess of tables. As an example, one site I’ve been developing currently has 32 blogs, which all together add up to an astonishing 318 tables.
If you’ve never read The Daily WTF, it’s a fantastic site run by Alex Papadimoulis highlighting the horrors that readers have found and submitted in real production code. Reading it is a heady blend of “oops, I used to do that” mixed with some absolutely abysmal stuff that you’d swear couldn’t possibly be real.
I’ve been thinking a lot about interface design recently. Around client projects, I’ve been working on a premium WordPress theme called Bauhaus, which I’ll shortly be releasing on ThemeForest. I’ve spent a lot of time wrangling options in the WordPress admin interface, done a lot of research across the web and I’ve come to a startling conclusion: a lot of people are doing interface design wrong.
Twitter is rolling out a new UI for its web client, and I think they’ve got it right. 78% of users are using the website to post and read tweets, and the updated interface incorporates a lot of features previously only available in third-party clients.
After you’ve been working with code for a while, source control is a godsend. It provides a way of tracking changes, prevents conflicts and generally saves your bacon. Here’s how to set it up on Windows 7.
I’ve noticed a disturbing trend recently in small business startups, especially those started by young people. A lot of these entrepreneurs, when launching their businesses, are jumping on the social networking bandwagon and using a Facebook or MySpace page instead of a traditional website. It could be because it’s a natural extension from the tools they’re used to in their personal lives or because it’s self-service and can be live in minutes, but I’m here to say they’re doing it wrong. Here’s why.
We’re used to using browser sniffing to work around incompatibilities, to serve different stylesheets or scripts to different User-Agents with different capabilities. Of course, that approach has fallen by the wayside in recent times, with best practice now dictating that we test for capabilities rather than browser/OS combinations in our rich UIs.
It’s been a while since I’ve posted, so I thought I’d jot down a couple of ways Apache and mod_rewrite can save your life. Not literally of course, unless your website’s been linked to your life-support system by a crazed psychopath – but it should make your readers’ lives easier. Isn’t that what we’re supposed to be doing here?
Acronyms are everywhere, especially on the Web where technical terms ((X)HTML, CSS, PHP) rub shoulders with shorthand figures of speech (IMHO). In fact, the profusion of acronyms has given rise to a self-referencing acronym of its own – TLA.