If you require travelers to your country to visit an online application before you leave, you better make sure it’s fucking up, US customs!

1-click deploy

We just added 1-click deploy from Subversion to poorbuthappy.com. It’s the first time I have that available, so no fudging with FTP-ing changed files or command-line crap. And it ROCKS!

The first time I read about the importance of 1-click deploy was at Joel’s website, (he calls it 1-click build) and then later in the Flickr Scaling Websites book. Now I finally have it. It rocks. Maybe we’ll open-source that. Here’s a screenshot of the admin screen:


Of Joel’s rules for good software, we now do many:

  1. Do you use source control? YES
  2. Can you make a build in one step? YES
  3. Do you make daily builds? No, but it’s not relevant.
  4. Do you have a bug database? YES
  5. Do you fix bugs before writing new code? Mmmmm..
  6. Do you have an up-to-date schedule? Not relevant.
  7. Do you have a spec? No, except for large features.
  8. Do programmers have quiet working conditions? Yes.
  9. Do you use the best tools money can buy? No money involved.
  10. Do you have testers? No.
  11. Do new candidates write code during their interview? Not relevant.
  12. Do you do hallway usability testing? YES.

Scaling stuff

You gotta love scaling stories.

  1. S3 rocks. (I knew that)
  2. Use YSlow and Firebug to set HTTP cache control (and Gzip everything).
  3. Just go with InnoDB (unless you need specific MyISAM stuff, which you probably don’t).

Of course they talk a lot about all the mongrel scaling crapp that Rails needs that we don’t have to worry about with PHP :)

Email exchanges with Steve Chen

OK, bite dust Peter, for getting it wrong.

This is from an email exchange with Steve Chen (Youtube founder who is now filthy rich) in June 2005. He pinged me about Youtube (I was running Mefeedia at the time) and I criticized their service for not being open about their business model.

Me: “Thanks for taking criticism so well :) You’re right, there are lots of new players. Most won’t last though. I’m looking forward to see how you guys do and what features you come up with. Let’s stay in touch.”

What’s more though, in the following emails we discussed syndication and I helped them figure out (together with Josh who was working on ANT then) how to support the mediaRSS extensions in their RSS feeds and specifically add a file extension (.swf) which made my work easier and to add RSS2.0 enclosures.

Me: “Both ANT and Mefeedia (and probably other future aggregators) support RSS2.0 enclosures, not the media:player element. So could you add this to the feed (with the mime type and whatever the length is)?”

Steve: (few emails later) “Yes!  Finally!  We went through a lot of iterations with getting this right.  Now it’s moving on to tackling REST and MetaWeblog API. :)”

So a bit of history there, I think I got Steve Chen to add enclosures to the Youtube RSS feeds :) I had totally forgotten that until today Facebook asked if I wanted to be Steve Chen’s friend. Actually, I remember meeting him in a bar in NYC and disussing the option of going to London to work with Youtube, but that may be a false memory (may have been someone else).

Mixed lists

As information architects, we always have loads of ways available to view information in lists. Show the latest, the most popular, the one with the latest comment, everything of one particular type, etc… We don’t always know which way users want to look at the information, so the solution is usually to offer different views of the same information. Choose the most likely popular default view, and users can choose other views as they like.

The problem with that approach is that we’re expecting users to switch between views, and to understand what the various views mean. And that’s often too much to ask – in practice, many users stick with the default view, and whatever that shows or, importantly, hides.

So there’s a new tendency I’ve noticed the past few years to mix multiple views into 1 definitive view, a mixed list. The algorithm that determines what goes in there can be more complex, it can show multiple types of information, etc.

Google’s evolution is a good example. At first, they just showed different options to see their search results: see results in news, in images, on the web, etc…


The "tabs" were there for a few years, but are gone now, as they move to 1 definitive serp, they call it universal search.


The definitive search result page shows thumbnails of pictures, movies, blog results and other elements, all mixed on 1 page. The seem to be experimenting a lot with this and they think it’s successful. Here’s a good example, showing images, videos, shopping etc… on 1 page.


Examples are everywhere, study Facebook for a good example. They also mix content types and stuff like crazy to make their mixed lists more useful:


More thoughts/examples on mixed lists?