Спецкурс по Linux, весна 2007, 05 лекция (от 23 марта)

Материал из eSyr's wiki.

Версия от 18:00, 3 февраля 2008; ESyr01 (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Предыдущая лекция | Следующая лекция

Авторский вариант: http://uneex.cs.msu.su/uneex/LecturesDistro2007/05_Usability

Содержание

[править] Обеспечение удобной работы

Про удобства, про то, как обеспечить удобную работу. Почему ГК решил так смело рассказать нам, как всем вместе каждому лорганизовать удобную работу. Дело в том, что это понятие настолько субъективное, что любое утверждение в стиле "нарисуйте такой-то цветочек и вам будет удобно", то напйдётся счеловек, для которого это утверждение верно, и для которого — нет, причём последних больше.

Самые крупные Люди, занимающиеся юзабилити силят в Эпл, ибо Макинтош, славящится своей юзабилити.

[править] То, чем занимаются люди

  • Список задач (в прошлом году было рассказно про внедрение, и надо идти от списка задач, тогда можно сделать так, чтобы было удобно)
  • Шаблоны поведения (ГК рассказывал про это несколько раз, например, Новелл, когда делал Новелл Линукс десктоп, они сажали людей в клетку, ставили видеокамеру, и смотрели, что люди делали; они отсняли 200 часов на эту тему, и наиболее частотные шаблоны поведения отражались на интерфейсе. В резльтате получилось виндозообразное — вероятно, эти люди раньше пользовались виндовз; так что нельзя опираться только на них, ибо можно приучить рещать задачи сколь либо неудобным способом, если другого способа нет)
  • Варианты использования (чем они отличаются от шаблонов поведения: ШП — то, что пользователь думает о компьютере, например, эта кнопочка делает такие действия, перетаскивание означает...; а ВИ — задачи до того, как он их начал рещать, например, получение почты. Но это слишком абстрактно. Что под эти имеется в виду: сваливание писем в ящик или их чтение, или каталогизация...; надо составлять большой список вариантов использования, того, чего надо)

В реальности параллельно идёт сбор ВИ и ШП, а потом пишется список задач.

В случае с конкретным человеком нельзя его проинтервьюировать, нужно составить список задач заранее.

Всё это хорошо работает, пока мы имеем дело с среднестатистическим пользователем. Когда же мы хотим сделать удобной работу для себя, то с одной стороны задача простая (ибо легко брать интервью, и человек всегда рядом), с другой очень сложная, ибо делаете — вам не нравится, и так делать можно очень долго. Тем не менее, про эти три пункта забывать нельзя.

И тут мы упираемся в забавную штуку: то, что линух подразумевает слишком (категорически) разных задач, которые требуют разных подходов и разные представления об удобстве. В книжке про Линух ГК пытался сформулировать понятие удобства, но его можно формулировать субъективно, а можно объктивно, и в этом случае: если нам надо решить задачу, и если система предлагает быстрое и качествкенное решение, то эта система удобна, какой бы странной она не казалась. При этом стоит отдавать себе отчёт, что эта самая быстрота — понятие двойственное. Если например надо раз в год что-то делать, например переустанавливать систему, то те действия, которые будут делаться, ориентированы на качество (чтобы не страдать), и не на скорость, то есть подготовить настройки, ип-адреса... В время установки включается и время подготовки. Если же занимаетесь тем, что ставите ОС ежедневно, то установщик должен быть построен совершенно по другому и удобства в нём другие.

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

[править] Критерии

  • Скорость и качество решения пользовательской задачи
    • Скорость решения задачи это:
      1. однократная
      2. многократная
      3. Скорость изготовления решения (не долго объясняя, подошёл к вопросу, "почему они все пишут на шелле вместо тыканья кнопками": этот самый шелл задумывался как универсальный конструктор, в прошлом семестре была табличка 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
  • Родной иксовый копипейст

[править] Быстрый доступ к готовым решениям

Что бывает удобно:

  • Горячие клавиши
  • Меню
  • Коробка с иконками

[править] Другое

Помимо прочего нужно ещё:

  • Общий стиль — понятие неформализуемое
  • Возможность воспроизведения сделанных настроек

Мораль: универсального удобства нет, есть статистическое универсальное. В линуксе больше сделано для того, чтобы сделать личное удобство, но на это надо потратить время.


Спецкурс по Linux, весна 2007


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 года (вторник) пройдёт экзамен по курсу. Информация об экзамене отсюда.


Эта статья является конспектом лекции.

Эта статья ещё не вычитана. Пожалуйста, вычитайте её и исправьте ошибки, если они есть.
Личные инструменты
Разделы