Category Archives: WordPress

About.com switching to WordPress

Sheila Coggins just published an interview with me on About.com Weblogs, which came out fairly well and talks a little bit about new efforts like WordPress.com.

The timing for the interview couldn’t be better. As people watching closely may have already started to notice, About.com has begun switching their sites over to WordPress from Movable Type. They’ve been doing it quietly and one-by-one for at least month now, you can see WP in action on Weblogs, Baby Parenting, entrepreneur, US politics, and many more. They’ve integrated it so tightly with their system most of the usual signs of a WP blog aren’t there, but the dead giveaway is the comments. In fact none of their older blogs seem to have comments enabled, just the upgraded WP ones.

About.com isn’t very “2.0” hip but they are still get some of the highest traffic on the web, easily within the top 50 sites in the world. From what I understand they haven’t made any changes to the core code, all of their customizations have been through plugins. They’re also looking at bringing a WP “powered by” link to the pages. (Which, as noted in the previous entry, is completely optional.) I’m very glad About has found a platform that will grow with them. 🙂

The good news keeps coming in.

German Focus

So the next trip to Europe I’ll have to catch the Netherlands and Germany, I’ve met some fantastic WordPress users (and future users) from both. There is someone on stage from a German media organization talking about how they’ve begun emphasizing blogs much more in their publication, Focus. After browsing a bit I noticed that blogs.focus.msn.de (yes that’s MSN) is all WordPress blogs — cool! What’s interesting about being Open Source is that the software turns up places you would never suspect or know about.

Yahoo on WordPress

Stephen Steele (is that a real name?) just wrote in that the new Yahoo Mail updates blog is on WordPress. As far as I know this is the first official Yahoo blog on WP I’ve seen. What makes it really interesting is it’s the first time I’ve seen third-party software (like WordPress) on the yahoo.com domain. You’ll notice every time they’ve done blogs before it’s been on a different domain like yahoo.net or ysearchblog.com, I imagine because of the incredibly strict security requirements anything with access to Yahoo.com cookies must meet. This is very exciting news. 🙂

Should We Have Hidden Options?

Alex King has recently suggested that we have an about:config for WordPress. When I first thought this I thought “great!” because we’ve had this for several versions now: if you browse to options.php directly you can edit any option in the database, even those that have no UI because they’re from plugins or just something we don’t expose.

However after several comments pointed this out Alex began clarifying his request, some of it isn’t entirely clear to me (I would never want to go back to storing configuration in files, that was a nightmare we eliminated in 1.0), but the main gist is not merely exposing an interface to the options we have, but rather adding many more options to the code to allow for more than one way for some core parts of WordPress to work.

With that clarification, I think it’s pretty safe to say that something like that will probably never be incorporated.
Options have several costs, which is why we avoid them fairly religiously in WordPress. The most obvious cost is UI clutter — everyone wants their 15 pixels of fame and configuration screens quickly devolve into pages of utterly confusing junk no one understands or cares about.

A very closely related problem is user frustration. With WordPress we’re trying to make publishing to the web as effortless as humanly possible, and one part of this is taking care of a thousand little details that really shouldn’t ever cross your mind — if we’re doing our job right. One common reason for the proliferation of options in open source software is that (news flash) people often disagree about how things should be done, often violently and vocally in threads that can drag on for weeks on development mailing lists. (It is frustrating for many people that these option flame wars draw more discussion than useful topics or questions.) Few like fighting about things, and project leaders pull the proverbial car to the side of the road and declare “Screw it! We’ll do both!” To satisfy a handful of developers a burden is put on countless users.

I try to build everything imagining I have a million users. (Someday!) Small things add up — if there is an option in the interface that people have to think about for only 2 seconds (which is probably low) across a million users that’s 23 days (555 hours) of time lost to the world! (Call centers track efficiency per second because of similar constraints. Small things add up.)

Alex’s hidden options don’t trigger either of these by definition. However there is a third hidden cost: as the number of options increases it becomes difficult (or even impossible) to test for all possible combinations of how the options may interact in different enviroments. This also makes support a real bear. Costs go up, bugs increase.

This is why we say no by default to pretty much every suggested option, and we do our best to remove the ones that have built up over the years. (I just axed a whole panel earlier tonight.)

All that said, hard-core developers often need flexibility in the system to expand WordPress to things we’ve never even imagined, and that’s where our plugin system comes in. While we often say no to new options, we rarely ever shoot down a suggested extension to our plugin API. The beauty of this is it allows for near-infinite flexibility in how you interact with the program (there are some amazing plugins out there) while still keeping the core light, clean, stable, and fast. It also makes support relatively painless: “Does it work when you deactivate the plugin?” When someone says they want to do X and it should be core because it can’t be a plugin, 9 times out of 10 I see that as a plugin API bug, not a core bug.

In summation: Don’t waste your users’ time like I just wasted yours with this essay and be mindful of hidden costs. If I had a few extra hours I would edit and cut most of it out. (Good thing I don’t have a million readers.)

WP.com in Red Herring

Just landed in Houston, it’s chilly here. The opening up of WordPress.com got a nice write-up in Red Herring earlier today. Just to clarify two things from the article quickly: I’m working on WP.com with Andy, Donncha, and Ryan and I do think our distributed database architecture (which I’ll write more about later, it’s nothing too fancy) will help us scale cheaply but I’m also a strong believer in big things from small teams, much in the spirit of 37signals.

Akismet Stops Spam

Akismet is a new web service that stops comment and trackback spam. (Or at least tries really hard to.) The service is usable immediately as a WordPress plugin and the API could also be adapted for other systems.

I must say, this has been one of the more rewarding things I’ve worked on lately — when people tell you they’re able to spend more time with their family because they’re not spending 30 minutes a day dealing with spam it really puts things in perspective. If nothing else, I hope this makes blogging more joyful for at least one person.

Anyway, try it out, install it for a friend, link it on your blog. The more you use it the more effective it becomes. It’s a virtuous cycle that will hopefully curb the spam arms race.

Update: The reviews are starting to come in. Here’s some one with stats (from when the service was still in development).