Last Comment Bug 198964 - Enable smooth scrolling by default
: Enable smooth scrolling by default
Status: VERIFIED FIXED
[Snappy][qa!]
:
Product: Core
Classification: Components
Component: Layout: View Rendering (show other bugs)
: Trunk
: All All
: -- normal with 1 vote (vote)
: mozilla13
Assigned To: Jared Wein [:jaws] (please needinfo? me)
:
: Jet Villegas (:jet)
Mentors:
: 235353 401412 712271 (view as bug list)
Depends on: 726468 763831 198987 199024 199107 199289 199607 199671 201307 202718 204728 763825
Blocks: 100951 710372 235353
  Show dependency treegraph
 
Reported: 2003-03-24 07:56 PST by Robert O'Callahan (:roc) (email my personal email if necessary)
Modified: 2016-08-01 14:32 PDT (History)
47 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---
+
verified


Attachments
WIP of patch for bug 198964 (926 bytes, patch)
2011-12-13 14:32 PST, Jared Wein [:jaws] (please needinfo? me)
no flags Details | Diff | Splinter Review
WIP of patch for bug 198964 (14.77 KB, patch)
2011-12-21 16:49 PST, Jared Wein [:jaws] (please needinfo? me)
no flags Details | Diff | Splinter Review
Patch for bug 198964 (17.70 KB, patch)
2012-01-06 06:07 PST, Jared Wein [:jaws] (please needinfo? me)
gavin.sharp: review-
Details | Diff | Splinter Review
Patch for bug 198964 v2 (17.25 KB, patch)
2012-01-12 15:59 PST, Jared Wein [:jaws] (please needinfo? me)
gavin.sharp: review+
Details | Diff | Splinter Review
Backout of enabling general.smoothScroll from Firefox 12 (974 bytes, patch)
2012-03-12 14:04 PDT, Jared Wein [:jaws] (please needinfo? me)
gavin.sharp: review+
akeybl: approval‑mozilla‑aurora+
Details | Diff | Splinter Review

Description Robert O'Callahan (:roc) (email my personal email if necessary) 2003-03-24 07:56:12 PST
Now that smooth scrolling has been checked in, we need to decide whether and
when it should be enabled.

My current feeling is that we should honor the platform setting if there is one
(this may require adding to nsILookAndFeel). If there is no platform setting
then we should default to OFF for Seamonkey. Other products can make their own
decisions.

I don't think there should be UI for this.
Comment 1 David Tenser [:djst] 2003-03-24 09:55:10 PST
I agree, there's no need for a UI pref for this. In my humble opinion, this
should be on by default in Phoenix. I don't have an opinion for Mozilla.
Comment 2 David Tenser [:djst] 2003-03-24 10:25:03 PST
Please disregard my previous comment. A Phoenix-specific bug has been filed: Bug
198992
Comment 3 Stefan Borggraefe 2003-03-26 06:49:22 PST
What about making this bug dependent on all bugs that have to be fixed before
smooth scrolling may be enabled by default?

In my opinion this list should include Bug 198987, Bug 199107 and Bug 199024.

Enabling smooth scrolling without these bugs fixed would annoy users to much, I
believe.
Comment 4 Robert O'Callahan (:roc) (email my personal email if necessary) 2003-03-26 07:49:09 PST
Good idea. Can you add the dependencies? Thanks.
Comment 5 John McCormick 2003-03-27 18:01:20 PST
I hate to be the voice of dissent in my very first bugzilla post, but I can't
agree at all with above comments about there needing to be no UI for this. 

Certainly, where there IS a platform setting for smooth scrolling, it should be
followed by default. Most platforms don't really have such a setting at the
moment, though. Internet Explorer, I think the first thing to offer this
behaviour, set the precedent by allowing it to be turned on or off in its
advanced preferences. I am very glad that the option is available there--I
really dislike the way IE smooth-scrolls and would hate to be locked into
dealing with it. I would hate even more to be locked into using mozilla's
smooth-scroll. Two reasons: (1) while different and perhaps better than IE's,
it's still not preferable on my machine; (2) There's no reason, given the
extensiveness of mozilla's preference panel, not to have it there. Other
projects with simplicity interests can, as already mentioned, make their own
decision on UI.
Comment 6 Albert R. 2003-04-02 10:23:35 PST
Is there a way to check whether the IE preference for smooth scroll has been
turned on and then just use that setting for Mozilla?  Maybe it's in the
registry somewhere.  That could be one solution.

On second thought, there probably should be a UI option in case users on other
OSes want it for some bizarre reason or if windows users really hate smooth
scrolling.  I'd hate to see UI for yet another pref, but messing with look and
feel and making it harder to change than a checkbox is probably going to annoy
users.
Comment 7 dylang 2003-04-02 10:29:38 PST
Not everyone likes smooth scrolling.

One of the big reasons I've never liked IE, is because its core behaviour has
felt different. When I was trying out IE4 along side NS4, back in 1998, I
noticed how the key presses (pgup/dwn, arrows, mouse wheel) didn't work as expected.

Whenever I've had to use a computer with IE, that I could just plonk Mozilla on,
I've removed smooth scrolling. All it did was un-smooth it (IMO) since I
couldn't use the mouse wheel or keys in the same way as I'd used them in
every-other application since I started using a computer. It breaks how the
interface feels.

Please do not enable this by default.  Have a preference in the installer for
Netscape behaviour or IE behaviour, letting people choose the feel (ala KDE).
Comment 8 Robert O'Callahan (:roc) (email my personal email if necessary) 2003-04-02 11:18:58 PST
Our smooth-scroll technique is much less intrusive than IE's. I'd like people to
try our smooth scrolling and base their comments on that when they comment in
this bug. "I don't like the way it works in IE" is not really valid since we do
it differently from IE.
Comment 9 Sander 2003-04-02 11:31:10 PST
Robert: you _want_ people to comment in this bug with their opinion, or are you
only saying that if they really must, to do so based on actual experience?
Comment 10 Robert O'Callahan (:roc) (email my personal email if necessary) 2003-04-02 15:47:03 PST
I want people to comment. But I want people to comment based on their
experiences with Mozilla, not IE. And I'd prefer it if people wait until after
the patch in bug 199607 has landed, which among other things makes it smoother.
Comment 11 Waheed Islam 2003-04-04 01:58:15 PST
no UI = Bad Idea
Some people might like smooth scroll in other applications,
but not when browsing the web.

By default, it should honor OS settings.
And it's a totally stupid idea to rely on IE's.

Where is Windows' (OS) setting for smooth scroll?
- not under control panel -> mouse.
Comment 12 Robert O'Callahan (:roc) (email my personal email if necessary) 2003-04-04 20:28:28 PST
I think control panel -> Display -> Appearance under "effects". It's been a
while since I used Windows.
Comment 13 Sander 2003-04-05 15:09:11 PST
Okay, with bug 199607 in I tested this again. I am noticing a difference with
before, and like it better. In fact, if I scrolled only with pageup/pagedown or
by clicking in the scrollbar, I'd like it a lot and would be in favour of
enabling this by default.
However, I mostly scroll by using the scrollwheel, even for long distances. Due
to the continuous slowing down and speeding up for each "drag" on the
mousewheel, this creates a quite disconcerting effect, not to mention that it
_seems_ a lot slower. (And continuous scrolling with the arrow keys has just
become a crawlingly slow hell, even though it's especially there that it looks a
lot prettier than it did before.)

Now, I hardly ever use IE, and when I'm forced to I never notice this feature
(though I guess it could be turned off), but for Mozilla, unless there are
numbers showing that most users don't scroll using the mousewheel, I favour this
being off by default. 
(Actually, this should be a new bug, but whatever: could it be possible to do
this or not based on _how_ the view is being scrolled? If so, enable it for
pageup/pagedown, enable it but at a faster speed for arrow keys, and disable it
for mousewheel - that way it all works out and no visual pref would be needed
either.)
I hope that's the kind of feedback you were looking for. :)
Comment 14 Robert O'Callahan (:roc) (email my personal email if necessary) 2003-04-05 15:37:33 PST
That's good feedback.

> And continuous scrolling with the arrow keys has just become a crawlingly slow
> hell

You mean it takes you longer to scroll to the bottom of a long document with
smooth scrolling on? (It shouldn't.) or it just *feels* slower?

We could quite easily disable smooth scrolling for mousewheel scrolls, if we
decide that makes sense.
Comment 15 Sander 2003-04-06 06:00:21 PDT
You're right, I timed it, and it only _feels_ slower when you continuously
scroll with the arrow keys. But it feels _a lot_ slower. :) 
Of course, I never scroll more than a few lines with the arrow keys, so I don't
know if this feeling would be important. And since it's possible to disable this
for mousewheel, I'm now in favour of doing that, enabling it for everything else
(with the possible exception of the arrow keys where I'm indifferent), and not
providing a UI pref.
Comment 16 John McCormick 2003-04-08 23:49:26 PDT
Let me take back some of my earlier comments. Fixing Bug 199607 has made a world
of difference... so much so that I'd even understand having this automatically
and permanently on. While I still tend to think that it's a bad idea to have no
UI for this, really, the quality of it makes it much less of an issue. And, of
course, given the apparent new direction for the mozilla suite, preference
retail is about to get pretty expensive, I'd imagine. Maybe there could be a
smoothscrool customization extension ;)

Also, since this is apparently a question, I just thought I'd point out that in
Windows 95, 98, NT, and 2000, there is no system setting for smooth scrolling.
Windows XP may be different; I'm unsure. I could easily check, if it would be
helpful.

Anyway, excellent work on this! I am much impressed, maybe a smoothscroll
convert, and ... just thought I'd try and give my thanks along with my comments
to whoever they are due.
Comment 17 fondacio 2003-04-09 11:41:02 PDT
> Also, since this is apparently a question, I just thought I'd point out that in
> Windows 95, 98, NT, and 2000, there is no system setting for smooth scrolling.

For the sake of completeness: Internet Explorer has had a setting for smooth
scrolling in the "Advanced" tab of Internet Options since version 4.0. In
Windows 98 (and probably also in 95, NT and 2000), adding Tweak UI provides you
with a system-wide checkbox for smooth scrolling. Normally, MS Office and
Windows have smooth scrolling, but with Tweak UI you can switch it off.

If Mozilla would follow system settings in Win9x, the default for smooth
scrolling should be "on" on this platform. And I would be in favour of UI either
in the "Appearance" or "Advanced" section.
Comment 18 Jacek Piskozub 2003-04-09 12:08:31 PDT
I checked using TweakUI that on my WinME, the system setting (actually per-user
setting) in registry is:

[HKEY_CURRENT_USER\Control Panel\Desktop]
"SmoothScroll"=hex:00,00,00,00
for the smooth scrolling switched off and
"SmoothScroll"=hex:01,00,00,00
for switched on.
Comment 19 Hixie (not reading bugmail) 2003-04-14 18:48:56 PDT
Wow, smooth scrolling in 1.4a rocks. So, so much better than IE's. Great work roc!
Comment 20 Brian 'netdragon' Bober 2003-07-07 09:31:35 PDT
This has nothing to do with my opinion of smooth scrolling, but simply my 2
cents after reading the comments.

I don't think this pref would merit UI since I am of the camp that we should
keep prefs, but make the prefs UI as simple as possible and delegate the rest to
about:config.

Since IE and Mozilla probably don't have exactly identical smooth scrolling
since they aren't identical browsers, it should be not assumed that people would
want to use smooth scrolling on Mozilla if its allowed for IE. I think we should
have honoring OS settings by default as one of the choices, but also should have
a choice to have it always on and always off.

I thought about having 3 options for the pref:

1: always on
2: always off
3: Base on OS (default)

But the 3rd is a problem for OSes that don't give you smooth scrolling as a
system-wide pref. Would you default to on or off in that case? Should we just
have 2, or 3? I think maybe just 2 because users don't expect a 3rd party
portable application to follow the system-wide settings, do they? Even some of
Microsoft's applications do their own thing. What do you think?

Giving people the choice is always important until things work perfectly in
everyon's opinion (utopian, but unrealistic).
Comment 21 Simon Strandman 2005-10-04 01:48:08 PDT
Any news on this? I think it would be a good idea to make smooth scrolling the
default.
Comment 22 Thomas Bertels 2005-10-15 06:44:21 PDT
All depends on the two remaining bugs, but I think that only the bug 201307
should block this one.
Anyways, Novell said that it won't be fixed until Gecko 1.9, so we'll have to
wait for Firefox 2.0, which isn't going to be out before one year.
I don't think that it's very good for the Firefox's popularity, because people
don't know that it's possible to change this behavior (hidden in the advanced
prefs), so they say "IE is more comfortable". Scrolling is really popular among
web users.
Comment 23 flock31070 2005-11-19 16:58:24 PST
Smooth scrolling is blurry and CPU intensive on 1GHZ Duron.
Comment 24 zug_treno 2008-02-01 13:40:14 PST
*** Bug 401412 has been marked as a duplicate of this bug. ***
Comment 25 Jared Wein [:jaws] (please needinfo? me) 2011-12-09 13:26:26 PST
I can do the front-end parts of this bug.

I think we should enable the pref, but only enable it if hardware acceleration is available and enabled and not do smooth scrolling if the keyboard up/down arrows are used.
Comment 26 Robert O'Callahan (:roc) (email my personal email if necessary) 2011-12-09 13:57:24 PST
(In reply to Jared Wein [:jwein and :jaws] from comment #25)
> I think we should enable the pref, but only enable it if hardware
> acceleration is available

That's an option, but may not be necessary.

> and enabled and not do smooth scrolling if the
> keyboard up/down arrows are used.

Other browsers seem to smooth-scroll on the up/down arrows. I like it. But up to you.
Comment 27 Jared Wein [:jaws] (please needinfo? me) 2011-12-13 14:32:32 PST
Created attachment 581437 [details] [diff] [review]
WIP of patch for bug 198964

Pushed to try, although I have a feeling that /content/events/test/test_bug350471.xul and /content/events/test/test_bug574663.html will need to be updated since it looks like they assume the pref is off.

https://tbpl.mozilla.org/?tree=Try&rev=fe9874b2441b
Comment 28 Logan Rosen [:Logan] 2011-12-20 06:31:36 PST
*** Bug 712271 has been marked as a duplicate of this bug. ***
Comment 29 Jared Wein [:jaws] (please needinfo? me) 2011-12-21 16:49:34 PST
Created attachment 583678 [details] [diff] [review]
WIP of patch for bug 198964

This WIP should include all of the test fixes.

Sent to try server: https://tbpl.mozilla.org/?tree=Try&rev=5c2afb3fc2d5
Comment 30 Jared Wein [:jaws] (please needinfo? me) 2011-12-24 17:26:39 PST
Just to give an update. Here is where the latest patch stands: https://tbpl.mozilla.org/?tree=Try&rev=0ff6bd60fc1e

I will be away for vacation in case anyone wants to fix those last two tests. The patch isn't attached to this bug but can be retrieved from the tryserver at this link: https://hg.mozilla.org/try/raw-rev/b819e773a077
Comment 31 Marco Castelluccio [:marco] 2011-12-26 17:10:27 PST
*** Bug 235353 has been marked as a duplicate of this bug. ***
Comment 32 Jared Wein [:jaws] (please needinfo? me) 2012-01-06 06:07:42 PST
Created attachment 586398 [details] [diff] [review]
Patch for bug 198964

Pushed to try: https://tbpl.mozilla.org/?tree=Try&rev=bc78e1ff3b2f

When landed, we will back it out of Aurora until the other smooth scrolling bugs are fixed.
Comment 33 Jared Wein [:jaws] (please needinfo? me) 2012-01-11 14:18:13 PST
From IRC (for my own notes):
> [11:29 AM] <gavin> jaws: clearUserPref never throws anymore
> [11:30 AM] <gavin> so you don't need to check prefHasUserValue before calling it in those smoothscroll tests
> [11:30 AM] <gavin> http://hg.mozilla.org/mozilla-central/rev/56d482ecbbc6
> [11:31 AM] <gavin> jaws: also you can use it in the cases where you have "prevValue" and then restore it
Comment 34 :Gavin Sharp [email: gavin@gavinsharp.com] 2012-01-12 12:54:49 PST
Comment on attachment 586398 [details] [diff] [review]
Patch for bug 198964

All the tests that use "prevSmoothScrollPref" or something like it should be changed to use clearUserPref, as discussed on IRC.
Comment 35 Jared Wein [:jaws] (please needinfo? me) 2012-01-12 15:59:23 PST
Created attachment 588223 [details] [diff] [review]
Patch for bug 198964 v2

Updated and pushed to try: https://tbpl.mozilla.org/?tree=Try&rev=9cfea889ac56
Comment 36 Jared Wein [:jaws] (please needinfo? me) 2012-01-13 16:31:49 PST
https://hg.mozilla.org/integration/fx-team/rev/f7c8c8ee3fad
Comment 37 Tim Taubert [:ttaubert] 2012-01-16 02:31:18 PST
https://hg.mozilla.org/mozilla-central/rev/f7c8c8ee3fad
Comment 38 Michael 2012-01-17 13:11:58 PST
I just hit this change in the latest Nightly.  It provides a very poor user experience.  While some users prefer smooth scrolling, I don't, so I had it unchecked on all of my machines.  The latest build ignores and changes my user preferences, forcing me to change it back on all of my machines again.  (As I use a lot of different machines, this is a lot of work.)  The browser should never ignore user preferences, or change them without permission from the user.
Comment 39 Jared Wein [:jaws] (please needinfo? me) 2012-01-17 13:17:01 PST
(In reply to Michael from comment #38)
> I just hit this change in the latest Nightly.  It provides a very poor user
> experience.

Thanks for your input. We are working on making smooth scrolling a better experience (see bug 710372). Can you file bugs for the user experience issues that you have with smooth scrolling? It'd be great if we could fix them and bring the feature to a point where you would like it enabled.
Comment 40 Michael 2012-01-17 13:21:52 PST
Sure. Will do!

Will this change reset my preferences every time I install a new Nightly?
Comment 41 Michael 2012-01-17 13:29:33 PST
It's not so much that it's a bug as that I like my browser (and other software) to respond instantly.  I know I'm scrolling and I don't want to have to wait for the browser to do so.  So even if smooth scrolling is fast, it's still annoying, because I still have to wait.  Every.  Time.  I.  Hit.  Page.  Down.  And I do that several times a minute on a typical page.  So there's really no change to smooth scrolling that would make me want to enable it, because by its very nature, it makes me want to disable it.  In general, I like features that make my browser faster and easier to use.  I don't like features that make it feel less responsive.

If you'd like me to file that as a bug, I can do so.

Also, it takes more CPU, and therefore more battery, to do smooth scrolling, and thus reduces the battery life on laptops where it's used.
Comment 42 Jared Wein [:jaws] (please needinfo? me) 2012-01-17 13:32:10 PST
(In reply to Michael from comment #40)
> Sure. Will do!
> 
> Will this change reset my preferences every time I install a new Nightly?

This preference should not change each time you update Nightly. Please file a bug if it does :)

(In reply to Michael from comment #41)
> It's not so much that it's a bug as that I like my browser (and other
> software) to respond instantly. ...

Let's move these discussions to a separate place, maybe dev.apps.firefox, so that the > 40 people CC'd to this bug don't get pinged continuously.
Comment 43 Robert O'Callahan (:roc) (email my personal email if necessary) 2012-01-18 17:47:09 PST
Maybe we should make the preference a tri-state value, with the default being to consults some system preference.

Windows XP had a setting for this: http://www.pctools.com/guides/registry/detail/121/. Dunno about later versions.
Comment 44 Jared Wein [:jaws] (please needinfo? me) 2012-01-31 02:24:03 PST
(In reply to Jared Wein [:jaws] from comment #32)
> Created attachment 586398 [details] [diff] [review]
> Patch for bug 198964
> 
> When landed, we will back it out of Aurora until the other smooth scrolling
> bugs are fixed.

Taras and I have talked about this and think that we should wait until Beta to back this out so we can get more feedback from the Aurora channel users on this change.
Comment 45 Jared Wein [:jaws] (please needinfo? me) 2012-03-12 14:04:52 PDT
Created attachment 605096 [details] [diff] [review]
Backout of enabling general.smoothScroll from Firefox 12

[Approval Request Comment]
Regression caused by (bug #): not a regression, feature's not ready yet
User impact if declined: user's will get a worse first-impression of the feature
Testing completed (on m-c, etc.): no testing, we want to keep it enabled on nightly and fx13
Risk to taking this patch (and alternatives if risky): possible test breakage between the feature getting enabled and the disabling of it, but none expected.
String changes made by this patch: none.
Comment 46 Jared Wein [:jaws] (please needinfo? me) 2012-03-12 14:37:53 PDT
(In reply to Jared Wein [:jaws] from comment #45)
> Created attachment 605096 [details] [diff] [review]
> Backout of enabling general.smoothScroll from Firefox 12

Pushed to try server: https://tbpl.mozilla.org/?tree=Try&rev=500df344b8ff
Comment 47 Alex Keybl [:akeybl] 2012-03-12 15:28:37 PDT
Comment on attachment 605096 [details] [diff] [review]
Backout of enabling general.smoothScroll from Firefox 12

[Triage Comment]
Pref change - approved for Aurora 12.
Comment 48 Jared Wein [:jaws] (please needinfo? me) 2012-03-12 17:19:45 PDT
Backed out from Aurora12:
https://hg.mozilla.org/releases/mozilla-aurora/rev/0e04fa59464c
Comment 49 Mozilla RelEng Bot 2012-03-12 19:04:17 PDT
Try run for 500df344b8ff is complete.
Detailed breakdown of the results available here:
	https://tbpl.mozilla.org/?tree=Try&rev=500df344b8ff
Results (out of 83 total builds):
    success: 71
    warnings: 12
Builds (or logs if builds failed) available at:
http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/jwein@mozilla.com-500df344b8ff
Comment 50 Dão Gottwald [:dao] 2012-03-22 05:41:08 PDT
I think we should back this out a second time from aurora because of bug 737758. The fact that the behavior is unintentionally inconsistent across platforms means that developers and UX people on Windows may be unaware of the behavior on other platforms, and vice versa, so it's not clear that this is in a good shape across the board.
Comment 51 Marco Castelluccio [:marco] 2012-04-28 16:58:19 PDT
I've just updated to beta on an old Windows XP machine (not so old: Intel single core ~2GHz, 1 GB RAM, NVIDIA GeForce 6 series). The user experience with smooth scrolling isn't good at all. Maybe we should fix bugs blocking bug 710372 before enabling the pref by default.
Comment 52 (dormant account) 2012-04-30 12:02:10 PDT
(In reply to Marco Castelluccio from comment #51)
> I've just updated to beta on an old Windows XP machine (not so old: Intel
> single core ~2GHz, 1 GB RAM, NVIDIA GeForce 6 series). The user experience
> with smooth scrolling isn't good at all. Maybe we should fix bugs blocking
> bug 710372 before enabling the pref by default.

please file a new bug for this.
Comment 53 Tim Hill 2012-04-30 14:49:16 PDT
I think this should obey the standard Windows performance setting by default.
http://msdn.microsoft.com/en-us/library/windows/desktop/dd318018(v=vs.85).aspx
http://www.sevenforums.com/tutorials/1908-visual-effects-settings-change.html
Comment 54 Marco Castelluccio [:marco] 2012-04-30 14:54:29 PDT
(In reply to Taras Glek (:taras) from comment #52)
> please file a new bug for this.

It was only an advice, I can't open a new bug because I haven't direct access to that machine and so I can't do any test.
As far as I've noticed the worse problem was related to screen refresh, so bug 702463 could have resolved it.
Comment 55 Mihaela Velimiroviciu (:mihaelav) 2012-05-24 07:08:21 PDT
Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20100101 Firefox/13.0
Mozilla/5.0 (X11; Linux i686; rv:13.0) Gecko/20100101 Firefox/13.0
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:13.0) Gecko/20100101 Firefox/13.0

Verified that Smooth Scrolling is enabled by default (Options>Advanced>General>Use smooth scrolling is checked and general.smoothScroll pref is "true" in about config)

Marking VERIFIED in Firefox 13.

Note You need to log in before you can comment on or make changes to this bug.