Три случая из жизни GUI
5.8. ТРИ СЛУЧАЯ ИЗ ЖИЗНИ GUI
Один из классиков научного мировоззрения в свое время сказал примерно следующее: «Ни одну теорию нельзя доказать с помощью примеров, но любую теорию с помощью примеров можно опровергнуть». Тем не менее мы решили прервать ненадолго изложение Windows-стандартов на построение GUI-приложений и продемонстрировать читателю, к чему может привести пренебрежительное отношение к детальному проектированию и реализации пользовательского интерфейса. Те примеры, о которых пойдет речь ниже, относятся к свбодно распространяемому в Интернете программному обеспечению и взяты практически наугад; то есть авторы совершенно не знакомы с разработчиками и никоим образом не хотели их обидеть. Более того, по своему функциональному предназначению эти утилиты представляются нам весьма полезными и работают достаточно корректно.
Итак, случай первый (самый тяжелый). На рис. 5.53 показано окно утилиты TimeBack, обеспечивающей управление таймером компьютера. Плохая различимость надписей в окне объясняется не низким полиграфическим качеством рисунка, а цветовой гаммой, выбранной разработчиком (черные символы на темно-зеленом фоне). Вместе с тем, взгляд потенциального пользователя сразу привлекает надпись в центре окна «Запустить приложение», на которой непроизвольно хочется Щелкнуть мышью. На самом деле это статический текст, который визуально не связан ни с одним из элементов управления, находящихся в окне. Впрочем, как и надпись «Таймер», расположенная ниже. Вообще, ко всем надписям, имеющимся в окне, хотелось бы поставить дополнительный вопрос: «Дата» — какая?; «Продолжительность» — чего?; «Авто Закрытие» — чего? (в последнем случае, кроме того, налицо также и отклонение от норм русского языка).
Рис. 5.53. Окно утилиты Time Back
Для установки даты используется выпадающий список; хотя этот элемент управления реализован весьма оригинально и интересно, при работе с ним возникают определенные проблемы. Во-первых, при попытке закрыть список без установки новой даты появляется сообщение об ошибке (рис. 5.54), текст которого вызывает недоумение и не может ничем помочь пользователю (оказывается, обязательно следует установить какую-либо новую дату).
Во-вторых, при установке даты соответствующий элемент отображается как выбранный только после щелчка ЛКМ; однако при этом список тут же закрывается, так что если пользователь случайно щелкнет не там, где хотел, ему снова придется открывать список и повторять процедуру.
Для установки продолжительности работы утилиты используются два элемента управления: дискретная текстовая область и выпадающий комбинированный список. Продолжительность может измеряться в минутах или в секундах; диапазон изменения для обеих единиц одинаков — от нуля до 3001 (как вы думаете, сколько это в часах?); при попытке ввести вручную любое дробное значение оно автоматически преобразуется в нуль. Использование комбинированного выпадающего списка в первый момент создает иллюзию того, что пользователь может задать собственные единицы измерения продолжительности, однако это не так: его «свобода выбора» ограничивается возможностью «подредактировать» название пункта списка в текстовом поле, что, собственно, ни на что не влияет.
Вместе с тем, необходимо отметить, что операции работы с окном реализованы в рассматриваемой утилите корректно: состав доступных команд всплывающего меню окна согласован с кнопками управления окном. Этого как раз нельзя сказать о следующей утилите, которую мы, кстати, неоднократно успешно использовали (вот она, людская благодарность!).
Случай второй. Утилита называется «Конвертор Лексикон—»RTF» и обеспечивает преобразование текста (вполне корректное) в любой из указанных форматов (рис. 5.55).
Рекомендуемые материалы
Рис. 5.54. Реакция утилиты на работу с календарем
Рис. 5.55. Окно утилиты «Конвертор Лексикон—»RTF»
Однако состав команд всплывающего меню окна утилиты не согласован с кнопками управления окном. Судя по тому, что кнопка Восстановить/Развернуть отображается как недоступная, разработчики хотели запретить пользователям изменение размеров окна. Вместе с тем, во всплывающем меню окна остались доступны все команды изменения размера окна, в результате чего при желании исходное окно приложения можно изменить произвольным образом (рис. 5.56).
Рис. 5.56. «Запрещенное» разработчиками изменение размеров окна
Кроме того, в окне приложения присутствуют элементы управления (флажки «Включая подкаталоги» и «Все файлы в один каталог»), взаимосвязь между которыми можно обнаружить только при счастливом стечении обстоятельств. Попытки получить пояснения по их использованию с помощью кнопки Справка приводят к появлению на экране сообщения «Не удается найти файл справки».
Вам также может быть полезна лекция "9. Антропометрические требования в эргономике".
Случай третий. Свидетельствующий о том, что пробелами в организации интерфейса грешат не только «русскоязычные» разработчики. Утилита «Message Manager» предназначена для создания окон сообщений стандартных типов (подробному обсуждению самих окон посвящен один из следующих разделов книги). Пользовательский интерфейс утилиты реализован на основе первичного окна (рис. 5.57), которое стараниями разработчиков превратилось в «почти-вторичное» окно: кнопка входа для него на Панели задач появляется почему-то только после создания первого сообщения, но и в этом случае свернуть окно невозможно, и оно постоянно присутствует на экране.
Правда, необходимо отдать должное последовательности разработчиков данной, утилиты: состав доступных команд во всплывающем меню окна совпадает с доступными кнопками управления окном. Но вернемся к пробелам интерфейса. Разработчиками не была создана пиктограмма приложения и поэтому она, естественно, отсутствует в полосе заголовка окна; тем не менее, двойной щелчок ЛКМ в той позиции, где должна находиться пиктограмма, приводит к закрытию окна без каких бы то ни было комментариев. Не менее впечатляющий эффект дает и нажатие кнопки ОК. расположенной в правой верхней части окна. Независимо от того, какие манипуляции перед этим выполнял пользователь, при нажатии этой кнопки утилита безмолвно исчезает, оставляя вместо себя на экране созданное вами окно сообщения, которое вы, может быть, и не хотели бы больше видеть.
Рис. 5.57. Окно утилиты «Message Manager»
Завершая это мини-обозрение, хотелось бы еще раз отметить, что приведенные здесь в качестве примеров утилиты далеко не худшее из того, что «гуляет» по Интернету, все они обеспечивают решение тех задач, для которых создавались и, по большому счету, указанные недостатки не имеют принципиального значения. Казалось бы... Но представьте себе, что эти три утилиты являются компонентами одного более сложного приложения. .. Представили? В этом случае недостатки, свойственные каждой из них, будут не просто суммироваться, а перемножаться с недостатками двух других.
Вероятно, в какой-то степени издержки интерфейса могут быть компенсированы средствами помощи пользователю, но и в этом отношении рассмотренные изделия не могут служить образцом; правда, в первом и третьем примерах используется всплывающая подсказка, но, как мы видели, этого оказалось недостаточно.