[meta] Support elastic overscroll (rubberbanding) on macOS
Categories
(Core :: Panning and Zooming, defect, P3)
Tracking
()
People
(Reporter: paul, Unassigned)
References
(Depends on 3 open bugs, Blocks 2 open bugs)
Details
(4 keywords, Whiteboard: [gfx-noted][mac:ux])
Attachments
(2 files)
86.59 KB,
patch
|
Details | Diff | Splinter Review | |
2.10 KB,
text/html
|
Details |
Comment 1•10 years ago
|
||
Reporter | ||
Comment 2•10 years ago
|
||
Updated•10 years ago
|
Comment 3•9 years ago
|
||
Comment 4•8 years ago
|
||
Updated•7 years ago
|
Updated•7 years ago
|
Comment 6•7 years ago
|
||
Comment 7•7 years ago
|
||
Updated•7 years ago
|
Comment 10•6 years ago
|
||
Updated•6 years ago
|
Comment 11•6 years ago
|
||
(In reply to Mart from comment #7)
Any ideas about this? It's a key feature that would make Firefox on macOS
much, much more attractive.
After some many months I'm still agree with you.
Just give Firefox a try after so many years on Chrome (in the past Firefox lover).
I want to say that Firefox is much faster and for devs as me, inspector is much better, like it.
Waiting in Firefox for what we like so much in MacOS, smooth and cool animation, like elastic overscroll.
Updated•5 years ago
|
Updated•5 years ago
|
Comment 12•5 years ago
|
||
Windows also uses elastic overscroll/rubberbanding.
It's crazy to think that this issue is 5 years old. Chrome will probably have it after Microsoft gets it right with their new Edge browser. Microsoft Edge UWP/Spartan/EdgeHTML and even IE have great scrolling. Chrome gets a lot right though and even has gestures (history navigation and pull to refresh) with both touchpads and touchscreens.
Comment 13•5 years ago
|
||
Is there a way to raise this issue in the bugtracker somehow? Like starring the bug or something? This issue makes Firefox feel very out of place on macOS, and I'm not sure why it's taking so long to implement given that literally every other application on macOS supports this. Shouldn't be hard to implement. This has been a problem for years and is a big reason I can't bring myself to use Firefox regularly.
Comment 14•5 years ago
|
||
Is there a way to raise this issue in the bugtracker somehow? Like starring the bug or something?
You can cast your vote at the top.
Although I vote here and there, I am not quite sure how much weight the votes have for decision making though tbh. Hope that helps.
Comment 15•4 years ago
|
||
If this feature does get implemented, at least add an option to disable it from Preferences. I abandoned Safari because I could not disable it there. The rubber banding is unsuitable for a multitude of web applications when it is applied to the entire page rather than individual scroll views. There have been companies that disabled rubber banding for their sites. Figma and Discord disabled rubber banding for the page as it makes no sense to have the entire page bounce on the edge when building a native app-like experience.
Windows also uses elastic overscroll/rubberbanding.
No, it does not. At least not in the browser.
Comment 16•4 years ago
|
||
There is a way for pages to disable it (the overscroll-behavior CSS property).
In terms of a user override, there will likely be an about:config pref.
Comment 17•4 years ago
|
||
(In reply to Geoffrei M. from comment #15)
Windows also uses elastic overscroll/rubberbanding.
No, it does not. At least not in the browser.
If you're using a laptop that supports the precision trackpad drivers, then yes, Windows does utilize elastic scrolling. Not sure if Firefox or Chrome on Windows does but Microsoft Edge does for sure.
Comment 18•4 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #16)
There is a way for pages to disable it (the overscroll-behavior CSS property).
I mainly use overflow: none;
on <body>
, and I enable regular scrolling behavior using overflow: auto;
when building a website. Although, If I use overflow: none
using a StyleSheet extension on every page, most sites and apps break. It isn't the best solution. I will give the overscroll-behavior property a try and see if it works.
In terms of a user override, there will likely be an about:config pref.
Sounds good. As long as I can disable it, I have no problems if it is implemented.
Comment 19•4 years ago
|
||
(In reply to Ryan Johnson from comment #17)
If you're using a laptop that supports the precision trackpad drivers, then yes, Windows does utilize elastic scrolling. Not sure if Firefox or Chrome on Windows does but Microsoft Edge does for sure.
I had no idea. Thanks for the clarification.
Comment 20•4 years ago
|
||
(In reply to Ryan Johnson from comment #17)
(In reply to Geoffrei M. from comment #15)
Windows also uses elastic overscroll/rubberbanding.
No, it does not. At least not in the browser.
If you're using a laptop that supports the precision trackpad drivers, then yes, Windows does utilize elastic scrolling. Not sure if Firefox or Chrome on Windows does but Microsoft Edge does for sure.
Microsoft plans to add elastic overscroll to Chromium. There's already a flag. Microsoft and Google have improved scrolling in Chromium a lot. Microsoft also wants to add elastic overscroll to sub-frames like the UWP Edge. I rarely use Firefox as the scrolling is just hard to get used to. I've been waiting on direct manipulation support forever now :(
Comment 21•4 years ago
|
||
(In reply to Poopooracoocoo from comment #20)
(In reply to Ryan Johnson from comment #17)
(In reply to Geoffrei M. from comment #15)
Windows also uses elastic overscroll/rubberbanding.
No, it does not. At least not in the browser.
If you're using a laptop that supports the precision trackpad drivers, then yes, Windows does utilize elastic scrolling. Not sure if Firefox or Chrome on Windows does but Microsoft Edge does for sure.
Microsoft plans to add elastic overscroll to Chromium. There's already a flag. Microsoft and Google have improved scrolling in Chromium a lot. Microsoft also wants to add elastic overscroll to sub-frames like the UWP Edge. I rarely use Firefox as the scrolling is just hard to get used to. I've been waiting on direct manipulation support forever now :(
It's here, flip the pref apz.windows.use_direct_manipulation
Comment 22•4 years ago
|
||
holy cow!!! I think it's been 7 years! (In reply to Timothy Nikkel (:tnikkel) from comment #21)
(In reply to Poopooracoocoo from comment #20)
(In reply to Ryan Johnson from comment #17)
(In reply to Geoffrei M. from comment #15)
Windows also uses elastic overscroll/rubberbanding.
No, it does not. At least not in the browser.
If you're using a laptop that supports the precision trackpad drivers, then yes, Windows does utilize elastic scrolling. Not sure if Firefox or Chrome on Windows does but Microsoft Edge does for sure.
Microsoft plans to add elastic overscroll to Chromium. There's already a flag. Microsoft and Google have improved scrolling in Chromium a lot. Microsoft also wants to add elastic overscroll to sub-frames like the UWP Edge. I rarely use Firefox as the scrolling is just hard to get used to. I've been waiting on direct manipulation support forever now :(
It's here, flip the pref apz.windows.use_direct_manipulation
holy cow!!! it's been 7 years. No one commented on that issue so I didn't get an email. Thanks for telling me. I don't see that pref in version 77.0.1 (latest release). I do see apz.windows.force_disable_direct_manipulation which is true by default. It must be in Nightly, Dev or Beta then. How's the scrolling and zooming? Does pressing ctrl during inertial scrolling still zoom?
Comment 23•4 years ago
|
||
(In reply to Poopooracoocoo from comment #22)
holy cow!!! it's been 7 years. No one commented on that issue so I didn't get an email. Thanks for telling me. I don't see that pref in version 77.0.1 (latest release). I do see apz.windows.force_disable_direct_manipulation which is true by default. It must be in Nightly, Dev or Beta then. How's the scrolling and zooming? Does pressing ctrl during inertial scrolling still zoom?
It's only in nightly for now. If you want zooming too enabled apz.allow_zooming, you can test it out and if you have feedback let me know.
Comment 24•4 years ago
|
||
Maybe a new issue should be created for this problem? This one has been floating around for years with no progress.
Comment 25•4 years ago
|
||
(In reply to maximtsyba from comment #24)
Maybe a new issue should be created for this problem? This one has been floating around for years with no progress.
I'm sure the new issue would just be marked as a duplicate of this one with no other progress being made, unfortunately
Comment hidden (offtopic) |
Updated•4 years ago
|
Comment 27•4 years ago
|
||
The Panning and Zooming team has not forgotten about overscroll. We have been prioritizing work on desktop zooming (bug 688990 and related), which is another widely requested feature, recently. I will advocate to make overscroll one of our next priorities after desktop zooming.
Comment 28•4 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #27)
The Panning and Zooming team has not forgotten about overscroll. We have been prioritizing work on desktop zooming (bug 688990 and related), which is another widely requested feature, recently. I will advocate to make overscroll one of our next priorities after desktop zooming.
Very glad to hear! Keep it up!
Comment 29•4 years ago
|
||
As an update, now that bug 1620056 (zooming) has been closed as fixed, this might be looked at 👀 🤞
I wonder what happened to Markus Stange...
Comment 30•4 years ago
|
||
ah markus has been working of fenix's scrolling :) great work going on there! i don't remember why i said that in my previous comment as i've been following that bug lol
Comment 31•4 years ago
|
||
I'm currently working on this in and around classes/work. Currently figuring out how to translate between all the different coordinate systems, but I have a POC patch that just calls AsyncPanZoomController::GetOverscrollTransform and augments the async scroll delta by that amount. It works, but I'm definitely not doing the translation "properly," and scale may be slightly off because of that.
Comment 32•4 years ago
|
||
Just to clarify, I think this should just work on mac after it is fixed within apz since I don't see why it would follow any different codepath, but I'm doing implementation on Linux for this. There may be additional changes required for osx, but I'm not aware of any yet.
Comment 33•4 years ago
|
||
(In reply to Sawyer Bergeron from comment #32)
There may be additional changes required for osx, but I'm not aware of any yet.
On Mac, overscrolling to the left or the right can cause page navigation (backwards or forwards, respectively). We'll have to figure out how that would interact with a visual overscroll effect.
Comment 34•4 years ago
|
||
There may be additional changes required for osx, but I'm not aware of any yet.
Not sure if it's already part of the work, but we should respect system wide settings (NSScrollViewRubberbanding
).
Comment 35•4 years ago
•
|
||
We did a user study for missing macOS features/most annoying bugs end of last year, and bouncy scrolling got a negative rank. That is, users said that they would prefer not to have this and that adding it would actively make their experience worse. Edit: Refreshing my memory, that's not an entirely fair characterization. Rather, when given the choice between this and literally every other feature/bugfix we could consider doing, users always chose the other feature/bugfix, potentially indicating they actively dislike this.
So I'm not saying stop developing this, but enabling it by default should probably not be done without consideration as this clearly isn't a very popular behavior.
Comment 36•4 years ago
|
||
That's really interesting. I assume that Windows users have the same opinion, although Windows users don't have a native scrolling personality yet. I wonder which features/bugs topped the ranks :D
Comment 37•4 years ago
|
||
Gin-Carlo, it would be nice if that list were made public for the sake of transparency. Which are the other features that are more urgent for macOS users? Literally every browser implements this. Overscroll is a sign that you are adjusting the platform. If not you are developing software that has its own custom UX patterns that deviate from the standard.
If there wasn't interest this bug wouldn't be 6 years old.
Comment 38•4 years ago
|
||
If there wasn't interest this bug wouldn't be 6 years old.
I don't think that the age of this issue is an indicator of public interest (as in a majority) of elastic overscrolling. The votes or how many people have been CCd, maybe. But it's still BMO, a hard to find place for other Firefox users. but im being semantic lol. yeah the list should be made public, or at least some parts of it.
Comment 39•4 years ago
|
||
(In reply to Gian-Carlo Pascutto [:gcp] from comment #35)
We did a user study for missing macOS features/most annoying bugs end of last year, and bouncy scrolling got a negative rank.
You know, the only reason I prefer Safari over Firefox on macOS is missing of this feature. Of course, I didn't participate in the survey. It would be nice to estimate amount of (potential) users like me.
Comment 40•4 years ago
|
||
Comment 41•4 years ago
|
||
when given the choice between this and literally every other feature/bugfix we could consider doing, users always chose the other feature/bugfix, potentially indicating they actively dislike this.
I would suggest that there is a real possibility that people for whom this feature is at least somewhat important or the lack of it is a blocker for them (e.g. me) simply don't actively use Firefox, so they haven't responded to your survey…
Comment 42•4 years ago
|
||
(In reply to Kuba Suder from comment #41)
when given the choice between this and literally every other feature/bugfix we could consider doing, users always chose the other feature/bugfix, potentially indicating they actively dislike this.
I would suggest that there is a real possibility that people for whom this feature is at least somewhat important or the lack of it is a blocker for them (e.g. me) simply don't actively use Firefox, so they haven't responded to your survey…
i fall into this camp. Ok it's not the biggest deal but i'm SOOOOO used to scrolling like this that it just feels broken in Firefox. It seems superficial but it actually does give the user some feedback. If I "fling" the page using the trackpad and it does an elastic "bounce" then I'm 100% sure it has hit the bottom or top. Whereas if it just stops suddenly in a dull fashion - that could mean the page simply stopped scrolling - my brain has no confirmation it's actually the bottom or top. Again I know this sounds really pedantic but when you consider some of us are using browsers 4-8 hours a day it's these little features (or lack of) that can matter. Does apple not provide a component that handles all of this? (not saying it's easy to implement though)
Comment 43•4 years ago
|
||
i'd also add that it's just nice having consistency across all the apps. Firefox is maybe the only app i use that doesn't follow this standard. I don't think it's tacky or bothersome... it's actually pretty tasteful and having that little elastic tween makes it feel like a smooth landing rather than a sudden crash. Just more pleasing I guess.
Comment 44•4 years ago
|
||
The feature is being worked on. You can follow bug 1605234 and its dependencies for progress.
Comment 45•4 years ago
|
||
I just thought I would chime in and say that I would really appreciate this to. Literally every single app I use on the Mac has this and it makes them feel very native to the system. Firefox just feels out of place without it. Not the end of the world, but it would be great if Firefox felt as natural as Safari, Chrome, or even Edge.
Updated•4 years ago
|
Updated•4 years ago
|
Comment 46•4 years ago
|
||
I filed bug 1702988 which is an Overscroll issue. Thanks.
Updated•4 years ago
|
Comment 47•3 years ago
|
||
Overscroll seems to be implemented now. Firefox 89 on MacOS: overscrolling works on all pages, including about:preferences, etc.
Also works on Firefox Dev 90.
Issue 1605234 is still open but seems done. Nice work, somebody :)
Comment 48•3 years ago
|
||
Yep, I think we can close this as fixed in 89.
We'll keep bug 1605234 open to track releasing overscroll on other desktop platforms (Windows, Linux).
Comment 49•3 years ago
|
||
Marking this as Verified > Fixed as this was tested under PI-984 ticket submitted to QA and signed-off with GREEN color.
Comment 50•3 years ago
|
||
Oh my god. This is awful.
For anyone else who wants to disable this, go to about:config and set apz.overscroll.enabled to false.
Description
•