1. 100 PAPER CUTS
AN EXPERIMENT IN
SOCIAL MEDIA FEEDBACK
ALEXANDER LIMI
FIREFOX USER EXPERIENCE
APRIL 22ND, 2010
Wednesday, May 19, 2010
2. “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!
3. 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”
4. Wednesday, May 19, 2010
How many of you know what Reddit is?
How about Digg? 4chan? Slashdot?
5. 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.
6. 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.
7. The Reddit
Experiment
2300
COMMENTS
300 × LIMI
750
UPVOTES
Wednesday, May 19, 2010
Posted on a Friday afternoon, by Sunday we had…
8. 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
9. 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.
10. What kind of
feedback did we get?
Wednesday, May 19, 2010
The feedback was very varied, and interesting reading.
11. “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…
12. “Stop adding shit and
start cleaning up”
Wednesday, May 19, 2010
…to the pithy.
13. Wednesday, May 19, 2010
Some showed me screenshots of their awesome Firefox experience…
19. Wednesday, May 19, 2010
A rare example of an expressive user study in text form.
20. “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”
21. 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. ;)
22. 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.
23. 435
7
TAB BEHAVIORS
26
ADD-ONS
& OS INTEGRATION
1
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
24. 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.
26. 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
27. 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
28. 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.
29. 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.
30. “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
31. 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."
32. “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
33. 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)
34. 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”
35. Ideally: upgrade in the
background — if not,
upgrade at shutdown,
not startup!
Wednesday, May 19, 2010
36. 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?
37. 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
38. 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”
39. 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.
40. 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
41. 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.
42. 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.
43. 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
44. 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!
45. 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”
47. 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?
48. 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
49. 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.
50. 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 "?"
51. 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?)
52. 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!
53. 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)
54. 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!
55. 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?)
56. Click-to-activate for
plugins — default for
rare-but-perf-killing
things like Java
Wednesday, May 19, 2010
57. 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?
58. 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?”
59. 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.
61. 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.
62. 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?)
63. 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
64. 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
65. Fix tab stack ordering
Wednesday, May 19, 2010
Return to previously focused tab when closing a tab
66. 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?
67. Tab reloads when it is
detached; this is
annoying and
unexpected/dangerous
Wednesday, May 19, 2010
68. 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.
69. 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
70. 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
71. 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?
72. Let me have Private
and normal windows
at the same time
Wednesday, May 19, 2010
Will land with Electrolysis?
73. Ask when hitting ⌘Q
Wednesday, May 19, 2010
Very easy to accidentally hit
74. Better load indicators
— separate activity
from progress
Wednesday, May 19, 2010
Being handled in the new theme, but:
- Separate activity from progress
75. 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)
76. Eliminate fake “bounce”
when scrolling tab bar,
you can’t see when
you’re at the end
Wednesday, May 19, 2010
78. 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
79. 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!
80. 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
81. 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.
82. Fix downloads!
<enter lots of suggestions already captured>
Wednesday, May 19, 2010
Part of the Download redesign
83. 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
84. “Search Google for…”
context menu entry
should be in textareas
& inputs too
Wednesday, May 19, 2010
85. 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
86. “Paste & Go”
“Paste & Search”
Wednesday, May 19, 2010
A lot of people right-click to paste
87. 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
88. Make Personas work
better with the default
theme, make them
easy to remove
Wednesday, May 19, 2010
89. 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.
90. Wednesday, May 19, 2010
7
OS INTEGRATION
Reddit is probably a bit sysadmin-heavy, so lots of feedback on these things
91. 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.
92. 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>
93. 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.
94. 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...”
95. 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?
96. 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?
I&#x2019;m usually not a quote person, but if you&#x2019;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&#x2019;s why paper cuts are so dangerous for our project.
See: Apple, Chrome&#x2026; and Firefox!
aka. &#x201C;how to ask for punishment&#x201D;
How many of you know what Reddit is?
How about Digg? 4chan? Slashdot?
The complex matrix of social news sites&#x2026;
Why is Reddit interesting? They are the &#x201C;right size & right people&#x201D;, 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.
I&#x2019;m stern, but fair.
Posted on a Friday afternoon, by Sunday we had&#x2026;
Posted on a Friday afternoon, by Sunday we had&#x2026;
Posted on a Friday afternoon, by Sunday we had&#x2026;
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
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
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
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
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
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.
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.
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.
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.
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.
The feedback was very varied, and interesting reading.
From the hilarious&#x2026;
&#x2026;to the pithy.
Some showed me screenshots of their awesome Firefox experience&#x2026;
&#x2026;others were looking for help.
Some people had advice about our technology stack&#x2026;
&#x2026;and knew who they were talking to.
We need to get out of the 1980s California bubble and start talking like real men.
Don&#x2019;t help &#x201C;the stupids.&#x201D;
A rare example of an expressive user study in text form.
In general though, people really like Firefox, and people that say they switched browsers say they &#x201C;wish they could switch back&#x201D;
For this talk, we also have some ground rules:
- There&#x2019;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&#x2019;t be offended ;)
- We can&#x2019;t really go into a lot of these in detail during the presentation, so take notes, and we&#x2019;ll talk at the end. Even if I&#x2019;m wrong, resist the temptation to tell me so immediately. ;)
I&#x2019;m in the process of filing these as bugs.
I&#x2019;m in the process of filing these as bugs.
I&#x2019;m in the process of filing these as bugs.
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
Since nobody will be awake at the end of the presentation, here are some of the most important things to keep in mind.
The #1 cited issue
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
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
This goes for
1) Javascript alerts/prompts,
2) htauth prompts,
3) master password for the "software security device".
Probably others.
&#x2026;but not what you think. This isn&#x2019;t about raw startup performance, file system I/O, etc.
WE HAVE THE TECHNOLOGY, WE CAN REBUILD THEM
Possibly export/import bookmarks and passwords? Think: &#x201C;Local Weave&#x201D; 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."
Cited as &#x201C;#1 reason for switching to Chrome&#x201D;
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
- Silent updates for add-ons, with possibility to enable
- Firefox updates should be applied on shutdown, never on startup (ideally in the background)
We have a UI term for this, it&#x2019;s called the YO DAWG
&#x201C;Yo dawg, I heard you like extensions so I made an extension that installs other extensions&#x201D;
Do we think we fixed this? Reported to still be there in 3.6.3, but this may have landed on trunk?
Delayed loading of tabs on session restore = faster startup + less memory used until you need the tab
People like the ability to selectively invoke session restore. &#x201C;I generally don&#x2019;t want it, but sometimes it would be very useful, especially when restarting for updates&#x201D;
The biggest category, by far &#x2014; 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&#x2019;t disappoint them.
- Limi&#x2019;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
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 &#x2192; Content &#x2192; Enable JavaScript &#x2192; Advanced.
I have only the context menu item ticked.
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.
Respect the defaults, but make it possible to revert &#x2014; e.g. turn toolbar/scrollbars back on, resize, etc
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!
boolean general.I_understand_SSL ;)
Possibly use Perspectives? www.cs.cmu.edu&#x2014;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.
&#x201C;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&#x201D;
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?
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
Enough people try to use URL bar as search, and are confused by inconsistent behavior. Let&#x2019;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.
People can teach themselves over time
Hovercard similar to Gmail's "?"
We stopped &#x201C;speaking URL&#x201D; 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?)
Part of the Downloads work.
We can&#x2019;t leave this to Adobe. Seriously!
Our crack cocaine &#x2014; bad for you, but you can&#x2019;t stop
(silent updates is the #1 request, but covered earlier + part of the Extension Manager redesign project)
People say this was fixed at some point, but it still happens!
IE Tab is a prime example, there&#x2019;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?)
We need a better solution for this, possibly doorhanger notifications with option to go to the page?
e.g. Skype, Norton
&#x201C;Since you last started Firefox, an application installed add-on/plugin XYZ &#x2014; are you sure you want to enable it?&#x201D;
In general, people were unhappy with the clutter extensions can add to menus, toolbars, etc.
Everybody cares about this.
Most people prefer the new behavior!
Simpler is better, always open next to current tab or always open at end.
Should insert a marker to indicate that the history is from a separate source, either in the menu or on the button itself (color?)
I never argue for more preferences, but this is an instance where I think it&#x2019;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
Chrome nailed the don&#x2019;t-resize-tabs-until-you-are-done-closing-them
What I want to do: More powerful tab operations: Shift/Ctrl for range/multiselect + close
Return to previously focused tab when closing a tab
There are a million shortcuts to switch to left/right of current tab, why do we have to adopt stupid behavior here?
People can&#x2019;t remember whether what they closed was a window or a tab.
Make the minimum tab width smaller, remove the scroll arrows, only list tabs I can&#x2019;t see in the pulldown
- 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
cmd-clicking JS links open blank windows, can we either make this work or disable loading these in tabs?
Will land with Electrolysis?
Very easy to accidentally hit
Being handled in the new theme, but:
- Separate activity from progress
&#x201C;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.&#x201D;
Flipside: sometimes we don&#x2019;t open a new window when we should (if we can&#x2019;t detect)
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
The &#x201C;Find toolbar tax&#x201D; &#x2014; 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
- &#x201C;bounce&#x201D; 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!
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
I believe we can reliably detect this now?
Also: localhost (local network?) should never be offline
Developers should get an extension to simulate this.
Part of the Download redesign
e.g. Open in New Tab over Open in New Window
Part of the menu cleanup project
- 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&#x2019;t copied properly (only one element)
- Generally, highlighting is really error-prone and hard to predict
A lot of people right-click to paste
Access to all controls, menus etc, but hidden. Solving this as part of the touch/slate UI experimentations
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.
Reddit is probably a bit sysadmin-heavy, so lots of feedback on these things
"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.
&#x201C;Opera has it&#x201D;
- 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&#x2014;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>
&#x201C;Chrome has it&#x201D; ;)
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.
&#x201C;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...&#x201D;
&#x201C;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.&#x201D;
xdg-open?
Is there something smart we can do here? Read-only capability, store in alternate store like 1Password does? Something else?