You are on page 1of 97

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% 19%
FIREFOX CHROME

10% 9%
IE6/7/8 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 150,225
MAILMAN GOOGLE ASK
GROUPS REDDIT

?
NNTP

Wednesday, May 19, 2010
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
42 3
ADD-ONS
&
TAB BEHAVIORS

OS INTEGRATION

1 6
PLUG-INS BEING IN
STARTUP* CONTROL
UI CRUFT &
FOCUS CONSISTENCY
Wednesday, May 19, 2010
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.
Wednesday, May 19, 2010
The #1 cited issue
1
FOCUS
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.
Wednesday, May 19, 2010
2
STARTUP*
*but not what you think

…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”
Wednesday, May 19, 2010
3
BEING IN
CONTROL

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 user-
controllable

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!
Wednesday, May 19, 2010
4
ADD-ONS
&
PLUG-INS

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 add-
ons 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.
Wednesday, May 19, 2010
Everybody cares about this.
5
TAB BEHAVIORS
Opening tabs at the
end when new & next
to when context-
triggered 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 "Cmd-
click 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
Wednesday, May 19, 2010
6
UI CRUFT &
CONSISTENCY
Make search field tab-
specific & 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.
Wednesday, May 19, 2010
7
OS INTEGRATION

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!