Bug 1916760 Comment 13 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

(In reply to Hiroyuki Ikezoe (:hiro) from comment #12)
> I suppose this difference comes from the fact that we've used MSD physics, thus the initial scroll distance is large. CCing Markus.

Indeed, I think so.

> FWIW, there are two prefs layout.css.scroll-behavior.damping-ratio and layout.css.scroll-behavior.spring-constant to control the MSD physics for JS smooth scrolling.

Thanks. From poking and setting extreme values:
- the `damping-ratio` pref seems to control a "wobble" at the end of the animation (e.g. I can get an extremely silly "wobble" if I set it to `0.2` :) )
- the `spring-constant` pref seems to control the overall speed (so e.g. `layout.css.scroll-behavior.spring-constant` = `30` makes the scroll happen more slowly such that I can see it happen).  However, it also makes the whole scroll operation take much longer.  (And I think the initial velocity might still be the highest velocity?)

In cases where the scroll is initiated by a user action, our model makes intuitive sense to me (like the user action is a "fling" or a hammer-strike to grant an instant burst of speed, from which it slows down -- that's my perception of how MSD physics is operating here at least).  But in cases like the Prime Video carousel where the scroll is happening on its own without any user interaction, this instant burst of speed arguably feels a bit disconcerting.
(In reply to Hiroyuki Ikezoe (:hiro) from comment #12)
> I suppose this difference comes from the fact that we've used MSD physics, thus the initial scroll distance is large. CCing Markus.

Indeed, I think so.

> FWIW, there are two prefs layout.css.scroll-behavior.damping-ratio and layout.css.scroll-behavior.spring-constant to control the MSD physics for JS smooth scrolling.

Thanks. From poking and setting extreme values:
- the `damping-ratio` pref seems to control a "wobble" at the end of the animation (e.g. I can get an extremely silly "wobble" if I set it to `0.2` :) )
- the `spring-constant` pref seems to control the overall speed (so e.g. `layout.css.scroll-behavior.spring-constant` = `30` makes the scroll happen more slowly such that I can see it happen).  However, it also makes the whole scroll operation take much longer.  (And I think the initial velocity might still be the highest velocity?)

In cases where the scroll is initiated by a user action, our model makes intuitive sense to me (it feels like the user button-press is intuitively serving as a "fling" or a "hammer-strike" to grant an instant burst of speed, from which the content then progressively slows down -- that's my perception of how MSD physics is operating here at least).  But in cases like the Prime Video carousel where the scroll is happening on its own without any user interaction, this instant burst of speed arguably feels a bit disconcerting.
(In reply to Hiroyuki Ikezoe (:hiro) from comment #12)
> I suppose this difference comes from the fact that we've used MSD physics, thus the initial scroll distance is large. CCing Markus.

Indeed, I think so.

> FWIW, there are two prefs layout.css.scroll-behavior.damping-ratio and layout.css.scroll-behavior.spring-constant to control the MSD physics for JS smooth scrolling.

Thanks. From poking and setting extreme values:
- the `damping-ratio` pref seems to control a "wobble" at the end of the animation (e.g. I can get an extremely silly "wobble" if I set it to `0.2` :) )
- the `spring-constant` pref seems to control the overall speed (so e.g. `layout.css.scroll-behavior.spring-constant` = `30` makes the scroll happen more slowly such that I can see it happen).  However, it also makes the whole scroll operation take much longer.  (And I think the initial velocity might still be the highest velocity?)

In cases where the scroll is initiated by a user action, our model makes intuitive sense to me (it feels like the user button-press is intuitively serving as a "fling" or a "hammer-strike" to grant an instant burst of speed, from which the content then progressively slows down -- that's my perception of how MSD physics is operating here at least).  But in cases like the Prime Video carousel where the scroll is happening on its own without any user interaction, this instant burst of speed arguably feels a bit disconcerting, and a Bezier model feels maybe-preferable, so that things are moving slowly (granting the user the ability to reason about the context) at the start and end of the out-of-nowhere smooth-scroll operation.
(In reply to Hiroyuki Ikezoe (:hiro) from comment #12)
> I suppose this difference comes from the fact that we've used MSD physics, thus the initial scroll distance is large. CCing Markus.

Indeed, I think so.

> FWIW, there are two prefs layout.css.scroll-behavior.damping-ratio and layout.css.scroll-behavior.spring-constant to control the MSD physics for JS smooth scrolling.

Thanks. From poking and setting extreme values:
- the `damping-ratio` pref seems to control a "wobble" at the end of the animation (e.g. I can get an extremely silly "wobble" if I set it to `0.2` :) )
- the `spring-constant` pref seems to control the overall speed (so e.g. `layout.css.scroll-behavior.spring-constant` = `30` makes the scroll happen more slowly such that I can see it happen).  However, it also makes the whole scroll operation take much longer.  (And I think the initial velocity might still be the highest velocity?)

In cases where the scroll is initiated by a user action, our model makes intuitive sense to me (it feels like the user action -- e.g. a button-press -- is intuitively serving as a "fling" or a "hammer-strike" to grant an instant burst of speed, from which the content then progressively slows down -- that's my perception of how MSD physics is operating here at least).  But in cases like the Prime Video carousel where the scroll is happening on its own without any user interaction, this instant burst of speed arguably feels a bit disconcerting, and a Bezier model feels maybe-preferable, so that things are moving slowly (granting the user the ability to reason about the context) at the start and end of the out-of-nowhere smooth-scroll operation.
(In reply to Hiroyuki Ikezoe (:hiro) from comment #12)
> I suppose this difference comes from the fact that we've used MSD physics, thus the initial scroll distance is large. CCing Markus.

Indeed, I think so.

> FWIW, there are two prefs layout.css.scroll-behavior.damping-ratio and layout.css.scroll-behavior.spring-constant to control the MSD physics for JS smooth scrolling.

Thanks. From poking and setting extreme values:
- the `damping-ratio` pref seems to control a "wobble" at the end of the animation (e.g. I can get an extremely silly "wobble" if I set it to `0.2` :) )
- the `spring-constant` pref seems to control the overall speed (so e.g. `layout.css.scroll-behavior.spring-constant` = `30` makes the scroll happen more slowly such that I can see it happen).  However, it also makes the whole scroll operation take much longer.  (And I think the initial velocity might still be the highest velocity?)

In cases where the scroll is initiated by a user action, our model makes intuitive sense to me (it feels like the user action -- e.g. a button-press -- is intuitively serving as a "hammer-strike" or a "fling" to grant an instant burst of speed, from which the content then progressively slows down -- that's my perception of how MSD physics is operating here at least).  But in cases like the Prime Video carousel where the scroll is happening on its own without any user interaction, this instant burst of speed arguably feels a bit disconcerting, and a Bezier model feels maybe-preferable, so that things are moving slowly (granting the user the ability to reason about the context) at the start and end of the out-of-nowhere smooth-scroll operation.

Back to Bug 1916760 Comment 13