Skip to content

TabBar uses Easing.OutCubic instead of InQuad for perceived snappiness

(this is my first contribution)

TabBar is used, for example, in the default Kickoff application launcher.

For the "change selected tab" indicator animation, the existing Easing value for the animation is "InQuad", which starts slow and "ramps up" in speed over the duration of the animation.

This means it starts painfully slow and "speeds up", so the user perception of the animation is very poor -- like, "I changed my selection already, and you're still ramping up to speed to reflect my interaction." It feels like it is moving through molasses.

Changing to "OutQuad" feels much, much nicer. It's the reverse of InQuad, so it starts instantly at full speed, and at the end gently slows into place.

I will attach short videos showing the before and after.

Minor note: though my primary motivation for this framework change is to improve the default application launcher experience, I believe anywhere this component is used benefits from this change. If you disagree, I can change the code so it defaults to the old "InQuad", and exposes a property so Kickoff can override it to "OutQuad". (I don't think Kickoff can override this today since TabBar does not expose a property for this).

old.mkv

proposed-quad.mkv

proposed-cubic.mkv (current iteration)

Edited by Noah Davis

Merge request reports