Насколько я могу судить, это концепция интерфейса, аналогичная Inductive User Interface от MS, но выражено проще и понятнее
BBOP (читается "beebop") — это концепция интерфейса подразумевающая: Buttons (кнопки — как основной контрол) Back stack (стек возвратов — как основной принцип навигации) One Task (одна задача, решаемая каждым окном) Page-based ("страницы" вместо "окон").
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Насколько я могу судить, это концепция интерфейса, аналогичная Inductive User Interface от MS, но выражено проще и понятнее ЗХ>Здесь.
Вот там мужик правильно замечает, что такого рода интерфейсы (BBOP, IUI) обычно используются НЕ постоянно, а для выполнения отдельной задачи. Пришел к автомату, прошел по шагам, получил билет, ушел. Взял телефон, набрал SMS-ку, убрал телефон. Выбрал передачи для записи, вернулся к просмотру канала. И так далее...
Это хорошо согласуется со статьей в MSDN: Picking the Right Degree of Control for User Interfaces. А именно, чем чаще пользователь выполняет задачу, тем больше возможностей должен предоставлять экран. И наоборот, чем реже выполняется задача, тем меньше контроля должно предоставляться пользователю. В последнем случае IUI/BBOP хорош, в первом случае он — плох. Хорош он или плох не для того или иного пользователя, а как раз с точки зрения частоты выполнения тех или иных действий.
Вот диаграмма из той статьи:
Направление вверх — пользователь контролирует ситуацию, вниз — программа контролирует процесс.
Направление вправо — часто или постоянно выполняемые действия, влево — нечастые действия, время от времени выполняемые задачи.
Хорошие примеры дает сложный, контролируемый пользователем интерфейс на частых задачах (WIMP) либо простой, контролируемый программой процесс на редких задачах (wizards, IUI, BBOP). Плохой пример — сложный интерфейс для редких задач (пользователь теряется), и простой интерфейс для частых задач (пользователю скучно, его "держат за идиота").
Отсюда следует вывод. Интерфейс приложений, полностью построенный в стиле IUI/BBOP — решение неудачное. Удачное решение состоит в разумном балансе между IUI/BBOP и более сложным интерфейсом, в зависимости от частоты использования решаемых пользователем задач. С другой стороны, IUI/BBOP может хорошо подходить для утилит, используемых от случая к случаю.
Вот. Америк не открыл, но надеюсь, мысль выразил внятно...
К слову, есть одна проблема — как всегда дихотомия "новичок-опытный".
По сути, "программа используется редко" == "пользователь всегда новичок"; "программа используется часто" == "пользователь быстро становится опытным".
Соответственно, случай "программа предназначена для частого использования, но используется первый (второй, третий) раз" все еще не покрыт
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>К слову, есть одна проблема — как всегда дихотомия "новичок-опытный". ЗХ>По сути, "программа используется редко" == "пользователь всегда новичок"; "программа используется часто" == "пользователь быстро становится опытным".
Прекрасный поворот дискуссии, коллега!
Читаю сейчас Алана Купера "Психбольница в руках пациентов". Так он говорит что эта дихотомия — миф. Т.е. на самом деле среди рядовых пользователей относительно мало людей которые не знают ничего и относительно мало людей которые разбираются во всем. Например, девушка не представляет себе как устроен компьютер, в ворде может делать только простые документы, зато с Excel'ем работает так что мы с тобой позавидуем — просто потому что таковы были ее задачи. Или паренек например умеет работать в ворде и не знает Excel, зато он умеет проложить и настроить сеть, и досконально понимает адресацию и маршрутизацию... Т.е. говорить про пользователя "это начинающий" или "это опытный" можно только в контексте какого-либо одного направления.
ЗХ>Соответственно, случай "программа предназначена для частого использования, но используется первый (второй, третий) раз" все еще не покрыт
НЕ "программа предназначена для частого использования", а "задача часто выполняется". Например, при первом использовании сложной программы прогоняем пользователя через визард для ввода всех важнейших параметров (например, данные предприятия от имени которого он работает — это однократная или нечастая задача). После этого он попадает в сложный интерфейс, который он будет использовать часто и который (что важно) уже не будет изменяться — его можно осваивать постепенно, от одной функции к другой. Это освоение можно упростить уже более консервативными методами — например, предложить ему показать способы выполнения основных (часто используемых) функций.
Здравствуйте, nzeemin, Вы писали:
ЗХ>>К слову, есть одна проблема — как всегда дихотомия "новичок-опытный". ЗХ>>По сути, "программа используется редко" == "пользователь всегда новичок"; "программа используется часто" == "пользователь быстро становится опытным".
[...] N>Т.е. говорить про пользователя "это начинающий" или "это опытный" можно только в контексте какого-либо одного направления.
И более того — в контексте каждой конкретной задачи Впрочем, ты об этом же ниже и говоришь. И я имел в виду именно это значение.
ЗХ>>Соответственно, случай "программа предназначена для частого использования, но используется первый (второй, третий) раз" все еще не покрыт N>НЕ "программа предназначена для частого использования", а "задача часто выполняется". Например, при первом использовании сложной программы прогоняем пользователя через визард для ввода всех важнейших параметров (например, данные предприятия от имени которого он работает — это однократная или нечастая задача). После этого он попадает в сложный интерфейс, который он будет использовать часто и который (что важно) уже не будет изменяться — его можно осваивать постепенно, от одной функции к другой. Это освоение можно упростить уже более консервативными методами — например, предложить ему показать способы выполнения основных (часто используемых) функций.
Это кажется очевидным, но грустным
То есть мы все еще никуда не можем уйти от "новому пользователю дайте визард, а старый разберется со сложным интерфейсом"
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Это кажется очевидным, но грустным ЗХ>То есть мы все еще никуда не можем уйти от "новому пользователю дайте визард, а старый разберется со сложным интерфейсом"
Ну а что в этом грустного?
Визард позволяет сосредоточиться и не забыть о главном. А дальше верти ручки сколько хочешь. Если в том есть нужда...
Здравствуйте, Кодт, Вы писали:
ЗХ>>Это кажется очевидным, но грустным ЗХ>>То есть мы все еще никуда не можем уйти от "новому пользователю дайте визард, а старый разберется со сложным интерфейсом"
К>Ну а что в этом грустного? К>Визард позволяет сосредоточиться и не забыть о главном. А дальше верти ручки сколько хочешь. Если в том есть нужда...
.
Добавление книжки в библиотеку выглядит, грубо говоря так:
* ты говоришь программе "в этой папке есть книжки"
* программа анализирует папку и показывает, какие книжки нашла; ты корректируешь
* программа анализирует книжки и извлекает метаданные; ты корректируешь
Эффективное окно (позволяющее в три-четыре клика добавить несколько гигабайт книг) получается довольно сложным (и уж точно не соответствует принципу "одно окно-одна задача") Простое окно (в стиле визарда "укажи книжку => проверь файлы => проверь метаданные => добавляем в библиотеку") — убийственно неэффективно (убивает сам смысл программы).
И что? Сколько бы раз я не показал новому юзеру "визард" — это не увеличит его эффективность и не подготовит к встрече со сложным окном.
На данный момент рабочее решение — визарда нет вообще. Но! Это сразу отсекает неуверенно пользующихся компьютером пользователей (с другой стороны, они вроде бы не целевая аудитория). Тем не менее, некая неудовлетворенность у меня остается.
. ЗХ>Добавление книжки в библиотеку выглядит, грубо говоря так: ЗХ>* ты говоришь программе "в этой папке есть книжки" ЗХ>* программа анализирует папку и показывает, какие книжки нашла; ты корректируешь ЗХ>* программа анализирует книжки и извлекает метаданные; ты корректируешь
ЗХ>Эффективное окно (позволяющее в три-четыре клика добавить несколько гигабайт книг) получается довольно сложным (и уж точно не соответствует принципу "одно окно-одна задача") ЗХ>Простое окно (в стиле визарда "укажи книжку => проверь файлы => проверь метаданные => добавляем в библиотеку") — убийственно неэффективно (убивает сам смысл программы).
ЗХ>И что? Сколько бы раз я не показал новому юзеру "визард" — это не увеличит его эффективность и не подготовит к встрече со сложным окном. ЗХ>На данный момент рабочее решение — визарда нет вообще. Но! Это сразу отсекает неуверенно пользующихся компьютером пользователей (с другой стороны, они вроде бы не целевая аудитория). Тем не менее, некая неудовлетворенность у меня остается.
Неудовлетворённость потому, что ты для визарда и для "адвансед моде" предлагаешь разные задачи: "добавить ОДНУ книгу" против "добавить книги с хитрыми фильтрами и т.д."
Давай подумаем, как может выглядеть визард, добавляющий маленькую выборку из большого набора.
1) Указываешь папку для поиска книг
2) Визард сообщает о размере выборки (изначально — гигабайты) и предлагает уточнить критерии отбора; проанализировав данные, он даже может подсказать варианты
3) Это повторяется до тех пор, пока распечатка выборки не влезает на одну страницу или пока пользователь не сочтёт "а, вываливай!"
4) Отмечаешь то, что хочешь добавить, и выполняется групповая операция по добавлению
5) Если по какому-то пункту возникают непонятности, визард задаёт вопрос и старается запомнить ответ (File is read-only. Delete? Yes|Yes-to-all|No|No-to-all)
5) По окончании операции можно откатиться к предыдущим, более общим критериям.
Вообще, принцип действия по образцу (запоминание ответа) здесь весьма пригождается.
Пример того, где это работает: персональные файрволлы.
Как только файрволл обнаруживает ранее неизвестную активность, он выдаёт визард по настройке фильтра.
Примерно так же и с книжками: научившись на десятке разных книг из тысячи, остальные 990 просеет сам.
Здравствуйте, Кодт, Вы писали:
К>Неудовлетворённость потому, что ты для визарда и для "адвансед моде" предлагаешь разные задачи: "добавить ОДНУ книгу" против "добавить книги с хитрыми фильтрами и т.д."
К>Давай подумаем, как может выглядеть визард, добавляющий маленькую выборку из большого набора. К>1) Указываешь папку для поиска книг К>2) Визард сообщает о размере выборки (изначально — гигабайты) и предлагает уточнить критерии отбора; проанализировав данные, он даже может подсказать варианты К>3) Это повторяется до тех пор, пока распечатка выборки не влезает на одну страницу или пока пользователь не сочтёт "а, вываливай!" К>4) Отмечаешь то, что хочешь добавить, и выполняется групповая операция по добавлению К>5) Если по какому-то пункту возникают непонятности, визард задаёт вопрос и старается запомнить ответ (File is read-only. Delete? Yes|Yes-to-all|No|No-to-all) К>5) По окончании операции можно откатиться к предыдущим, более общим критериям.
Хм. Вообще-то, у меня предполагался юз-кейс "вот это папка с книгами, все что там есть — это книги".
А дальше программа должна найти "границы" каждой конкретной книги (дело в том, что книга может быть многофайловой, соответственно, папка с 60 подпапками по 300 файлов в каждой может представлять собой всего 5-10-30 книг; а может — и всего одну).
Но я задумался о том, что и твой юз-кейс ("вот папка со всякой фигней, найди там книги") не лишен смысла.
Здравствуйте, nzeemin, Вы писали:
N>Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>>Насколько я могу судить, это концепция интерфейса, аналогичная Inductive User Interface от MS, но выражено проще и понятнее ЗХ>>Здесь.
N>Отсюда следует вывод. Интерфейс приложений, полностью построенный в стиле IUI/BBOP — решение неудачное. Удачное решение состоит в разумном балансе между IUI/BBOP и более сложным интерфейсом, в зависимости от частоты использования решаемых пользователем задач. С другой стороны, IUI/BBOP может хорошо подходить для утилит, используемых от случая к случаю.
Одна из особенностей IUI состоит в том, что IUI-приложения более защищены как от случайных ошибок пользователя, так и от его преднамеренных некорректных действий. В советских реалиях это обстоятельство часто затмевает собой недостатки IUI. Весьма часты случаи, когда для конечного пользователя приложение является его врагом, мешающим заниматься на работе разными интересными вещами, либо попросту нарушать свои служебные обязанности. А работать с этим приложением надо, никуда не денешься. Такая ситуация часто складывается в системах операторского/диспетчерского контроля и управления на промышленных производствах. И вот тут "неубиенность" программы становится важнее, чем медлительность перехода между экранами. Собственно, SCADA/HMI системы давно оперируют с IUI, только не называют его такими словами. И это несмотря на то, что одни и те же задачи выполняются пользователями таких систем постоянно, и квалификация этих самых пользователей достаточно высока.
E>Одна из особенностей IUI состоит в том, что IUI-приложения более защищены как от случайных ошибок пользователя, так и от его преднамеренных некорректных действий. В советских реалиях это обстоятельство часто затмевает собой недостатки IUI. Весьма часты случаи, когда для конечного пользователя приложение является его врагом, мешающим заниматься на работе разными интересными вещами, либо попросту нарушать свои служебные обязанности. А работать с этим приложением надо, никуда не денешься. Такая ситуация часто складывается в системах операторского/диспетчерского контроля и управления на промышленных производствах. И вот тут "неубиенность" программы становится важнее, чем медлительность перехода между экранами. Собственно, SCADA/HMI системы давно оперируют с IUI, только не называют его такими словами. И это несмотря на то, что одни и те же задачи выполняются пользователями таких систем постоянно, и квалификация этих самых пользователей достаточно высока.
Да, тут еще такая штука, что IUI в данном случае используется для выполнения формализованных, рутинных задач. То есть для управления химическим реактором всегда используется последовательность "открыть/загрузить/закрыть/нагреть/открыть/выгрузить". Оператору не нужно никакого простора для творчества. А в случае с текстовым редактором процесс написания текста неформализуем и соответственно IUI для набора текста неприменим.
Шурыгин Сергей
"Не следует преумножать сущности сверх необходимости" (с) Оккам
Здравствуйте, Sshur, Вы писали:
S>Да, тут еще такая штука, что IUI в данном случае используется для выполнения формализованных, рутинных задач. То есть для управления химическим реактором всегда используется последовательность "открыть/загрузить/закрыть/нагреть/открыть/выгрузить". Оператору не нужно никакого простора для творчества. А в случае с текстовым редактором процесс написания текста неформализуем и соответственно IUI для набора текста неприменим.
Кто сказал что набор текста неформализуем? Еще как формализуем. Книга, статья, договор, приказ, заявление... любой текст составляется по вполне определенным правилам.
Вот получишь от такого "неформализованного" заказчика ТЗ на доработку, так по полдня уходит на правку стилей и структуры документа, потому как не умеет оно редактировать стили. А умеет менть шрифт-размер-выравнивание-отступы выделенного фрагмента.
Приведите, пожалуйста, пример неформализуемого текста.
Надписи на заборах не предлагать.
С>Кто сказал что набор текста неформализуем? Еще как формализуем. Книга, статья, договор, приказ, заявление... любой текст составляется по вполне определенным правилам.
Правила — то есть, но вот если бы был алгоритм, позволяющий написать все что угодно, от объявления до монографии, писатели были бы не нужны. А в случае с IUI речь идет именно об алгоритмах действия, где каждому этапу соответствует один экран.
Представляем себе:
Шаг 1. Наберите пожалуйста заголовок.
Шаг 2. Выберите тип первого абзаца: просто текст, текст с таблицей, текст с рисунком, итд..
Шаг 3. Введите текст.
Вы хотите, чтобы таким был интерфейс Word 2010?
С>Вот получишь от такого "неформализованного" заказчика ТЗ на доработку, так по полдня уходит на правку стилей и структуры документа, потому как не умеет оно редактировать стили. А умеет менть шрифт-размер-выравнивание-отступы выделенного фрагмента.
С>Приведите, пожалуйста, пример неформализуемого текста. С>Надписи на заборах не предлагать.
Любой текст. Составьте формальную спецификацию, чтобы в неё укладывался _ЛЮБОЙ_ текст, который можно набрать в ворде. В нем же не только ТЗ набирают.
Для каждого конкретного случая можно написать, но вот перечислить их все — не получится, поскольку это процесс в большей степени творческий. Или вы хотите формализовать творчество?
PS. Элементы IUI в ворде конечно, есть. Например, в Word 2003 окно "Приступая к работе". Но после запуска программы у пользователя и есть 3 выбора — открыть старый документ, создать новый и закрыть приложение. После чего количество вариантов возрастает многократно...
Шурыгин Сергей
"Не следует преумножать сущности сверх необходимости" (с) Оккам