Category Archives: Design

Web design, typography, user experience, and visual aesthetics.

New Blog Design

It is now official get out of your RSS reader day. Take a few minutes to check out the new photomatt.net and browse around a bit. This is, I believe, the fifth major iteration of the design here but it’s the first one since 2003. When I last freshened the paint around here it got a link from Zeldman saying “lucky in redesign” and I figured I would never be able to top that, so I left the design the same for years. The only major change was the introduction of Asides in 2004.

Well I couldn’t top the last design, but Nicolò Volpato had no trouble creating something beautiful I started coding up earlier this weekend. Nicolò is still working on mocking up a few of the pages, and in the meantime I’ve been working on a little additional functionality around the site, particularly with photos.

Here are a few things you might notice so far: related posts on entry pages, recent entries shown in the sidebar on entries older than 2 weeks, when a blog is from the same day as a photo album random photos from that day are shown at the bottom, and likewise a photo will show when there’s a post that day.

The main goals of the photo integration were to enable a little more serendipity. There are a lot of other little Easter eggs, but those will remain an exercise for the reader.

The Most Frustrating Thing

It’s Friday, so I’m going to take a few minutes to describe the most annoying concept I see espoused by 95%+ of blogs I read, people I talk to, and friends I have. The problem is until you let go, you’ll never be able to build something truly useful to a non-trivial audience.

Technology doesn’t matter. Design doesn’t matter.

There, I said it.

Continue reading The Most Frustrating Thing

Announcing bbPress

The software that was running the WordPress support forums was getting long in the tooth and was not handling the load of increased exposure terribly well. A PHP upgrade rendered it nearly unusable. Anyway, long story short, I wrote some forum software. It’s called bbPress and is similar to WordPress in a lot of ways, including being Free-as-in-Software. The things that WP does well—unicode, timezones, XHTML, speed–it does well too. You can read all about it on the new bbPress site and grok its philosophy, comment on the blog, join the mailing list, checkout the code, submit bugs, patches, et cetera. I have been putting this off for almost a year now, so it’s very fufilling to get this project rolling. It went so fast that I’m kicking myself that I didn’t do it sooner.

The goal of bbPress is to bring some weblog and WordPress sensibilities to forum software. It’s never going to have a tenth of the features of phpBB or vBulletin, but that’s a feature itself. My experience with those packages is they’re like a herd of elephants who evolved on a strange island in bizzare ways, and they tend to foster a type of community that is antithetical to I’m trying to accomplish. We’ve learned a lot in the past few years about how the interactive web works, why do most forums look and act the same they did in 2000? Why is it still so hard to integrate user systems or mesh designs? Why can’t I ping a thread like I can a weblog post? Why can’t I filter by XFN values?

bbPress is not and will not be right for everyone. There are open source traditional forum packages, like PunBB, that get a lot of things right and push the envelope in interesting ways, so that’s covered. bbPress is not going to have avatars, or put post counts next to your name, or give every user 80 options about how they want their dates formatted, and for some people (maybe most people) that just won’t work. However even if WordPress.org is the only site that ever runs this software, it’ll be totally worth it just to get the forum technology growing again and create a richer support experience for the WP community.

1.3 Cleanup

A few comments about some of the code changes in 1.3. Very nice to see people appreciating some of the hard work we’ve put into this iteration. In a perfect world we could stop the clock and rewrite large portions of the code from scratch, but that would take a long time and break a lot of things in the process. All programmers want to do this, it’s our weakness, but every time I get this urge I think of Netscape and how devastating their rewrite downtime was. We’re making some substantial changes but doing it gradually while introducing new features and responding to users needs.

For example, in 1.3 “the loop” is called very differently but it’s completely backward compatible with everyone’s 1.2 loop code. We deprecate things over time so any structural changes that need to be made come gradually for people upgrading, there’s nothing to drastic every time. This also saves a huge amount of time in support. (Regular users don’t want to have to redo their templates, hackers don’t want to relearn code they already knew.) Same for the new theme system we’re introducing, it adds a lot of flexibility, radically changing how the front end of WordPress operates (like plugins for templates and styles) but all the new stuff is completely optional. I’ve transitioned most of my custom code into a personal “theme” that makse upgrading a lot easier for me (which is good because I do it almost daily).

Next time you get the urge to rewrite from scratch think about the testing your code has gone through, all the edge cases that have already been addressed, the existing installed base, and how many new bugs you’ll introduce with the from-scratch code.