Saturday, September 4, 2010

Левая сторона---правая сторона

UI вопрос, который гложет немногих: почему абсолютно все ставят scrollbar справа?

Ответы какие-то скучные: "исторически" или потому, что якобы когда пользователь заканчивает читать абзац, это случается у правого края окна или потому что курсор мыши мерещится мозолистой рукой, которая бы закрывала собой текст, если бы тот scrollbar был слева.

Разумеется, все эти аргументы (кроме "исторического")--полная чепуха. Кто-то в майкросовте в 1987 году спросонья засунул scrollbar и кнопочки закрытия окошка справа, а как виндюк захватил все, дизайнеры интерфейсов, кивая друг другу, тонкою мыслью сплели себе на несчастных головах паранджу.

  1. Современный пользователь не читает внимательно страницу от корки до корки: он прыгает по абзацам, ищет глазами списки, короткие предложения и картинки. Если он смотрит на страницу на left-to-right языке, его глаза натыкаются на углы абзацев слева.

  2. Когда пользователь просмотревший все абзацы, хочет проскролить ниже или узнать свою текущую позицию на странице, ему приходится двигать глазами вправо--прямо к scrollbar, то есть в противоположном направлении. Чем шире окно, в которое он пялится, тем мучительнее для него это действие.

    Примером клинического маразма тут является броузеры у которых кнопки назад/вперед расположены слева вверху, а scrollbar, разумеется, на другой стороне экрана. Хотел бы я знать, какой идиот это первым придумал (у Бернереса-Ли на скриншоте его первого броузера scrollbar слева, потому что а) он писал его под NeXT, где scrollbar везде слева по умолчанию, б) у него есть мозг).

  3. Если пользователь таки допустим читает абзац целиком и этот абзац оказывается в самом низу страницы, то глаза пользователя будут в правом углу только тогда, когда конец последнего предложения абзаца заканчивается ближе к правой стороне.

    Всегда ли это верно? В каких случаях абзацы идеально подогнаны в идеальные прямоугольники? Возможно ли вообще это реализовать, если страница растягивается/сжимается динамически в зависимости от размеров окна, а не прибита гвоздями в свои n пикселов шириной? Как абзацы будут себя вести, если пользователь изменил масштаб шрифта в броузере?

    По контрасту, левый угол заполнен всегда, вне зависимости от длины абзаца, даже если абзац состоит из 1 буквы и 1 точки.

  4. Некоторые говорят, что курсор мыши им визуально мешает, когда он слева от текста, тогда когда справа обычно посвободнее, поэтому им более комфортно тыкать в scrollbar справа.

    Это тот случай, когда дизайнеры наперед зная то, что scrollbar всегда будет справа, экономят место и специально убирают поле слева, а потом храбро приводят такие страницы в доказательство.

    Это как если ввести левостороннее движение, но машины делать только с левым рулем и громко возмущаются до чего же не комфортно стало ездить.

    Кто сомневается, рекомендую взять вот этот Tk скрипт и попробовать поскролить в ситуации, когда поля у текста одинаковы.

    http://lh6.ggpht.com/_W-OHaMHyRAE/TIGK59o9PzI/AAAAAAAAAIw/omC9l2fvNeo/s400/scrollbar_test.png

Вообще, чем больше об этой ерунде думать, тем больше кажется что в идеале нужно было сделать 2 вертикальных scrollbar'а: слева и справа, причем так, чтобы (в зависимости от количества использования) scrollbar меняла цвет на более темный если ее используют чаще. Так пользователь мог бы, с течением времени, выбрать вариант самостоятельно.