Почему курсор мыши наклонён влево, а не стоит вертикально
Вопрос из разряда тех, на которые порой хочется ответить «а какая разница». Курсор наклонён, все им пользуются полвека, зачем что-то копать. Но копнуть стоит, потому что за этим маленьким наклоном прячется сразу три истории. История про физику рисования пикселей, история про экраны с разрешением, за которое сегодня было бы стыдно платить, и история про то, как случайное инженерное решение становится стандартом на пятьдесят лет вперёд. Честно скажу, пока я не полез в первоисточник, сам был уверен, что наклон — это просто традиция, унаследованная из первых Mac и Windows. Да, традиция тоже есть, но она вторична. Первична же арифметика.
Сначала стрелка была прямой
Компьютерную мышь Дуглас Энгельбарт придумал ещё в шестидесятых годах, в лаборатории Стэнфордского исследовательского института, но курсор в его системе NLS был ещё не стрелкой, а просто световым пятном на экране. Стрелку рисовали позже, когда интерфейсы обзавелись графикой, и рисовали её так, как подсказывает здравый смысл. Строгая вертикальная стрелка вверх. Логично, симметрично, понятно. Проблема обнаружилась, когда идею стали превращать в реальный продукт.
Это сделала компания Xerox, а точнее, её исследовательский центр в Пало-Альто, тот самый PARC, где в 1973 году собрали Alto, первый компьютер с полноценным графическим интерфейсом. Дизайн курсора, сетку 16 на 16 пикселей с вертикальной левой гранью и наклонённой правой, обычно приписывают Алану Кею, одной из ключевых фигур PARC. А зафиксировано всё это в документе 1981 года под названием «The Optical Mouse, and an Architectural Methodology for Smart Digital Sensors», и там есть концепт-чертёж наклонного курсора.
Здесь стоит заметить известную интернет-неточность. Статьи и ответы на Stack Exchange часто пересказывают эту историю со словами «мышь изобрёл инженер Xerox Энгельбарт в 1981 году». Не так. Мышь Энгельбарт изобрёл сам, но семнадцатью годами раньше и в другой конторе, а в 1981-м свет увидел лишь документ, объясняющий, почему стрелка стоит криво. Разница существенная, потому что в первом случае история инженерная, а во втором — чисто дизайнерская.
Что не так с вертикальной линией
Экран Alto был черно-белым, и весь курсор умещался в сетку 16 на 16 пикселей, закрашенных либо чёрным, либо белым. Дальше начинается самое интересное, потому что у пиксельной сетки есть жёсткая физика. Чисто, без лесенок, на ней рисуются только две вещи: вертикальные и горизонтальные линии. Любая диагональ превращается в ступеньки, и чем ниже разрешение, тем заметнее эти ступеньки.
Вертикальная стрелка обязана состоять из тонкого вертикального стержня и симметричной головы. На сетке 16 на 16 честную симметрию не сделать. Голова либо чётная по ширине, и тогда у неё нет центрального острия, либо нечётная, и тогда один бок толще другого. А тонкая вертикальная палочка на экране, забитом текстом, ещё и сливалась с буквами, у которых вертикальных штрихов полно. Gizmodo ещё в 2014-м показывал сравнительную картинку, где прямой курсор буквально теряется среди строк. Жаль, сейчас её так просто не найти.
Решение PARC было изящным. Не увеличивать указатель, а повернуть его. Левую грань головы оставили строго вертикальной, она рисуется идеально чисто. Правую грань пустили под 45 градусов, и это не случайное число, а самая честная диагональ на пиксельной сетке, она смещается ровно на один пиксель вбок на каждый пиксель вниз и почти не даёт лесенок. В итоге у стрелки есть один острый пик и две ровные грани, каждую из которых сетка умеет рисовать красиво. А ось, на которую смотрит стрелка, получилась наклонённой примерно на 22,5 градуса. Не потому что кто-то так захотел, а потому что 22,5 — это ровно половина от 45.
К этому стоит добавить и хвостик, который у современных курсоров смещён вбок от оси. Он выполняет сразу две задачи. Подсказывает направление указания и не перекрывает собой то, на что вы целитесь, потому что вся масса стрелки уходит от острия в сторону.
Почему наклон именно влево
С углом разобрались, а вот направление наклона объясняет уже не оптика, а арифметика. Начало координат в компьютерной графике находится в левом верхнем углу экрана, точка с координатами ноль, ноль. Битовая карта курсора тоже отсчитывается от своего левого верхнего угла, и у наклонённой влево стрелки кончик острия приходится практически на этот угол. То есть точка клика совпадает с началом битмапа, и подпрограмме отслеживания мыши не нужно ничего пересчитывать при каждом нажатии. На современных процессорах это смешная экономия, но в конце семидесятых каждый такт считался, и такое упрощение реально помогало.
Есть и второй довод, чисто практичный. Текст и элементы интерфейса выравниваются по горизонтали и по вертикали. Наклонённая стрелка своей массой перекрывает минимум этого добра, особенно если она указывает влево-вверх, а её тело уходит вправо-вниз от точки. История про правшей и естественный наклон руки, будто вы держите ручку или копьё, звучит красиво, но в документах PARC её нет. Это фольклор, появившийся уже после того, как стрелка стала стандартом.
Как случайность стала законом
Дальше всё по классической схеме про Apple и Microsoft. Стив Джобс увидел интерфейс PARC во время визита в 1979 году и унёс наклонённую стрелку в Macintosh. Билл Гейтс унёс её следом в Windows. С тех пор стрелку перекрашивали, уточняли форму, добавляли тени, но угол никто не трогал.
Кстати, если присмотреться, курсоры Windows и macOS наклонены по-разному. У Windows левая грань строго вертикальна, а правая уходит под углом, ровно как в документе 1981 года. У Apple стрелка симметричная, вся наклонена целиком вдоль своей оси. Две компании и сегодня по-разному решают одну и ту же задачу сорока с лишним лет давности, и у каждой решения считаются каноничными.
Почему её до сих пор не выпрямили
Формально препятствий ноль. Современные экраны рисуют что угодно, сглаживание убирает лесенки, полпикселя давно не предел. Можно сделать вертикальную стрелку идеальной формы, и заметят её разве что дизайнеры в твиттере.
Но есть три причины, по которым этого не происходит. Первая — узнаваемость. Курсор — это не просто инструмент, а часть образа системы, и его форму трогают примерно так же часто, как логотип, то есть никогда. Вторая — старая проблема вернулась на новом уровне. На любом экране, хоть 8K, вертикальная стрелка по-прежнему визуально сливается с вертикальными штрихами текста и рамок, наклон лечит это независимо от разрешения. Третья — привычка. Полвека мышечной памяти дороже любой теоретической правильности. QWERTY-раскладка держится не потому, что она оптимальна, а потому что все к ней привыкли, и курсор наклонён по той же причине.
Так что в следующий раз, когда щёлкнете мышью, знайте: вы нажимаете не на дизайнерскую прихоть, а на компромисс, найденный инженерами Xerox полвека назад, когда один лишний пиксель был проблемой, а ступеньки на диагонали были обычным делом. Вопрос и правда выглядит глупым. Ответ, как водится, нет.
Изображение в превью:
Автор: Nano Banana Mini
Источник: gemini.google.com