Спецкурс по Linux, весна 2007, 05 лекция (от 23 марта)
Материал из eSyr's wiki.
Предыдущая лекция | Следующая лекция
Авторский вариант: http://uneex.cs.msu.su/uneex/LecturesDistro2007/05_Usability
Содержание |
[править] Обеспечение удобной работы
Про удобства, про то, как обеспечить удобную работу. Почему ГК решил так смело рассказать нам, как всем вместе каждому лорганизовать удобную работу. Дело в том, что это понятие настолько субъективное, что любое утверждение в стиле "нарисуйте такой-то цветочек и вам будет удобно", то напйдётся счеловек, для которого это утверждение верно, и для которого — нет, причём последних больше.
Самые крупные Люди, занимающиеся юзабилити силят в Эпл, ибо Макинтош, славящится своей юзабилити.
[править] То, чем занимаются люди
- Список задач (в прошлом году было рассказно про внедрение, и надо идти от списка задач, тогда можно сделать так, чтобы было удобно)
- Шаблоны поведения (ГК рассказывал про это несколько раз, например, Новелл, когда делал Новелл Линукс десктоп, они сажали людей в клетку, ставили видеокамеру, и смотрели, что люди делали; они отсняли 200 часов на эту тему, и наиболее частотные шаблоны поведения отражались на интерфейсе. В резльтате получилось виндозообразное — вероятно, эти люди раньше пользовались виндовз; так что нельзя опираться только на них, ибо можно приучить рещать задачи сколь либо неудобным способом, если другого способа нет)
- Варианты использования (чем они отличаются от шаблонов поведения: ШП — то, что пользователь думает о компьютере, например, эта кнопочка делает такие действия, перетаскивание означает...; а ВИ — задачи до того, как он их начал рещать, например, получение почты. Но это слишком абстрактно. Что под эти имеется в виду: сваливание писем в ящик или их чтение, или каталогизация...; надо составлять большой список вариантов использования, того, чего надо)
В реальности параллельно идёт сбор ВИ и ШП, а потом пишется список задач.
В случае с конкретным человеком нельзя его проинтервьюировать, нужно составить список задач заранее.
Всё это хорошо работает, пока мы имеем дело с среднестатистическим пользователем. Когда же мы хотим сделать удобной работу для себя, то с одной стороны задача простая (ибо легко брать интервью, и человек всегда рядом), с другой очень сложная, ибо делаете — вам не нравится, и так делать можно очень долго. Тем не менее, про эти три пункта забывать нельзя.
И тут мы упираемся в забавную штуку: то, что линух подразумевает слишком (категорически) разных задач, которые требуют разных подходов и разные представления об удобстве. В книжке про Линух ГК пытался сформулировать понятие удобства, но его можно формулировать субъективно, а можно объктивно, и в этом случае: если нам надо решить задачу, и если система предлагает быстрое и качествкенное решение, то эта система удобна, какой бы странной она не казалась. При этом стоит отдавать себе отчёт, что эта самая быстрота — понятие двойственное. Если например надо раз в год что-то делать, например переустанавливать систему, то те действия, которые будут делаться, ориентированы на качество (чтобы не страдать), и не на скорость, то есть подготовить настройки, ип-адреса... В время установки включается и время подготовки. Если же занимаетесь тем, что ставите ОС ежедневно, то установщик должен быть построен совершенно по другому и удобства в нём другие.
Из-за чего ГК пользователя Линух: если решения нет, то его легко можно изготовить. Этот подход лучше, когда есть рецепты на любой случай.
[править] Критерии
- Скорость и качество решения пользовательской задачи
- Скорость решения задачи это:
- однократная
- многократная
- Скорость изготовления решения (не долго объясняя, подошёл к вопросу, "почему они все пишут на шелле вместо тыканья кнопками": этот самый шелл задумывался как универсальный конструктор, в прошлом семестре была табличка 2 на 2, и шелл был для своих некомпьютерных задач (свои компьютерные — программировать, несвои компьютерные — готовые решения, несвои некомпьютерные — средства разработки)) Из этого следует афоризм: "Настоящий юниксоид за три часа пишет программу, которая за 5 секунд делает то, что обычный человек делает час". Не существует униыерсального конструктора вообще. Все эти дотнеты и библиотеки классов — универсальные конструкторы для программиста.
- Скорость решения задачи это:
Первое, что надо сделать — написать список задач, которые надо решать. Список небольшой, это типичные задачи десктопа, например, если остановить человека с ноутбуком, и спросить, чем он занимается, то он назовёт 3—4 задачи, связанные с интернетом, почтой, редактированием документов.
[править] Варианты интерфейса
Когда составили список задач, то увидите, что все варианты интерфейса, то есть того способа, который Линух предполагает, могут понадобиться:
- Командная строка — для задач текстового обмена. Когда что-то пораждаете, а потом впитываете тексты (как последовательностью занаком), то текстовый интерфейс достаточно удобный. И когда интерфейс данных и интерфейс управления одинаковые, то это достаточно удобен
- X11. Графическая оболочка сама по себе позволяет решать достаточно небольшой класс задач. Смотреть фильм, или делать что-то с изображениями, для этого потребуется Х11. Потребуется не только факт графичности интерфейса, но и его некая организация =>
- выбор window manager. Выбриаете некий фид интерфейса общения с системой, но этого недостаточно, ибо window manager это всего лишь программа, декорирующая окна и позволяет таскать их по экрану. Но этого тоже недостаточно, ибо не организуется стол ккак таковой, нужны программы, организующий быстрый доступ к готовым решениям
- Быстрый доступ к готовым решениям. Гораздо интересние, каким образом вы организуете решение своих задач, то это хорошо бы делать быстро и качественно. Если же задач достаточно много, то алиасов недостаточно, то нужно организовать ещё некий графический доступ
- Но это ещё всё, так как возможно род деятельности таков, что для решения ваших задач нужно набрать библиотеку решённых подзадач. Это штука, теряющаяся в тумане.
Составили список задач, начинаете прикидывать, как рещать, например, чтение почты. Для этого нужно получить почту с нескольких ящиков, читать несколько рассылок, иногда отвечать, но в разных расылках у меня одно имя, в другом другое, даже пол разный.
Если посадят за пустую машину, то весь механизм вариантов использования придётся отстраивать самим.
Сейчас ещё раз иллюстрируются три аспекта скорости решения задачи.
Чтение почты:
- Подсоединение к нескольким ящикам
- Обеспечить разную подпись у разных списков рассылки
- Просмотр должен быть удобный
- Уметь помечать неинтересные треды как прочитанные
Сколько продлится изготовление решения такой задачи? Зависит от инструментария. Надо посмотреть на mutt, pine, evolution, kmail, thunderbird. Чего первым делом надо посмотреть: задача получение почты неоднократная, посему надо изготовить решение и поставить его на конвейер. Посему надо посмоттреть, достижимо ли это решение и на какие жертвы можно идти, и каким образом это делается. Обычно задача настройки однократная. Но иногда бывает, что есть много-много компьютеров, с которых читают программу, и тогда читать почту везде или ходить в одно хорошо настроенное место. Тот факт, что это должно быть быстро, то программа должна быть рядом с сервером. Таков в кратце развёрнутый пример, с какими задачами мы имеем дело, когда оцениваем сорость решения. Дополнительно можно предусмотреть чштуку при случае миграции с компьютера на компьютер.
Вернёмся к 3 пунктам: настройка коммандной строки, настройка окновода, настройка быстрого доступа.
[править] Командная строка
Шелл. Чем больше человек работает с инструментом, тем более он персонализован. Если решать планируется более 4 задач, то следует озаботиться:
- Выбором шелла
- Настройкой шелла
- Написанием командочек
Шеллов не так много, с десяток наберётся, по большому счёту осталось 2 шелла: bash и zsh. zsh побольше и покруче, а bash полинуксовее, ибо по умолчанию.
Настройка. И тот, и другой шелл очень гибко настраиваются, особенно в части интерфейса. Например, в zsh появился визард, аццкая штука, которая, тем не менее, позволяет что-то настроить. Тем не менее bash полинуксовее, ибо спроси любого линуксоида, но что-нибудь да ответит. Если предполагается работать много, то неполениться настраивать.
У bash и zsh есть ряд файлов при входе/выходе исполняются несколько файлов по разным случаям жизни. Имеет смысл туда вписать различные вещи, например алиасы.
[править] Оконный менеджер
Окна. Что хочется:
- Таскать
- Скрыть
- Свернуть в иконку
- Посмотреть их список
- Виртуальные рабочие столы
Две потери
- Скроллбар как в xterm
- Родной иксовый копипейст
[править] Быстрый доступ к готовым решениям
Что бывает удобно:
- Горячие клавиши
- Меню
- Коробка с иконками
[править] Другое
Помимо прочего нужно ещё:
- Общий стиль — понятие неформализуемое
- Возможность воспроизведения сделанных настроек
Мораль: универсального удобства нет, есть статистическое универсальное. В линуксе больше сделано для того, чтобы сделать личное удобство, но на это надо потратить время.
01 02 03 04 05 06 07 08 09 10 11 12
Календарь
Февраль
| 16 | ||||
Март
| 02 | 09 | 16 | 23 | 30 |
Апрель
| 06 | 13 | 20 | 27 | |
Май
| 04 | 11 |
18 мая 2007 года прошёл экзамен по курсу. Краткий конспект экзамена.
22 мая 2007 года прошёл экзамен по курсу для студентов 3 курса и тех, кто не сдал экзамен 18 мая. Подробности здесь.
12 июня 2007 года (вторник) пройдёт экзамен по курсу. Информация об экзамене отсюда.