Volgograd

Волгоград Linux User Group

Организована 23 ноября 2002 года

Проект заморожен Птн Июл 6 02:11:14 MSD 2012


Вход:  Пароль:  

РазмышленияОПользовательскомИнтерфейсе


Размышления о пользовательском интерфейсе


Свободное программное обеспечение и операционная система Linux сейчас все больше уходит из среды компьютерных профессионалов к простым пользователям. Решения на базе свободного софта активно внедряются в различные отрасли. Однако этот процесс представляется мне довольно медленным. И в этой маленькой заметке я хотел бы высказать свое мнение, почему это так.

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

Мне кажется, проблема малой скорости распространения свободного софта лежит в другом. Пользователь выбирает для себя то, что ему кажется более легким в освоении и использовании. И в этом отношении Linux, увы, пока проигрывает. Почему?

Чтобы ответить на этот вопрос, следует вспомнить, как строилось общение с ЭВМ на заре компьютерной эры. Тогда непосредственная работа с компьютером была практически недоступна обычным пользователям, существовала прослойка сисадминов, которые вводили программы пользователей в машину, чтобы она выполняла какие-нибудь действия.

Пользовательский интерфейс в те времена существовал только в зачаточном виде. Действительно, профессионал зачастую знал машину как свои пять пальцев, всякие костыли типа менюшек, пиктограмм и тому подобного были ему совершенно ни к чему.

Но времена менялись, компьютеры становились все более доступными, и, естественно, пользователь хотел работать на ЭВМ сам, без посредников. Вот тогда и началась эра написания программ для пользователей, в том числе с печально знаменитым графическим интерфейсом фирмы Xerox. И в это же время начались первые проблемы пользователей с пониманием и освоением программ.

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

Здесь возник парадокс: чтобы сосредоточиться на предметной области, пользователь должен хорошо разбираться в программе, чего он делать исходно не хотел. Существует классический пример пользовательского интерфейса – карандаш. Действительно, когда мы хотим что-то написать карандашом, мы никогда не думаем собственно о процессе написания, мы думаем о том, _что_ надо написать. Однако обучение письму дается далеко не просто. Многие (в том числе ваш покорный слуга :) так до сих пор и не смогли научиться аккуратно писать.

В результате развития IT-индустрии сложились два основных направления развития пользовательского интерфейса, их часто обобщенно называют “unix-way” и “windows-way”. Программы первого типа, как правило, консольные, далеко не всегда допускают интерактивное взаимодействие с пользователем и управляются при помощи многочисленных ключей командной строки. Использование (а часто и название) программы совсем не очевидно, просто так начать работу с ней не получится. Необходимо читать документацию до полного просветления. Настраиваются такие программы при помощи текстовых конфигурационных файлов, которые хорошо документированы, но и имеют немалый размер.

Программы второго типа имеют графический интерфейс и управляются при помощи многочисленных диалоговых окошек и меню. Зачастую эти х окошек и меню излишне много, что порядком запутывает пользователя, однако все опции программы на виду, и покопавшись в этих окошках, можно найти все, что умеет делать программа. Параметры командной строки поддерживаются слабо, в основном на уровне «открыть файл». Документация таких программ тоже весьма поверхностная, в основном на уровне «чтобы сделать то-то, ткните мышью сюда». Настраиваются такие программы в этих же диалоговых окошках, хранить свою конфигурацию могут в зависимости от архитектуры и в текстовых файлов, однако конфигурационные опции таких файлов практически никогда не документируются.

Теперь вернемся к проблеме малой скорости распространения свободного софта и видим, что в Линуксе большинство программ первого типа, а в Виндоусе – второго. Естественно, пользователю (читай ламеру) будет легче работать с программами второго типа. Следовательно «может, в консерватории что-то подправить?»

Unix, а следом за ним и Linux изначально задумывался как _профессиональная_ операционная система, предназначиющаяся вовсе не для необученных новичков. Специалист, который работает с какой-нибудь программой каждый день, наверняка помнит большинство опций программы и ему не составляет труда лишний раз прочитать документацию, поскольку за эту работу ему платят. С обычным пользователем ситуация иная. Он эту програму увидел первый (а может, и в последний) раз, для профессиональной деятельности она ему не нужна, следовательно, чтобы затратить усилия на подробный разбор документации, это надо обладать большой дисциплиной и сильным желанием. Вот пользователь и выбирает то, что ему удобней – программы второго типа.

Таким образом, можно сделать выводы по части построения пользовательского интерфейса: чтобы сделать програму универсальной, доступной и для новичков, и для профессионалов, надо суметь совместить оба типа пользовательского интерфейса. Основа функциональности – консольное приложение, управляющееся параметрами командной строки. А над ней надстройка – графический интерфейс, который можно использовать, а можно и нет.

Надо сказать, что такой подход уже в Линуксе используется – различные «морды»: kppp, gtoaster, kmidi, xcdroast и тому подобные. Кроме того, существуют различные конфигураторы системы при помощи диалоговых окон, которые худо-бедно, но позволяют настроить ОС, абстрагируясь от ее «внутренностей». Таким образом Линукс становится все более доступным для рядовых пользователей, что способствует его более успешному продвижению на рынке программного обеспечения и не может не радовать.

Что ж, остается только пожелать подобным программам удачного и безглючного функционирования, а программистам (в том числе и себе) – создания программ, понятных не только узкому кругу одаренных, а более широкой аудитории.

на мою главную страницу