Bug 87108 - [Qt] Tap-to-zoom overshoot animation
Summary: [Qt] Tap-to-zoom overshoot animation
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Allan Sandfeld Jensen
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-22 03:02 PDT by Allan Sandfeld Jensen
Modified: 2012-06-04 06:15 PDT (History)
5 users (show)

See Also:


Attachments
Patch (2.35 KB, patch)
2012-05-22 03:05 PDT, Allan Sandfeld Jensen
no flags Details | Formatted Diff | Diff
Patch (2.17 KB, patch)
2012-06-04 04:47 PDT, Allan Sandfeld Jensen
no flags Details | Formatted Diff | Diff
Patch (2.21 KB, patch)
2012-06-04 05:36 PDT, Allan Sandfeld Jensen
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Allan Sandfeld Jensen 2012-05-22 03:02:18 PDT
Tap-to-zoom should possibly have an animation where it slightly overshoots the targeted area to have a nice animated bump that indicates exactly where it ends (and looks cool).
Comment 1 Allan Sandfeld Jensen 2012-05-22 03:05:25 PDT
Created attachment 143247 [details]
Patch
Comment 2 WebKit Review Bot 2012-05-22 04:44:11 PDT
Comment on attachment 143247 [details]
Patch

Clearing flags on attachment: 143247

Committed r117951: <http://trac.webkit.org/changeset/117951>
Comment 3 WebKit Review Bot 2012-05-22 04:44:15 PDT
All reviewed patches have been landed.  Closing bug.
Comment 4 Tor Arne Vestbø 2012-06-01 09:50:29 PDT
Please revert this, it doesn't match any other browser, and adds to perceived jerkiness of the animation. If anything, we should expose an experimental property of the WebView that lets you control the easing curve from QML, eg if the platform has a standard curve for zoom-animations.
Comment 5 Allan Sandfeld Jensen 2012-06-01 10:21:14 PDT
Do you mean perceived jerkiness when the animation stutters or also when it is smooth?

And is the animation acceptable when the viewport is only zooming in and out? I believe this is the case, and is has a WIP patch to only overshoot on zoom and not on panning-like motion of the viewport, since that does look odd.
Comment 6 Tor Arne Vestbø 2012-06-04 04:20:11 PDT
(In reply to comment #5)
> Do you mean perceived jerkiness when the animation stutters or also when it is smooth?
> 
> And is the animation acceptable when the viewport is only zooming in and out? I believe this is the case, and is has a WIP patch to only overshoot on zoom and not on panning-like motion of the viewport, since that does look odd.

Hmm, I didn't realize it also applies when a programmatic pan/scroll is applied.. that's even worse :/

The perceived jerkiness is primarily when the animation also stutters, but in both cases the curve conflicts with the behavior of a regular Flickable, where overshoots happen when you actually cross the bounds of the flickable. This change adds a overshoot-like curve for the case where you scroll or zoom perfectly within the bounds of the page.

In addition, the curve is "less neutral", from a UX-pov, if you think about no-animation -> linear animation -> cublic animation -> bounce-animation, so as a default I think it assumes too much about the target platform's UX. That's why i suggested we make the curve configurable, if we see the need for the target platform to override this.
Comment 7 Allan Sandfeld Jensen 2012-06-04 04:47:09 PDT
Created attachment 145560 [details]
Patch
Comment 8 Early Warning System Bot 2012-06-04 05:01:18 PDT
Comment on attachment 145560 [details]
Patch

Attachment 145560 [details] did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12900184
Comment 9 Andras Becsi 2012-06-04 05:10:09 PDT
Comment on attachment 145560 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=145560&action=review

> Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp:297
> +    m_scaleAnimation->setEasingCurve(QEasingCurve::OutCubic);
>      m_scaleAnimation->setEasingCurve(easingCurve);

The second call seems to be redundant.
Comment 10 Allan Sandfeld Jensen 2012-06-04 05:36:00 PDT
Created attachment 145568 [details]
Patch
Comment 11 WebKit Review Bot 2012-06-04 06:15:20 PDT
Comment on attachment 145568 [details]
Patch

Clearing flags on attachment: 145568

Committed r119390: <http://trac.webkit.org/changeset/119390>
Comment 12 WebKit Review Bot 2012-06-04 06:15:25 PDT
All reviewed patches have been landed.  Closing bug.