Page MenuHomePhabricator

The progress bar should accelerate as it nears completion
Closed, ResolvedPublic8 Estimated Story Points

Description

There exists a body of empirical evidence that suggests users have a preference for progress bars that accelerate as they near completion. The same body of evidence suggests that any pauses in the progress process, but especially late pauses, have a profound negative impact on how users experience the process as a while.

The best paper on this subject is http://www.chrisharrison.net/projects/progressbars/ProgBarHarrison.pdf.

So the progress bar should ideally accelerate and never stops.
Some things we could do to achieve this are:

  • Make the loading of VisualEditor correspond to the first 40% of the progress bar, giving us the remaining 60% as breathing room.
  • If everything loads super-fast, then the remaining 60% are filled in instantly.
  • If a part of the loading process starts taking long, we can start utilizing the 60%.
  • As a last resort, slow down progress exponentially in lieu of pausing.

The 40% / 60% numbers are guesses; some experimentation will disclose the best values.

Event Timeline

ori assigned this task to Esanders.
ori raised the priority of this task from to Needs Triage.
ori updated the task description. (Show Details)
ori added a project: VisualEditor-Performance.
ori subscribed.
Restricted Application added a subscriber: Aklapper. · View Herald Transcript

The only problem here is the second half corresponds to the converter which is slow because of heavy client-side computation so it may be unavoidable to have any animation stutter.

Tried and failed to add this to the #OriLivnehMindControlDept project.

Change 209869 had a related patch set uploaded (by Esanders):
Improve progress bar

https://gerrit.wikimedia.org/r/209869

Change 209869 merged by jenkins-bot:
Improve progress bar

https://gerrit.wikimedia.org/r/209869

Would it be helpful to add this functionality in ProgressBarWidget's setProgress method? An interpolator like the ones in the paper?