Skip to content

Improve slow click / multi click capture #8379

Description

@mydea

After some discussion, we landed on implementing the following logic/behavior for slow/rage click detection in Replay:

Screenshot 2023-06-22 at 16 00 26

  • Clicks generate ui.click breadcrumbs immediately
    • these are debounced by 1s, so any further click on the same element within 1s does not generate a further ui.click breadcrumb!
  • Whenever a ui.click breadcrumb is captured, we start looking for 7s for a) further clicks on the same element and b) if the click is a slow click
  • After 7s...
    • if no mutation happened in the meanwhile, we create a ui.slowClickDetected breadcrumb with a clickCount counting all clicks on the same element in the last 7s
    • if a mutation happened and more than 1 click in total happened in the last 7s on the element, we create a ui.multiClick breadcrumb with the clickCount
    • If only this one click happened, we create no more breadcrumbs

This means that:

  • We always get slow/multi click breadcrumbs after 7s, never before. This means we may loose some, but this is worth it to us so we have better data.
  • We count all clicks that happened in the 7s period. The idea is, that if a slow click happens, then after 3s the user starts rage clicking on the same button - we can detect this by seeing that this slow click had a lot of clicks in this 7s.
  • There may still be false positives, think a continue button that is clicked a few times in 7s because the user is moving forward fast - but this we can figure out eventually.

One thing to note is that the ui.slowClick / ui.multiClick breadcrumbs will be created with the same timestamp & message as the original ui.click breadcrumb.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions