Ползунки
Как и ранее описанные элементы управления, ползунки позволяют пользователям выбирать значение из списка, не позволяя вводить произвольное значение. Возникает резонный вопрос: зачем нужен ещё один элемент управления, если аналогичных элементов уже полно. Ответ прост: ползунки незаменимы, если пользователям надо дать возможность выбрать значение, стоящее в хорошо ранжирующемся ряду, если:
■ значений в ряду много
■ нужно передать пользователям ранжируемость значений.
■ необходимо дать возможность пользователям быстро выбрать значение из большого их количества (в таких случаях ползунок оказывается самым эффективным элементом, хотя и опасен возможными человеческими ошибками).
Ползунки имеют интересный аспект. Их можно также использовать для выбора текстовых параметров, но только в случаях, когда эти параметры можно понятным образом отранжировать. Случаев таких немало, например, «завтрак», «обед» и «ужин», при отсутствии внешней связи ранжированию поддаются вполне.
|
|
Когда графических интерфейсов еще не было, пользователи перемещались по документу с помощью клавиатуры. С тех далёких времен на клавиатуре остались клавиши Home и End, равно как Page Up и Page Down. В целом, пользователи были удовлетворены своей судьбой (благо, они не знали альтернатив). Затем появились графические интерфейсы. Первым делом были придуманы полосы прокрутки. К сожалению, оказалось, что они работают не слишком хорошо.
Проблема полос прокрутки заключается в следующем: для маленьких документов они не очень нужны, поскольку пользователям, держащим руки на клавиатуре, гораздо легче переместиться к нужному фрагменту с помощью клавиш со стрелками. Напротив, в больших документах малое перемещение ползунка приводит к существенному сдвигу области просмотра, так что после перемещения нужно еще и подправляться либо клавиатурой, либо стрелками на полосе прокрутки. Более того: во многих случаях невозможно реализовать динамическое изменение области просмотра во время перемещения ползунка, а значит, перемещаться по большим документам приходится в несколько шагов. И еще раз более того: предположим, что это динамическое изменение всё-таки есть. Тогда пользователю нужно: сначала перевести взгляд на ползунок, затем курсор ползунок, затем взгляд на документ и только потом, перемещая мышь вверх или вниз, следить за областью просмотра, на тему «не пора ли отпустить курсор».
К сожалению, вовсе не использовать полосы прокрутки в ПО затруднительно, MS Windows User Experience прямо заставляет разработчика ими пользоваться. В интернете ситуация иная – никто никого не заставляет.
|
|
Осталось разобраться, как же сделать пролистывание документа идеальным.
Если всё-таки приходится оставлять полосы прокрутки, крайне желательно добиться нескольких свойств полосок:
■ Размер ползунка должен показывать общий объем пролистываемого документа.
■ Стрелки на полосах должны быть спаренными, т. е. обе стрелки должны находиться рядом, а не на разных сторонах полоски. Это один из случаев, когда логичность интерфейса вступает в противоречие с эффективностью. Если при перелистывании была допущена ошибка, спаренные кнопки позволяют минимизировать перемещение курсора к стрелке, ведущей в обратную сторону.
■ Если невозможно сделать динамическое изменение области просмотра при пролистывании, необходимо показывать текущее местоположение пользователя во всплывающей подсказке.
Обратите внимание, что местоположение подсказки при перемещении курсора должно оставаться неизменным.
■ Необходимо обеспечить обработку погрешности перемещения курсора. Когда пользователь курсором перемещает ползунок, а смотрит в это время на документ, курсор может сойти с полосы.
До определённого момента (смещение на 30-70 пикселей) система должна такое смещение игнорировать.
Статус-строка.
Строка статуса является, пожалуй, самым недооцененным элементом статуса интерфейса (во всяком случае, способы её использования в интернете существенно портят статистику). В то же время она заслуживает лучшей участи.
Почему-то распространено мнение, будто строка статуса предназначена для того, чтобы информировать пользователей о значении тех или иных элементов интерфейса. Подразумевается, что если пользователь подводит курсор к какому-либо элементу, в строке статуса появляется краткое его описание. На самом деле строка не может этого делать вообще: дело в том, что курсор находится в одном месте, а подсказка появляется совсем в другом, пользователю при этом приходится читать подсказку либо переводя взгляд, либо периферийным зрением. Разумеется, никто в таких условиях читать подсказку не будет, причем те, кто уверен, что строка статуса есть место для подсказки, чувствуют это прекрасно. Неудивительно, что разработчики строку статуса игнорируют.
В действительности строка статуса предназначена для двух вещей: она может быть либо собственно строкой статуса, т. е. отображать текущее состояние системы, либо быть панелью инструментов для опытных пользователей (или же делать и то, и другое). Разберем это подробнее.
Отображение текущего состояния системы. Практически каждая система имеет свойства, либо зависящие от документа, либо изменяющиеся со временем. Например, в иллюстративных программах объекты имеют какие-либо свойства, причем не все эти свойства показываются. Другой пример: когда система долгое время занята, она должна показывать пользователю индикатор степени выполнения. И, наконец, самый простой пример: пользователь текстового процессора имеет право знать, на какой странице документа он сейчас находится. Эффективнее всего выводить всё это в строке статуса.
Пример: Статусная строка Adobe PhotoShop. Слева отображается текущий масштаб отображения документа, вслед за ним объем занимаемой документом памяти (стрелка переключает тип показываемой информации), затем индикатор степени выполнения, а справа – контекстная подсказка (место оставалось, вот его и заполнили).
Строка статуса особенно интересна как место вывода индикатора степени выполнения. Существует занятная закономерность: по месту вывода индикатора выполнения можно определить качество интерфейса системы: если индикатор выводится в строке статуса, то система обладает в целом хорошим интерфейсом, если же индикатор выводится в другом месте – не столь уж хорошим.