Basing the Design of History on the User’s Memory

Taking a quick break from posting about microformats, I would like to describe some ideas I had recently about the user interface of Firefox’s history.

In Firefox, as well as many other Web browsers, recent history (view “By Last Visited” ) is displayed in a flat list of page titles. From an implementation perspective, this design makes perfect sense. History is simply a sequence of Web pages viewed by the user, and the best way to briefly describe a Web page is to use its title. Here is my browsing history for today:


Unfortunately not all of the titles (like “Home” and “login.cgi” ) are descriptive enough, but that’s not the actual problem with this interface.

Why do Web Browsers Have History?

The user’s goal when going to history is “I saw something earlier, I need to get back there.” It is my experience that in this situation users usually just recreate the actions they took to get back to a specific location (google search, browsing, etc), instead of turning on their history sidebar to go back to a particular page. They do this simply because it is easier.

For the history interface to be successful, interacting with it must be faster than going through the entire process of recreating the steps to get to a particular location on the Web.

Basing the Design on the User’s Memory

What if history was redesigned to better map to the way that we remember things? The problem with Web page titles isn’t just that they aren’t always descriptive, the more significant problem is that they are not particularly memorable. In fact, I would argue that users very rarely read the page title, purely as a function of how much visual space it takes up in the window (and the favicon is even smaller).

However, there are some aspects of our interactions with Web browsers that are considerably more memorable:

1. Specific actions that the user takes

While the user might not remember exactly where they went on the Web, they are likely to remember how they got there:

– “I typed a search for _____”
– “I browsed to a favorite”
– “I opened a new tab and typed in a url”
– “I opened a link my friend sent me”

Since these are actions the user personally did, they are likely to be remembered (especially the first one), when the user queries the browsing history stored in their brain.

2. The visual appearance of what the user is looking at

The second aspect of Web browsing that I think is likely to come up when the user queries the browsing history stored in their brain is the visual appearance of the Web site they were viewing. Classic cognitive science research has found that people are considerably better at remembering images then they are at remembering text, particularly when dealing with recognition tasks [1,2].

3. “The page said ____”

Of course even though people are generally better at remembering images, this certainly doesn’t mean they will never remember text. The third memorable aspect of Web browsing is a specific word or phrase the user read while viewing a page. At the Firefox Summit in November, indexing the text of Web pages the user views was discussed, and this may be part of Places in Firefox 3. This feature is particularly useful for search queries that are too general to return the previously viewed page through a Google search, but would return exactly what the user was looking for when the search is applied to the subset of recently viewed pages.

4. Today, yesterday, a long time ago…

When I was talking to Mike Beltzner about these ideas he pointed out that “people remember what they did today, and they remember what they did yesterday, but 5 days ago versus 6 days ago?” We probably want to simplify history down to three ranges in time, today, yesterday, and everything else. It would be interesting to study how accurately people remember time in terms of their own browsing history. Maybe we could write a little extension that quizzes people on their own browsing history and sends us the results, without disclosing any of their personal information.


Based around the types of things that people are likely to remember, here is what a redesign of the History sidebar could look like (click through for the full annotated mockup, based on the same set of browsing history):


In this design, browsing history is chunked into segments by time, and specific events (like typing a search, or opening a new tab and entering a URL) will automatically create a new segment. Each browsing segment is grouped under the action that initiated the series of viewed web pages. These segments could be collapsed by default to reduce the amount of information initially presented.

The small thumbnails next to page titles are generated from the top half of the page. While my point about users remembering the visual appearance of sites probably sounded like I was heading towards full sized thumbnails, I believe all of the same visual cues that larger thumbnails would provide can be effectively packed into a smaller space.


I’ve been talking with Justin Dolske about possibly prototyping some of these ideas, so perhaps an extension will be featured on labs sometime in the future.


It turns out it is pretty hard to find classical cognitive science papers from 1970 on the Web, but here are the references, if you are curious and you happen find yourself near an actual library. Or you can email me for a digital copy, which I am technically not allowed to send to you. If you are near Stanford, these are located in Lane Library and Green Library, respectively:

[1] Haber, Ralph Norman, How we remember what we see. Scientific American, 1970. 222(5): p. 104-112.

[2] L. Standing, J. Conezio, R. Haber, Perception and Memory for Pictures: Single-trial learning of 2500 visual stimuli. Psychonomic Science, 1970. 19: p. 73-74.

Technorati Tags: ,


  1. Hi Alex,
    I like this new approach a lot, as I think it would take the History to a whole new level. A few questions:
    – Would the user be able to order the history by different criteria? I.E. By time, by what I saw, by where I saw it?
    – Have you seen how latest Outlook presents emails? To the extend that MSFT is notoriously bad with UI design, I think they got it write – Today / Yesterday / This Week is how they show you emails. I think for browsing history the same would work great with perhaps a different time slicing:

  2. I like these ideas.

    I know this is a very short comment, but I know what it’s like to wonder what people think of of my ideas when nobody writes any comments at all.

  3. Interesting ideas, Alex. Have you thought at all about how clickstream data, if recorded and mined, could be used to improve the usability of History?

  4. I’m glad you’re at Mozilla. The UE “team” (moreso now) REALLY needs you, IMO.

    I’m inclined to believe you take this stuff seriously when I see how utterly readable (typos aside :) ) your blog is. No gray on white garbage over here, no sir!

  5. I often find myself going through each item on the history list just to find one page I’m after. Titles are useless!

    I think the thumbnails, especially, would help me find sites a lot faster. (Plus they look really cool. :)

  6. I think the idea of basing a view of history off more than just the page titles would be great. We could even take the idea a step further and start to diagram out what the transition points were. I’d love to see the text-snippet surrounding and including the link that I clicked to get to a page. It would also be lovely to discard the merely-linear metaphor, which is incredibly silly for some browsing behaviors. Given the way I browse, history would be more accurately represented as a tree, with some pages spawning multiple branches as I middle-click multiple links. So combining the three, you could have thumbnails as the nodes, page titles as the captions, and then write link text on the arrows connecting nodes, all displayed on a timeline of sorts which could be rendered in-browser and scrolled though.

    It would be risky for moving away from the simplicity of text, but I think Tufte would be pleased.

  7. A couple of points:
    – In your mock-up you show the “www.” for some sites. I think, it would be better to group subdomains together since it sometimes is an implementation detail if something is found at “www.”, “www2.” or “static.” and at least it will almost certainly be wrong to put “” and “” in two different groups.
    – I think the most important thing to add is a decent search. Right now I’m using the “Enhanced History Manager” just to be ample to also search the urls and to be able to see the “last visited” column in the results.
    – I think a important concept, with regards to history, is a session. And I have several browsing sessions active at one time (eg. both trying to find some file to download and checking what the weather forecast says). But I think it would be useful to be able to see a grouping of the pages found when trying to find information on foo. A session would probably be defined by pages where I followed links or searched for the same thing or even pages I visited in the same time frame where the content is substantially similar.
    – Instead of some hard limits time filter, what about a (logarithmic) slider with the sessions shown graphicly.

  8. Excellent analysis! Since many people here agree on the fact, a page’s title is often useless and since human being’s memory counts on the page’s snapshot, I suggest to put a great deal of effort in the visualization of the saved pages.
    A few ideas:
    – if I visited a long page and didn’t scroll down to see it all, it’s quite useless to store snapshot of whole page.
    – thumbnailing pages might be enough in most cases, however sometimes more details need to be showen. Thus, popping up a larger view of the thumbnail on hovering it would make it more usable.

  9. Why assume that Today should be the starting point of browsing? Something like “In the last 10 minutes” would also be quite useful.

  10. Frederik Vanderstraeten

    About the time ranges, maybe make them overlap?

    E.g.: make a category ‘last month’, with everything from today until 6 weeks ago, and a category ‘a few weeks ago’, with everything between 2 weeks ago and 8 weeks ago.

  11. In fact, wouldn’t it make the most sense to keep track of “browsing sessions”? The browser should really be able to keep track of patterns of user activity in such a way that such demarcations are possible.

  12. Hi a nice read.

    I have another comment however:

    Some history is never re-called, some is and some is deleted so other may not see it (privacy).

    It could be nice to be able to delete specific history items, classify the more important history items (how many times visited last months), and to be able to search fast and easy (not via a menu, but right click in browser).

    Right click in browser:
    – is history!

    Just some thoughts…


  13. To put my analysis to yours, your making a history of user actions instead of sites, which is going to map nicely to those sites that recall how you got to more than the actual title.

    Would there be a way to get an external history entry if you happen to open a link from webmail?

    Regarding the domain grouping, this should probably incorporate the TLD work that we have going on in one bug, and related work like not fail too bad on myspace or Or ;-).

  14. I can just agree with your ideas Alex, they sound great.

    I would encourage you to stick to the scheme you detail in your post. Any kind of tree views and whatnot would be too complex to grasp in a glance, and hence wouldn’t be used – just like the current history.

  15. I think this is a great idea. It may not work super well for people who are working in multiple tabs, though.

    I think for people like me, who have a lot of tabs open, the old way, with an icon to indicate whether the site was visited by typing an URL in the address bar or by some other means would work well. Seeing which sites were opened by entering an URL could jog my memory.

  16. Sort by time visited.

    I really liked all these ideas but there’s one thing more that needs to be done. Within the context of the date visited the sites are presently sorted by domain name. A user is more likely to remember the site within the context of the other sites s/he visited. That is, s/he may not remember the site name but would remember it was between dig and slashdot. So the domain names need to be able to be sorted by date last visited in addition to alphabetical order while keeping the date (today/yesterday/2 days ago, etc) sorting intact.

  17. I agree that history can be reworked, and I like your ideas. I also think that a notion of how long I viewed a site would be extremely useful. Maybe even a threshhold where if I was on the page for too short a period it wouldn’t even make the cut. A common pattern for me is to click through google results and the click back in less than 2 or 3 seconds, doing this repeatedly until I find what I am looking for which I will then stay on for longer.

  18. mindful_learner

    The browser History UI is long overdue an overhaul. You are definitely on the right-track here. The visual element is particularly key – there might be a benefit in making the thumbnails a little larger (roll-over to see a bigger view, perhaps). Visual memory is indeed powerful. I like your grouping idea too. It would be nice to have this user controlled.

    I once had a similar idea based on allowing users to define a ‘chain of thought’. At any point when browsing, the user could select a key combination – all web pages viewed after that would form part of a collection of pages in the history – a ‘chain of thought’.

    power to you!

  19. Wow, I can see you’ve given this much intelligent thought. I really only have two cents to offer:

    – colour coding: I find some people tend to remember sites by the primary colours they exhibit. (i.e. is blue, Red Hat is red.) Maybe a coloured border around the screenshots is in order?

    – I personally think the whole sidebar+tree view is counterintuitive. Perhaps a slide out mind map that shows your travel from site to site, with tabs and new windows appearing as tangents and detours. The mind map can slide out on mouseover.

  20. The browser history has always been the least usable facet. I’ve just had to learn not to use it, though it often could be helpful.

    Your design is what the history needs. More power to you.

    Incidentally, a lot of the time I find what would be most useful is something akin to the “Last n documents” feature of word processors and the like.

  21. I get the feeling that the history was added just to have it, and web browser deigners just figured that it would eventually be replaced with something that was actually useful.

    This plan is much better, and it’s thought out. But I don’t feel that the icons you’re using are intuitive. I think I’d have to look up what they meant every single time.

    Also, for search you have Google’s icon, which might be a problem.

  22. Definately better than the current firefox history which is pretty much useless. I also hate how there’s no way to sort the current history chronologically and see time/date stamps. Sorting by page title is totally useless, as you mentioned, no one remembers the page title.

  23. Andrew Gilmartin

    Let me select history items and use selected items together. For example, select a group of items and then show me each item’s page one at time until I find what I am looking for. (A kind of trail.) Another example, select a group of items and perform a Google search passing along not only the query text but also the selected item’s URL as criteria (using “site:”).

  24. I love your ideas, the simplest change that would help me is to add the time visited next to each title and sort by time. I rarely consult the history a few days after I have visited something, I usually want to find it a few hours after I first saw it. And I can remember just after lunch, or even just after lunch on tuesday and find it fast if I can see the time next to the description and its ordered.

  25. Thanks for this post, its nice to be able to group think about stuff like this.

    I find the lack of grain beyond “today” annoying. IE:
    If you close a tab on accident after surfing hundreds of sites in a day then it is impossible to find the site. I think a time stamp next to the sites would help, that the user could sort on. Right now alphabetical is the only sort option (intraday). Or even just providing a finer grain ie: last hour.

  26. The button labeled “View” should not be a button, it should be a little thingie like the “show columns” drop-down from Thunderbird. As a button, it looks like it goes with the search bar.

    I don’t think as it is it makes it clear that the groups are “I started at my Blog and ended up at these sites.” It looks like those are “pages in my blog.”

    In fact, even if it was clear, I don’t think it’d be as useful as we’d like: “Where’s that site I visited — I remember that I started at my blog and then…” isn’t how I think of my history. I think in terms of the site’s purpose: programming, shopping, etc. A semantic-web solution would work better here…

  27. I always wondered why the history was implemented as a sidebar.

    Why not let it take up an entire window or a new tab?

  28. Nice im always gettin things off reddit and i can never find them again.

  29. Hey Alex,
    You make some good points here. I’ve actually been working on a prototype of similar improvements for a class of mine. See it here:

    I’ll likely be continuing this work this coming term and for a master’s thesis. I’d love to incorporate your thoughts and suggestions into the extension. Hopefully something great will come of my work.

    Shoot me an email if you are interested. makinde – (at) – mit Dot eDu

  30. Well done, Alex. I like your ideas. Certainly as you pointed out, the history would need fuzziness for the point in time the page was visited. The periods would probably also need to increase, the longer ago a page was visited. While I am probably able to say tell that it was last week, I am more likely to be unable to tell if I saw something two or rather three weeks ago.

  31. The folks at AttentionTrust have created the ATX extension which is an augmented history recorder. See What I think is more interesting is the with the data collected you can learn a lot about your own browsing habits via statistics and visualizations.

  32. I spotted this article while searching for “firefox browser history”, as I’m trying to get specifics on the new format for history in 2.0.

    The interesting thing is that I came to the same conclusion you did about displaying results. I have a daily script that dumps the (mork) history file for each of my kids, and sends me an HTML-formatted email of where they’ve been on the web that day.

    It makes a LOT of sense to be able to display history entries on a per-site basis, especially when you want the big picture of how the browser has been used. And I think many of us mentally organize what we’ve done on a per-site basis and looking for links will be easier the way you have proposed.

    But the need for a more chronological system is still there. People who routinely use the “google THIS, click THAT” style of searching often don’t know what site they were visiting when they looked at something 25 searches ago. So I would recommend that history be viewable in strict chronological order, or by site, or a hybrid along the lines of “sites from today, yesterday, earlier”.

  33. Here’s a cool article from 1995: Using Graphic History in Browsing the World Wide Web

    Mate Firefox Showcase with
    and you’re almost there. :)

  34. Hey this is great! In 2003 at U of I, we also designed a history user interface (w/functional prototype) based on user memory, (as Seen on Slashdot:Making A Better Browser History)

    “1. Specific actions that the user takes”

    I think your idea of labeling the starting points based on the initial action to what they saw is really novel and just a nice touch in general.

    Although we didn’t label our starting points,we similarly created groupings based on those same starting points (typed in a link,clicked a bookmark, initiating a new google search), however inside that grouping we created a hierarchy based on other actions as we would branch when you use the back button and then clicked a new link or used the open link in tab or window). Branching probably isn’t the most important thing, but it certainly can be useful for mapping what you see to what you did and certainly help at picking out the right page. The degree it helps does seem to be based on the type of browsing(such as researching online you are more likely to branch a lot).

    “2. The visual appearance of what the user is looking at”

    We used big thumbnails in our study, but we didn’t test small.

    We kept it to just what the user saw, specifically the last view of the page the user saw before leaving it, however theoretically the top of the webpage is may be the most distinguishing and thus possibly more memorable, but then again you certainly can click a link to a new page with an anchor and never have seen the top.

    “3. “The page said ____””

    In our user study, we found this to be the most important memory aspect in terms of webpages. Slashdot looks the same today, yesterday, everyday, you would probably access it the same way too (type it, bookmark it), but the content is what is different. Not to mention if you can’t remember anything about what the page said or was about, why would you be looking for it?

    We had summaries generated in addition to indexing the pages so you could filter your history in real-time by content, thus displaying only the groupings that pertain to what you are looking for. It was an important detail that the filtering only weeded out whole groups but not individual pages. All nodes in those groupings that had relevant nodes would find their irrelevant nodes subtly smaller and de-saturated, that way you can both search to find your target page and single it out, while still having the ability to search for how you got there with your target page still visible.

    “4. Today, yesterday, a long time ago…”

    While you probably aren’t going to zero in on a page by dates beyond yesterday, but keeping it chronological though does help with associating what you see to what you did. Chronology may help you pick the right page in the list if you have the ability to distinguish between when you visited a site 1 week ago and 3 weeks ago and you can remember that you want the second visit.

  35. Aaron Strontsman

    What I’d really like for history would be page-title shortening, Firefox could eg figure out that all page titles on your blog start with “Alex Faaborg – >> ” (in other cases pages end like that, now it’d shrink this from special chars (” – >> “) and only present the page’s title. This works for a lot of pages, although you might run into problems where pages contain more than one dash (subtitles).
    Another thing which might be helpful would be presenting the h1 headline underneath the page title (like in grey or sth.).

    In my opinion, it’d also be great if Firefox remembered the structure of a page and could display, so you’d find a certain chapter of a page faster (I always remember the headline for a chapter I found interesting). Well, that probably leads too far, but might make a nice extension.

  36. On my site Firefox users are 50% monthly traffic.

  37. I’m glad you’re at Mozilla. The UE “team” (moreso now) REALLY needs you, IMO.ı have followed your writing for a long time.really you have given very successful information.

  38. Great blog.Thanks a lot.