I’ve been working on yet another side project (too many!), and got a fair amount of work done during recent flights this holiday season. I started working at 30,000ft so I was lacking in the Internet access department. Luckily(?) I had my Subversion check out of Zend Framework, so I just used it.

This morning I spent an hour or so debugging a problem where a certain control (Zend_Form) was printing out a debug type message, and I couldn’t figure out why.

Well, the why is, it’s a subversion checkout, not a release!


Always use a real release.
So, I'm a horrible person for not mentioning this before, but go take a look at the PHP Advent Calendar, in particular, my post Listen.
So one month ago I cancelled my cable subscription. I was never really happy with what I was getting (picture quality and channel selection), my expensive HD box breaking 13 months into a 12 month warranty was the final straw.

Not having cable frees up $40/month that I wasn’t really budgeting on having. Sponsoring a child with World Vision happens to be $40/month. This seemed like a good match, and a far better use of my money.

if you’re not satisfied with a service you’re currently paying for, why not put the money to better use

When developing your applications you’re going to need to present options to the end user (if not, you’re developing a static application, stop using PHP). How these options are presented is a decision that should be made by user interface experts, not programmers. I'd love to entrust programmers with this task, but we keep doing it wrong.


Windows is often mocked for it’s shut down options, there’s far too many. Don’t use it as a model (you may also recall the Yes, No, Cancel prompts). The fewer options presented the better.

I realize that last sentence might not have sat well, but think about it, which question is easier to answer: “What do you want to do tonight?” or “Do you want pizza or chinese for dinner?”. Most people have a problem when presented with a multitude of options, they do much better with a constrained set.

Beyond it simply being easier for people to make decisions when there’s a limited set, the clear presentation options are also obviously different. Consider this question: “Do you want takeout from Thai Pho or Bankok 2?”. Even if you know what you’re looking for you (presuming you don’t live around the corner) probably don’t know which option to pick, on the surface they seem quite similar. In the digital arena, consider the prompts offered by facebook this morning when a friend tried to get me to sign up for YAFBA (yet another facebook application):



I have six choices when it comes to dealing with this invite. SIX! There’s a seventh text link to (presumably) find out more about the game. I like to think I’m a smart guy, I’m not even sure how all those options differ. Both Join & View require me to authorize the application to access my personal information, I literally have no idea how “Not Right Now” and “Ignore” differ. The two text links at the bottom make some sense, but there’s clearly too many options.

I would condense those six options down to two by rephrasing the question: Would you like to install the Knighthood application: Yes, No. The blocking options are irrelevant if the user selects Yes, so there’s no point in presenting them initially. The interstitial animation could present them if the user selects No.

Users are impressed not by a variety of options, but by applications that do what they want them to do. Re-phrase, condense and simplify.

Hi, I’m Paul Reinheimer, a developer working on the web.

I co-founded WonderProxy which provides access to over 200 proxies around the world to enable testing of geoip sensitive applications. We've since expanded to offer more granular tooling through Where's it Up

My hobbies are cycling, photography, travel, and engaging Allison Moore in intelligent discourse. I frequently write about PHP and other related technologies.

Search