100 PAPER CUTS

AN EXPERIMENT IN SOCIAL MEDIA FEEDBACK
ALEXANDER LIMI FIREFOX USER EXPERIENCE APRIL 22ND, 2010
Wednesday, May 19, 2010

“No amount of genius can overcome a preoccupation with detail.” —Marion Levy

Wednesday, May 19, 2010

I’m usually not a quote person, but if you’ve read my blog, you might have seen this. I think a lot of what goes into building passion for a product comes down to being obsessive about the details. That’s why paper cuts are so dangerous for our project. See: Apple, Chrome… and Firefox!

The Reddit Experiment
“I work on the Firefox User Experience team, and this is your chance to tell me about your pet peeves.”

Wednesday, May 19, 2010

aka. “how to ask for punishment”

Wednesday, May 19, 2010

How many of you know what Reddit is? How about Digg? 4chan? Slashdot?

Wednesday, May 19, 2010

The complex matrix of social news sites… Why is Reddit interesting? They are the “right size & right people”, at least right now. Slashdot used to be that, for a short while it was Digg, but Reddit has kept it going for a long time without going downhill. Signal to noise ratio is still great.

Ground rules
No complaining about Javascript perf No complaining about the visual design No complaining about startup time* No complaining about single process

Wednesday, May 19, 2010

I’m stern, but fair.

The Reddit Experiment

2300
COMMENTS
300 × LIMI

750
UPVOTES
Wednesday, May 19, 2010

Posted on a Friday afternoon, by Sunday we had…

Who are they?

45%
FIREFOX

19%
CHROME

10%
IE6/7/8

9%
SAFARI

2%
OPERA

Wednesday, May 19, 2010

Exactly the kind of audience we want, in my opinion. - Early adopters - Strong sense of privacy - Advanced technological understanding - Influential users - Capable of suggesting good solutions and do some research

dev.apps.firefox vs. Reddit

382 965
MAILMAN

150,225
ASK REDDIT

?
Wednesday, May 19, 2010

GOOGLE GROUPS

NNTP

Voting/moderation, reputation management (numbers from April 8, 2010) Not an entirely fair comparison, but I did want to show you how large the community is.

What kind of feedback did we get?

Wednesday, May 19, 2010

The feedback was very varied, and interesting reading.

“The bookmarking system is still a bit of a clusterf—k right now. It used to be underpowered and now it’s like someone taped a bunch of cats together.”

Wednesday, May 19, 2010

From the hilarious…

“Stop adding shit and start cleaning up”

Wednesday, May 19, 2010

…to the pithy.

Wednesday, May 19, 2010

Some showed me screenshots of their awesome Firefox experience…

Wednesday, May 19, 2010

…others were looking for help.

Wednesday, May 19, 2010

Some people had advice about our technology stack…

Wednesday, May 19, 2010

…and knew who they were talking to.

Wednesday, May 19, 2010

We need to get out of the 1980s California bubble and start talking like real men.

Wednesday, May 19, 2010

Don’t help “the stupids.”

Wednesday, May 19, 2010

A rare example of an expressive user study in text form.

“Seriously, your work is appreciated widely and deeply. Keep rockin’.”

“Thanks for making this submission - I think it’s awesome to have you do this. :) Firefox kicks ass.”

Wednesday, May 19, 2010

In general though, people really like Firefox, and people that say they switched browsers say they “wish they could switch back”

Standard Disclaimer (& Ground Rules)

Wednesday, May 19, 2010

For this talk, we also have some ground rules: - There’s a lot of stuff here, and in list format - I might be going too fast, let me know - Feel free to leave/rejoin at any time, I won’t be offended ;) - We can’t really go into a lot of these in detail during the presentation, so take notes, and we’ll talk at the end. Even if I’m wrong, resist the temptation to tell me so immediately. ;)

What did we do?

2300
COMMENTS

100
PAPER CUTS

bugzil.la/papercuts
Wednesday, May 19, 2010

I’m in the process of filing these as bugs.

5 7 43 26 1
Wednesday, May 19, 2010

TAB BEHAVIORS ADD-ONS OS INTEGRATION & BEING IN PLUG-INS CONTROL STARTUP* UI CRUFT & FOCUS CONSISTENCY
Seven focus areas: 1. Focus 2. Startup 3. Being in Control 4. Add-ons and plugins 5. Tab behaviors 6. UI cruft & consistency 7. OS integration

Lessons learned
Sometimes we are too smart — we use engineering muscle when a simple solution would save a lot of frustration What we think are the issues aren’t necessarily what people in general are unhappy about

Wednesday, May 19, 2010

Since nobody will be awake at the end of the presentation, here are some of the most important things to keep in mind.

1
FOCUS
Wednesday, May 19, 2010

The #1 cited issue

Web sites should not be able to steal focus when in chrome
Wednesday, May 19, 2010

Example: - User starts FF - Connection is slow, so start page doesn't load quite yet - User starts typing in the chrome search box in the meantime - Web page steals focus while user is typing We often don't see this because we have fast connections + use about:blank as our startup page Also: - If there's been any keyboard input or mouse scrolling while the page is still loading, don't allow onload=setfocus() - When focused with Cmd-L, if you hit Esc, you should be back in the web page

Flash / PDF / plugins steal focus shortcuts, can’t open new tab
Wednesday, May 19, 2010

Can we stop keyboard shortcuts that have Cmd/Ctrl qualifiers + F11 etc from reaching the plugin and parse them instead? Now that we have OOPP, can we catch these keyboard events? Keyboard -> OS -> Browser-Controlled-Sandbox -> Flash If not, can we ask Adobe for help in solving it if not? This is a really old bug: https://bugzilla.mozilla.org/show_bug.cgi?id=78414

Avoid app-modal dialogs, make them tab-modal

Wednesday, May 19, 2010

This goes for 1) Javascript alerts/prompts, 2) htauth prompts, 3) master password for the "software security device". Probably others.

STARTUP*
*but not what you think

2

Wednesday, May 19, 2010

…but not what you think. This isn’t about raw startup performance, file system I/O, etc.

“Firefox takes 3 minutes and 12 seconds. Chrome is 7 seconds.” “That’s insane. Make sure you are on Firefox 3.6.3 & try a fresh profile.” “Well, shit. 5 seconds.”
Wednesday, May 19, 2010

Rebuild profile on upgrade/reinstall

Wednesday, May 19, 2010

WE HAVE THE TECHNOLOGY, WE CAN REBUILD THEM Possibly export/import bookmarks and passwords? Think: “Local Weave” that puts the existing profile in a safe location, syncs to disk, then recreates a new profile. People have old and corrupted sqlite DBs, help them start fresh Many users on FX 3.6 have been upgrading since Firefox 2. This means they've been using the same profile for years which I'm sure is impacting performance. In my experience, creating a new profile is like reformatting and reinstalling Windows. Everything is fresh and quick. How about making it easier to do a "profile refresh" keeping only saved passwords and bookmarks? "Any upgraded installation older than two years runs very slowly. The most notable problem is typing in the location bar. The first time you do this in a new session it will lockup the UI for about 15 seconds. Subsequently you will get small lockups of about 1-5 seconds for the remainder of the session. I've noted this on two separate machines. Clearing the profile fixes it."

“Firefox is open but not responding” alert
Wednesday, May 19, 2010

Cited as “#1 reason for switching to Chrome” Can we do something about this? Kill the process or offer to kill it or something? Found this: https://bugzilla.mozilla.org/show_bug.cgi?id=239223

Don’t ask about updates all the time

Wednesday, May 19, 2010

- Silent updates for add-ons, with possibility to enable - Firefox updates should be applied on shutdown, never on startup (ideally in the background)

YO DAWG

“I use an extension called ‘Update Notifier’ that checks for updates every so often and installs them, so I don’t have updates to install at startup” I herd yuo liek extensions

Wednesday, May 19, 2010

We have a UI term for this, it’s called the YO DAWG “Yo dawg, I heard you like extensions so I made an extension that installs other extensions”

Ideally: upgrade in the background — if not, upgrade at shutdown, not startup!
Wednesday, May 19, 2010

Shutdown takes a long time for some users (30-40 seconds)
Wednesday, May 19, 2010

Do we think we fixed this? Reported to still be there in 3.6.3, but this may have landed on trunk?

Include BarTab-like behavior by default

Wednesday, May 19, 2010

Delayed loading of tabs on session restore = faster startup + less memory used until you need the tab

Put “Restart” and “Restart & Save Session” in “Exit” combomenu in the new design?
Wednesday, May 19, 2010

People like the ability to selectively invoke session restore. “I generally don’t want it, but sometimes it would be very useful, especially when restarting for updates”

BEING IN CONTROL

3

Wednesday, May 19, 2010

The biggest category, by far — probably because people that want to be in control of their experience like Firefox in the first place, and therefore have high expectations in this area. And we shouldn’t disappoint them.

Control over audio in tabs!

Wednesday, May 19, 2010

- Limi’s Last Theorem? Help me find back to this solution! I had a solution, but nowhere to write it down, and forgot - Might have been opt-in via notification, ie. "this web page wants to make sound, allow?" but that is a bit draconian, but maybe an optional setting - Global mute button for people who don't want their browsers to make noise at all - This does get complicated with plugins, of course

Web sites shouldn’t be allowed to resize main window

Wednesday, May 19, 2010

First of 4 related window issues Setting size for a popup window they spawned is OK There is already an option to disallow it, we should adjust the defaults. Options → Content → Enable JavaScript → Advanced. I have only the context menu item ticked.

Pop-under ads are back, worse than ever

Wednesday, May 19, 2010

Web sites should not be allowed control of windows in terms of sending them to the background. Ever. There are no good use cases for opening a window UNDER the current window. Make it opt-in.

Put the user in control of generated windows

Wednesday, May 19, 2010

Respect the defaults, but make it possible to revert — e.g. turn toolbar/scrollbars back on, resize, etc

Opening new windows should be usercontrollable

Wednesday, May 19, 2010

target="_blank" should be optional There's a setting for this, but it makes links from external programs (IM/mail clients etc) replace existing tabs. That bug should be fixed!

SSL: Add an “I know what I’m doing” option to self-signed certs

Wednesday, May 19, 2010

boolean general.I_understand_SSL ;) Possibly use Perspectives? www.cs.cmu.edu—index.html <http://www.cs.cmu.edu/~perspectives/ index.html> There should be a one click way to allow the certificate once without having to save exceptions. We actually encourage people to add permanent exceptions now, ironically. “Would be simpler to just put 3 buttons on that page: "Get me out of here," "Proceed and Allow just once," and "Proceed and Allow Always." That avoid having to click 5 screens”

Include option to delete Flash cookies

Wednesday, May 19, 2010

Fix Master Password

Wednesday, May 19, 2010

Don't ask for master password on load Only ask when there's a site you actually have a password stored for Don't ask multiple times Let master password be valid for some time (already the case?) Can we use the OS X keychain password as the default password on Mac?

Don’t let a web app be able to lock up a tab

Wednesday, May 19, 2010

Add "Prevent this page from creating additional dialogs" link in the notification This is one of our oldest bugs. WAAAAAAAAIT BEFORE YOU GO CLICK CANCEL (ok) PRESS OK TO CONTINUE OR CANCEL TO STAY ON THE PAGE (browser crashes) (restart firefox) hey we were able to restore your tabs PRESS CANCEL TO OK OR PAGE TO TO CONTINUE THE STAY wat

Browse-by-name is inconsistent and confusing
Wednesday, May 19, 2010

Enough people try to use URL bar as search, and are confused by inconsistent behavior. Let’s make it opt-in, and turn it into a normal search if people submit it. Also, mconnor has promised to fly down here and personally beat me up if we do this.

Make a hotkey to list shortcuts + show them in the right-click menus

Wednesday, May 19, 2010

People can teach themselves over time Hovercard similar to Gmail's "?"

Enable autocomplete again, but make it smarter

Wednesday, May 19, 2010

We stopped “speaking URL” when AwesomeBar came along, and it makes us seem slower Complete to next major URL fragment, if you want the full path, it'll be there on arrow-down No, don't do this it breaks normal text handling. type type type {backspace}, what happens? The last character I typed isn't deleted! Grr! Backspace has deleted a bunch of stuff I didn't type and wasn't interested in! (we can delete and remove the last letter too?)

Better preview, especially for PDF & types we already have viewers for
Wednesday, May 19, 2010

Part of the Downloads work. We can’t leave this to Adobe. Seriously!

ADD-ONS & PLUG-INS

4

Wednesday, May 19, 2010

Our crack cocaine — bad for you, but you can’t stop (silent updates is the #1 request, but covered earlier + part of the Extension Manager redesign project)

Don’t wait 3 seconds when installing addons from AMO or the inline add-ons browser
Wednesday, May 19, 2010

People say this was fixed at some point, but it still happens!

When an add-on is outdated / no longer maintained or working, suggest alternatives
Wednesday, May 19, 2010

IE Tab is a prime example, there’s a maintained add-on called Coral IE Tab that does the same. People stay on earlier versions of FF because this was never updated. Getting the data on which plugins block people from updating (since we check for this and present a list already, right?)

Click-to-activate for plugins — default for rare-but-perf-killing things like Java
Wednesday, May 19, 2010

Don’t let add-ons open new pages

Wednesday, May 19, 2010

We need a better solution for this, possibly doorhanger notifications with option to go to the page?

Don’t let apps install add-ons without consent
Wednesday, May 19, 2010

e.g. Skype, Norton “Since you last started Firefox, an application installed add-on/plugin XYZ — are you sure you want to enable it?”

Fix the crufty status bar, extensions add clutter
Wednesday, May 19, 2010

In general, people were unhappy with the clutter extensions can add to menus, toolbars, etc.

TAB BEHAVIORS

5

Wednesday, May 19, 2010

Everybody cares about this.

Opening tabs at the end when new & next to when contexttriggered is confusing
Wednesday, May 19, 2010

Most people prefer the new behavior! Simpler is better, always open next to current tab or always open at end.

New tabs should keep history from the tab that spawned them
Wednesday, May 19, 2010

Should insert a marker to indicate that the history is from a separate source, either in the menu or on the button itself (color?)

Tab behavior is very personal, expose more prefs here
Wednesday, May 19, 2010

I never argue for more preferences, but this is an instance where I think it’s warranted. :) - People are split on opening tabs at the end or next to - Lots of people have TabMix Plus, but also a lot of problems reported from it - People want control here, we should give it to them

Make it easy to close lots of tabs

Wednesday, May 19, 2010

Chrome nailed the don’t-resize-tabs-until-you-are-done-closing-them What I want to do: More powerful tab operations: Shift/Ctrl for range/multiselect + close

Fix tab stack ordering

Wednesday, May 19, 2010

Return to previously focused tab when closing a tab

Fix Ctrl-tab to use stacks, so it can be used to compare between 2-3 tabs
Wednesday, May 19, 2010

There are a million shortcuts to switch to left/right of current tab, why do we have to adopt stupid behavior here?

Tab reloads when it is detached; this is annoying and unexpected/dangerous
Wednesday, May 19, 2010

Don’t separate windows and tabs in the undo stack
Wednesday, May 19, 2010

People can’t remember whether what they closed was a window or a tab.

Let me fit more tabs in the bar, make it easier to find the ones I can’t see
Wednesday, May 19, 2010

Make the minimum tab width smaller, remove the scroll arrows, only list tabs I can’t see in the pulldown

Blank tabs when clicking should never appear
Wednesday, May 19, 2010

- Happens when Cmd-clicking things like downloads, or for sites that do weird stuff, e.g Gmail attachment downloads - We should never show a window that has no content

Can we fix the "Cmdclick window void"?

Wednesday, May 19, 2010

cmd-clicking JS links open blank windows, can we either make this work or disable loading these in tabs?

Let me have Private and normal windows at the same time
Wednesday, May 19, 2010

Will land with Electrolysis?

Ask when hitting ⌘Q

Wednesday, May 19, 2010

Very easy to accidentally hit

Better load indicators — separate activity from progress
Wednesday, May 19, 2010

Being handled in the new theme, but: - Separate activity from progress

Detect whether your webmail client is already open, don’t open new window
Wednesday, May 19, 2010

“My personal problem with FF was if i click on a mailto link Gmail would open in a new tab; this seems to work properly with Chrome. All browsers should detect if a site is open.” Flipside: sometimes we don’t open a new window when we should (if we can’t detect)

Eliminate fake “bounce” when scrolling tab bar, you can’t see when you’re at the end
Wednesday, May 19, 2010

UI CRUFT & CONSISTENCY

6

Wednesday, May 19, 2010

Make search field tabspecific & clear when navigating away from results page
Wednesday, May 19, 2010

Look in your browser right now, how many of you have an old search hanging around? Information leakage (screenshots ;) + being global when everything else is tab-specific

Find in page should to be page-specific, and close when you click outside it, move to top
Wednesday, May 19, 2010

The “Find toolbar tax” — how many of you have a Find toolbar hanging out on every tab right now? Also: - Consolidate Quick Find and Find - Remove "/" shortcut, too easy to trigger in error in an app where slashes are important - Show count of how many instances are on the page - “bounce” the results and make sure they stand out on the page - highlight all occurrences of a search term - make the focused result be in the middle of the page - dismissable with Esc or by clicking outside, or by the Cmd-F toggle again - Match whole word - We have space here, options are good!

Change “Save” to “Download”

Wednesday, May 19, 2010

People think Save is the same as bookmarking, and can't find the pages again Download is more consistent with web use, since Save has other meanings in web apps

Work offline must die

Wednesday, May 19, 2010

I believe we can reliably detect this now? Also: localhost (local network?) should never be offline Developers should get an extension to simulate this.

Fix downloads!
<enter lots of suggestions already captured>

Wednesday, May 19, 2010

Part of the Download redesign

Fix mess + ordering in contextual menus; common options first
Wednesday, May 19, 2010

e.g. Open in New Tab over Open in New Window Part of the menu cleanup project

“Search Google for…” context menu entry should be in textareas & inputs too
Wednesday, May 19, 2010

Fix selection behaviors

Wednesday, May 19, 2010

-

Don't select trailing spaces when double-clicking a word Double-clicking between words no longer selects both words (selects space instead, useless) Hyphenated words aren’t copied properly (only one element) Generally, highlighting is really error-prone and hard to predict

“Paste & Go” “Paste & Search”

Wednesday, May 19, 2010

A lot of people right-click to paste

A useful full-screen browsing experience

Wednesday, May 19, 2010

Access to all controls, menus etc, but hidden. Solving this as part of the touch/slate UI experimentations

Make Personas work better with the default theme, make them easy to remove
Wednesday, May 19, 2010

Favicons on OS X bookmarks toolbar + multiple rows
Wednesday, May 19, 2010

People are very sad about this, and I agree The bookmarks toolbar should have an option to display either text, icons, or both. The fact we have to jump through hoops (chrome.css etc) to set this is sad.

OS INTEGRATION

7

Wednesday, May 19, 2010

Reddit is probably a bit sysadmin-heavy, so lots of feedback on these things

Multiple screens behavior on Windows is wonky, can we fix?
Wednesday, May 19, 2010

"when you pull a tab of a maximised window out it maximises to a seemingly random screen" "However, in the default themes, it's hard to tell which window is active when you have multiple monitors, because they don't have enough contrast between which one is active and which ones are not." However, I will often draft a tab from a window on the left monitor to the blank space on the right monitor, and the new window will be created on the left monitor, not the right where I dragged it to. This is on Windows Vista and Windows 7 with UltraMon installed. When I put the browser on one screen, I expect new windows of the same browser (like the download dialog, anything an extension opens, ...) to be on the same screen. Currently it's a matter of luck, and it's quite annoying when a browser window appears, for example, over fullscreen video on the other screen.

Additional Win7 features: Jump lists, windows in Aero Peek, download progress
Wednesday, May 19, 2010

“Opera has it” - Windows 7 Jump Lists - Don't list tabs in Aero Peek, windows are more useful, but list tabs if there's only one window? - Opera does a better job on Windows than we do ;) my.opera.com—take-full-advantage-of-windows-7-with-opera <http://my.opera.com/ portalnews/blog/2010/03/27/take-full-advantage-of-windows-7-with-opera>

Enable NTLM authentication for intranets
Wednesday, May 19, 2010

“Chrome has it” ;) Anyone in a corporate environment will appreciate it simply because it stops $&%(&% password dialogs from popping up every time you click an intranet link. NTLM is disabled for a reason because in firefox it's a security risk and you wouldn't want any random website to ask and receive NTLM responses. Agreed local area network should be whitelisted for you but seriously it takes about 30 seconds to enable NTLM in firefox and it's not that hard to do.

MSI installer with group policies
Wednesday, May 19, 2010

“If FrontMotion has been repacking Firefox as an MSI for [years?] now, I don't see why it has taken so long for Mozilla to do the same. It's kinda defacto now...”

Hard to assign default apps on Linux

Wednesday, May 19, 2010

“In Ubuntu - at least, probably in nearly all desktop Linux - it is very difficult to assign different applications to open files. So if I want to open a .wmv in VLC, I go to change it by selecting a new application, but it actually wants the filepath of the executable! This may be fine for Windows, but most linux systems aren't supposed to work that way. I should be able to type the name of the application I want to use and just click assign, or perhaps type the command line I want to use.” xdg-open?

Use of Keychain on OS X
Wednesday, May 19, 2010

Is there something smart we can do here? Read-only capability, store in alternate store like 1Password does? Something else?

QUESTIONS?

Wednesday, May 19, 2010

Thank you!