Человеческий фактор в программировании - Ларри Константин
- Дата:19.08.2024
- Категория: Бизнес / Управление, подбор персонала
- Название: Человеческий фактор в программировании
- Автор: Ларри Константин
- Просмотров:0
- Комментариев:0
Шрифт:
Интервал:
Закладка:
Нельзя сказать, что этот текстовый редактор был недружелюбен к пользователю. В нем больше красивых кнопок, чем пуговиц у профессиональной портнихи, и больше файлов контекстно-зависимой справки, чем у вашего научного руководителя в институте. В нем не сложно выполнять простые повседневные операции. Наверное, с его помощью можно сделать все, что мне когда-нибудь может понадобиться. Однако можно потратить месяц на поиск всех этих удобных функций, особенно тех сокровищ, которые определяют разницу между исполнением работы в срок и не в срок.
ПрогрессПо дюжине версий на счету популярных текстовых редакторов, но проще в освоении они не стали. Такой призыв на слуху, но все сводится лишь к сокращению времени, необходимого для начала работы. Едва ли не каждый может создать что-либо полезное в первые же минуты после инсталляции. Затем вы упираетесь в стену. Лучший из современных текстовых редакторов существенно сложнее для изучения, мастерского овладения, нежели его предшественники на СР/М и Apple. Забытые жемчужины прошлого, такие как Electric Pencil и Spellbinder, с высот своих восхищают нас, пользователей пусть более мощных, но и чересчур громоздких программ.
Отчасти причина кроется в том, что первые текстовые процессоры, в основном благодаря добавленным функциям, выросли в текстовые редакторы, которые, в свою очередь, превратились в «текстовые издательства» с еще большими возможностями. Далее системы высокого класса, такие как WordPerfect и Word for Windows, стали почти неотличимы от полноценных настольных издательских программ с точки зрения их возможностей, хотя средства и методы у них довольно разные. Эти системы битком набиты фенечками и фитюльками, и нужно приложить немало усилий, чтобы заставить их работать в нужное время и в нужном месте.
Текстовые редакторы и растущий легион других важнейших инструментов стали жертвами прогрессирующего функционизма, серьезной болезни пользовательских интерфейсов, которое поражает программный продукт в его зародыше и, если ее не остановить, калечит пользователя. Невыле-ченный, прогрессирующий функционизм может привести к вспышке агорафобии у пользователей перед многочисленными открытыми диалоговыми окнами и даже к мучительному страху перед незнакомыми меню. Иной раз очевидным тому симптомом является смутное тревожное предчувствие, что за нежданным каскадом разворачивающихся меню скрывается замечательная комбинация клавиш, которая соответствует Ctrl-Alt-F5 на вашей прошлой системе.
Успешность продажФункции продаются. Обозреватели программного обеспечения уделяют им внимание и выделяют их в аккуратных сравнительных таблицах с помощью различных галочек, пунктирных линий и кружочков. Поставщики программного обеспечения соперничают за большее количество пунктов в списках функций, приводимых в рекламных буклетах. Потребители учатся одним взглядом отличать «полнофункциональный» персональный информационный менеджер от подобного пакета с ограниченной функциональностью. Большинство покупателей никогда не воспользуются всеми пунктами и операциями, однако им приятно просто сознавать, что такие функции есть на всякий маловероятный и непредвиденный случай. Чем больше, тем лучше, верно?
Прогрессирующий функционизм — это тяжелое хроническое заболевание. Синдром проявляется не в количестве функций, а в истории их появления, реализации в программном обеспечении и представлении пользователю. Прогрессирующий функционизм возникает в результате медленного разрастания функциональных возможностей и выражается в неоднородности пользовательских интерфейсов. Такие интерфейсы перегружены индивидуальными особенностями и специальными функциями, которые, как бородавки и карбункулы, могут появляться в самых необычных местах.
Прогрессирующий функционизм истощает систему, поскольку при добавлении нового элемента для него нужно найти разумное место, которого может и не быть. Если бы в ранних версиях текстовых редакторов не было непечатаемых комментариев, заранее предусмотренных в интерфейсе, то функции для их создания и редактирования были бы просто ку-да-нибудь приклеены. Примером может служить функциональная клавиша для импортирования/экспортирования текстового файла DOS, применение которой маловероятно, но вполне реально.
Прогрессирующий функционизм часто приводит к разбросу взаимосвязанных операций или пунктов выбора по разным частям пользовательского интерфейса. После четвертой или пятой редакции внесение десятков «добавлений» и «исправлений» приводит к тому, что пользовательский интерфейс покрывается слоем небольших довесков, разнообразных переключателей и приложений к меню. Со временем форма интерфейса все больше отражает внутренние программные ограничения. В ней проявляются трудности, с которыми сталкивались программисты при поиске места для размещения функций. Бывалые пользователи, чьи пальцы загрубели и искривились за многие годы применения этих функций, настолько привыкли к ним, что редко задумываются перед нажатием Ctrl-F5-C–C. Таким образом, они поощряют недобросовестных поставщиков программного обеспечения к еще большему интерфейсному варварству, поскольку новые функции не должны мешать применению старых.
На самом деле пользователь хочет иметь (или ему нужен?) простой интерфейс для управления этими сложными системами. К сожалению, современное программное обеспечение очень часто оказывается простым только на поверхности. Вы убеждаетесь в его запутанности при попытке выполнить с его помощью какую-то реальную работу. Естественно, к этому моменту вы уже находитесь за пределами магазина по продаже программного обеспечения и связаны соглашением, упакованным в целлофановую оболочку.
Сталкиваясь со сложностью, человек применяет фрагментирование. Простые или взаимосвязанные компоненты объединяются в фрагменты, которые можно мысленно воспринимать как целые единицы. Хороший интерфейс делает то же самое, сокращая до минимума общее количество идей и методов, которые пользователь должен усвоить. Для этого, во-первых, необходимо тщательное продумывание, а во-вторых, регулярная переработка во избежание беспорядка, вызываемого прогрессирующим функционизмом.
Например, с позиции человека, применяющего текстовый редактор, прямые линии, являющиеся линиями, есть линии. Пользователь хочет нарисовать линию и поместить ее в какое-то место. Независимо от того, проходит ли она под исправленным текстом, или отделяет основной текст от сносок, или формирует элементы таблицы, или обрамляет боковой комментарий, или представляет собой линейку размером 3 пункта в красивом заголовке для письма, — это всего лишь линия. Она выглядит как линия при выводе на печать. Мы называем ее линией, когда говорим коллеге: «Убери эту линию снизу». Однако в большинстве текстовых редакторов каждый из этих вариантов рассматривается как отдельное явление.
- Интерфейс: новые направления в проектировании компьютерных систем - Джефф Раскин - Техническая литература
- Мэйсон - John Hall - Боевая фантастика / Боевик / Научная Фантастика
- Право социального обеспечения - Владимир Галаганов - Детская образовательная литература
- Компьютерра PDA N143 (29.10.2011-04.11.2011) - Компьютерра - Прочая околокомпьтерная литература
- Быть полезным: Семь инструментов для жизни - Арнольд Шварценеггер - Прочая старинная литература