← All notes

Interaction design

Latency is part of the interface

An AI feature should fit the moment it is needed. Preparing an answer can matter more than adding another button.

An extension can solve a useful problem and still interrupt the person using it. Open a panel, select text, trigger a request, wait, and return to the page: each step asks for attention.

With SkipTheTerms, the page itself provides a clue about what someone needs. A terms or privacy page can be recognized from its context. That makes it possible to prepare a summary in the background instead of waiting for a manual request.

This changes the interaction, but it also changes the engineering requirements. Background work needs limits, clear failure states, and a sensible rule for when to run. A fast interface should not imply that every request succeeded.

Caching unchanged documents helps the backend support the same idea. Reusing an available summary removes unnecessary generation work. The useful question is not only how fast the model responds; it is how long someone waits before the result becomes useful.

My lesson was to design the trigger and the waiting state together. A model call is part of a longer interaction, and the experience depends on the whole sequence.