Intent-aware pointer interaction
Interaction behavior that tells an intentional user action apart from incidental pointer movement, so hover-driven UI and animation stop firing when nobody asked for them.
The problem
Most of what a pointer does is travel. It crosses controls on the way to somewhere else, pauses over nothing in particular, drifts while its owner reads. Hover, taken literally, cannot tell any of that apart from a decision — so an interface built on it responds to transit as though it were a request.
In a video call that mistake costs more than it does elsewhere. The thing that opens or animates is competing for attention with the faces of the people you are talking to, and it happens while the user is occupied with something that matters more than the interface. A tooltip that appears a beat too eagerly is a small defect in a settings page. Over a colleague’s face, mid-sentence, it is an interruption.
So the problem was not that any individual behaviour was wrong. It was that the interface treated the presence of a cursor as evidence of intent, and presence is weak evidence.
My role
I designed and implemented the interaction-handling approach, working with an interaction designer through the course of the work. The behaviour shipped to Google Meet users.
The collaboration is worth being specific about, because it shaped the result rather than decorating it. The judgement of when a motion reads as deliberate and when it reads as accidental is a design question before it is an engineering one, and it is not answerable from a specification — it has to be felt, adjusted, and felt again. Design set that bar; I built the behaviour that met it, and the two were not separable steps.
The approach
Stop treating intent as given and start treating it as something an interface has to have grounds for. A pointer that arrives somewhere and stays has told you something. A pointer that passes through has not. Once that distinction exists at all, hover-driven UI and animation can wait for the first case and ignore the second.
What a user notices is an absence: things stop happening that they never asked for. Nothing new appears, nothing is faster, no feature was added — the interface simply stops volunteering. That is a difficult kind of work to show off and an easy kind to feel, and it is the reason the aim was stated as reducing unintended interaction rather than improving anything.
The mechanism, the tuning and the measured results are internal to Google and are not published here.