Ваша страница доставляется с сервера в клиентский браузер где-то в Интернете. Браузер нарисовал страницу на экране, и кто-то - или что-то - смотрит на нее. Это игра на ожидание. Глаза перемещаются взад и вперед, улавливая ту или иную деталь быстрыми прыжками, время от времени бросаясь в сторону, от экрана, чтобы исследовать отвлекающие факторы в окружающей среде. Часы тикают. Страница светится мягко, пассивно, когда пользователь зависает в неактивном состоянии, рука свободно накрывается на мышь, шея наклонена, а глаза все больше и больше сосредоточены на том, что может предложить ваша страница.
Внезапно, без всякого предупреждения, курсор начинает двигаться, рука на мышке слегка напрягается и начинает подталкивать маленький пластиковый выступ по шероховатой поверхности стола. Когда мышь движется, ее суррогат на экране движется, точно имитируя, проходя мимо интересных изображений и остроумных замечаний в содержании вашей страницы. В конце концов решение принято, движение приостанавливается, одна или две мышцы слегка сокращаются, и настойчивый палец нажимает кнопку мыши. Микровыключатель мыши вызывает электронный импульс, и браузер внезапно узнает о том, что произошло: щелчок мыши.
При этом все, что делал пользователь, глядя на страницу, происходило совершенно непредсказуемо для браузера, для любого клиентского кода на вашей веб-странице, для всего, что находится на ваших серверах. Между действиями человека не было познаваемого «времени ожидания». Следовательно, действия, передаваемые оборудованием, подключенным к компьютеру пользователя, происходили тогда , когда они происходили, а не в соответствии с предсказуемыми часами, то есть они происходили асинхронно .