Perceived Performance

Revision as of 07:15, 25 June 2009 by Faaborg (talk | contribs)

The aim for the "Perceived Performance" effort is to identify changes we can make that will make Firefox feel faster — as opposed to the classic optimizations that generally involve rewriting code to make it faster. In these cases, there are definitely elements of code improvement involved, but it's not the main reason why things seem faster.

Add your ideas for things we should look at to make Firefox feel faster below:

  • Implement the OS X scrolling model for our Windows and Linux builds of Firefox (bug 462809)
  • Use a real time strategy game style scroll box in the content area, so you can quickly move around a page just by moving the mouse
  • Increase the amount of visual change when loading a slow page, for instance transition to a large water mark style throbber that appears in the center of the content area if no information has loaded yet
  • Keep firefox running for a moment after close for the set of users who close and reopen the application in order to do a search (because the start page has a search field, and they don't know about the search bar, location bar, or home button).
  • Use a 1 pixel pulsing progress bar at the bottom of the location bar to denote progress in addition to activity (safari 3 style, but not as heavy).
  • Subtle but smooth graphics accelerated back and forward animations, like a very very slight fade and pane)
  • Don't require the user to hit the down arrow in order to access the first result in the awesome bar (complicated, details in bug 410837)
  • Give the awesome bar the focus on open so you don't have to focus it yourself before navigating to a particular location
  • Quickly load pages out of cache and then fade to a copy loaded off of the network once it is ready (also, display a greyed out version of the cache page with highlighted form fields when prompting the user if they want to ressend information)
  • Use frecency and adaptive learning to proactively preload pages we expect the user to visit (at a time of day, in a common sequence, etc.)
  • Extend the password manager to allow for automatic log ins (with feedback that this is happening)
  • Load the frontmost tab on startup before the others (filed as bug 496458)
  • Don't show the progress spinner for the address bar until 200-300ms have passed (it currently appears instantly, and makes it feel like you're waiting for results).
  • Color change impact when creating a new tab
  • Startup order, what tasks are performed on startup, and is there anything we can defer in order to make the startup experience faster?
  • Switching tabs while loading several tabs seems slow
  • Deleting history items has lag. Make them dissapear when delete is pressed, then delete them.
  • Move awesome bar loading to occur before most other async tasks that happen, Almost always when I open a new firefox the urlbar is frozen (I type some chars and nothing is shown). This gives a very slugish impression. (santagada)
  • Related to above (switching tabs), allow/improve tab switching when loading particularly intensive pages. (eg. FF appears to lock up at times when loading http://fixoutlook.org/ as it's contending with many images, etc).
  • Friendlier looking error pages. Most people blame Firefox and not the site causing an issue when they see an error page. Is there a standard that must be followed whereas error pages must be presented to look so cold and raw? A little style and color psychology might help to ease the frustration that a user is feeling when they can't get to where they are trying to go.
  • Tough one but it would be great if something could be done to reduce the great amount of info that is displayed in the status bar while a site/page is loading. I sometimes wonder why I have cookies enabled at all and why connections to 10 other sites are necessary when I see everything that a page is loading.