Home

Thoughts on the Firefox 3.1 new tab page

Aza has a nice post describing the latest spec for the new tab page in Firefox 3.1. For some additional background, read the concept post.

The basic idea is to put some useful content into the (currently blank) screen that appears when you open a new tab. Since users frequently open new tabs to do something with text they just copied (search, map an address, define a word), why not add actions to the new tab page based on what the user selected in the previous tab. Here’s Aza’s example:

This is pretty good, but you still have to actually click to get the data you want. As Aza puts it, “Don’t force the user to ask for more content: just give it to them. In other words, don’t make the user click “Map 3312 Main Street, Pacifica”; just put the map right in the new tab page:

A map this small might not always be useful (though in real life you could probably make it a bit bigger), but the user can always click it to view the whole thing. Maps are also a particularly tough case — you’re almost always going to be able to fit a complete definition or translation on the new tab page.

Now, one potential downside to this proposal is speed. The new tab page has to load instantaneously, and you pay a performance penalty if you have to look up a map every time you load it. If the user isn’t interested in a map (i.e., he just happened to have mappable text selected), he’s not going to be willing to wait.

However, there’s no reason this extra content must load synchronously. The new tab page could load its basic content first (the links in Aza’s mockup), and then get the richer content in the background once the user can already interact with it. This means you’d have to put a little throbber in each button while the content was loading:

And the user might have to wait a second or two to see it, but this is still much better than having to click. Furthermore, if the user isn’t interested in the additional content, its loading won’t disrupt his experience.

Posted October 18th, 2008

Rich Berger's America

Rich Berger's America is a land in which women would be forced into back-alley abortions, blacks would sit at segregated lunch counters, rogue police could break down citizens' doors in midnight raids, schoolchildren could not be taught about evolution, writers and artists could be censored at the whim of the Government...

Here is how you choose what you want on your sandwich in Rich Berger’s America (i.e., when you use Seamlessweb, whose interface Rich just helped re-design):

Notice the instructions to “Scroll down for more options”. This is pretty annoying. You can’t see everything you’ve selected at once, and when there are a lot of options (e.g., you’re ordering a custom sandwich) you end up scrolling up and down a few times to double check your entry.

Oh well, Rich wouldn’t do this unless it were absolutely necessary, right? Wrong. Take a look at the order customization dialog box in context:

When you click on a menu item to add it to your order, the entire browser window goes grey and this tiny dialog box pops up to allow you to customize your choice.

This is obviously insane. Seamlessweb is forcing its users to scroll in order to make room for more empty grey filler. These AJAX-y modal dialogs look cool, but they make Seamlessweb harder to use. Prior to the redesign, clicking an item took you to a separate page to customize it. This was slower, but at least you didn’t have to scroll all over the place.

I would suggest either:

  1. Expanding the dialog box as much as possible and loading a new page for the items that would still require substantial scrolling.

  2. Putting the customization options inline in the menu itself.

Posted September 11th, 2008

Blogs are great, but they suck

Reading blog archives is an incredible chore:

  1. Select an arbitrary month in the past
  2. Read the posts from that month
  3. When finished, select another month
  4. Repeat

There are 21 problems with this approach:

  1. It makes me ask for more content. When I’m done reading your blog, I’ll leave. If I’m still around after getting to the bottom of a page, obviously I want more content — don’t make me click somewhere to get it!

  2. Content is split into arbitrary chunks along a dimension that I don’t care about: time. I have to choose between reading posts from May 2006 and June 2006, but I don’t care — I just want to get to the most interesting content, whatever month it’s in.

2 deserves a bit more discussion. Every blog and RSS Reader presents data sorted along the same lousy dimension: time. This doesn’t make sense. The top post on a blog should be the most interesting one, and only rarely (e.g., in the case of blogs that track bargains) will the most interesting post be the most recent.

It’s even worse for blog archives: obviously if I’m going through your archives I don’t care about the order of the posts. What difference could a month possibly make 2 years later?

So how should blogs and RSS readers work? First of all, the user should be able to access every post on the blog without clicking anything. Rather than breaking up the blog into chunks by date, every post should be on a single page sorted by relevance.

How do we fit a whole blog onto a single page? We start by taking real estate away from less relevant posts. Only the top-most (/ most relevant) posts should have their full content on the blog’s main page. As you scroll down though, you should get smaller and smaller excerpts from posts until you only see post titles. Clicking on any part of an excerpt should fill in the full content (inline preferably).

If the page is still too big, you could split the list up into several pages, and automatically advance pages when the user reaches the bottom of one.

So what sort order do you use? Well, first you need a metric for gauging quality. I don’t have all the answers, but it doesn’t take much to improve on the status quo. Potential things you could take into account: comments, links from other websites, diggs, numbers of times it’s shared via other websites (facebook, etc), traffic relative to other posts.

If you have the ability to mark a post read (as you do in an RSS reader), then we’re done. Just order the posts by quality, removing posts they get read.

If you don’t have the ability to mark a post as read (as is the case with blog websites), things are a little trickier. In this case you have to put at least some of the recent posts at the top, otherwise you’re going to annoy your frequent visitors.

Scroll down a bit though, and quality should begin to have an effect on a post’s ranking in the list. Scroll down more and quality becomes the only factor. At the top of the blog you have a link for new users to click that will quickly scroll past the new posts.

1 Is there any justification for spelling out the names of small numbers rather than using numerals? Numerals take up less space and are easier to read.

Posted September 6th, 2008