Господа, меня вот чего тревожит: внутренне тяжело разрабатывать диалоги опций. В смысле, в большинстве случаев, когда надо разработать окошко с некоторой функциональностью, у меня как правило просыпается внутренний голос, подсказывающий, что будет смотреться логично и естественно, а что нет (естественно, решений может быть несколько, естественно, их надо проверять — но тем не менее).
А вот с диалогами опций (типа куча разнородных настроек) — нет, не понимаю. Два существующих подхода (накидать контролов где поместились vs. стройный property grid) — оба плохи: один — сумбурностью, другой — своей "программисто-ориентированностью".
А теперь — свежая мысль (понятия не имею, насколько верная): диалог опций в виде анкеты. Пример:
Нужно ли автоматически проверять почту?
[o] да
[ ] нет
Через какое время надо проверять почту?
через [5] минут
Что сделать, если есть новые сообщения?
[v] подать звуковой сигнал
[v] показать окошко с предупреждением
[ ] переключиться на главное окно
....
В таком вот аспекте.
То есть — каждая опция представлена в виде вопроса, на который нужно дать ответ. Мой внутренний голос утверждает, что юзеру будет приятственно.
Достоинства? Недостатки? Умные мысли?
ЗХ>Нужно ли автоматически проверять почту?
ЗХ> [o] да
ЗХ> [ ] нет
ЗХ>Через какое время надо проверять почту?
ЗХ> через [5] минут
ЗХ>Что сделать, если есть новые сообщения?
ЗХ> [v] подать звуковой сигнал
ЗХ> [v] показать окошко с предупреждением
ЗХ> [ ] переключиться на главное окно
ЗХ>....
ЗХ>
ЗХ>В таком вот аспекте. ЗХ>То есть — каждая опция представлена в виде вопроса, на который нужно дать ответ. Мой внутренний голос утверждает, что юзеру будет приятственно. ЗХ>Достоинства? Недостатки? Умные мысли?
Мне это сразу напомнило выбор параметров ядра Linux
Думаю все зависит от контента настроек. Скажем так, выпадающий список, имхо, смотрелся бы здесь уже неуклюже. А вот, например выбор тех или иных действий, включение/отключение возможностей, как в приведенном примере, выглядит симпатично.
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>То есть — каждая опция представлена в виде вопроса, на который нужно дать ответ. Мой внутренний голос утверждает, что юзеру будет приятственно. ЗХ>Достоинства? Недостатки? Умные мысли?
Для действий выполняемых редко — например, в визардах, в начальной настройке, в какой-то особенно сложной операции настройки, для начинающих пользователей — может оказаться удобно.
Для настроек "Tools > Options" — не думаю. Тяжело продираться через эти "нужно ли" / "что сделать" в поисках нужного слова. Я открыл окно настроек чтобы что-то одно быстро найти и включить/выключить, а так приходится много ненужного читать.
Вообще, такая схема похожа на анкету. Мне лично не очень приятно, если программа меня все время "анкетирует"...
Здравствуйте, nzeemin, Вы писали:
ЗХ>>То есть — каждая опция представлена в виде вопроса, на который нужно дать ответ. Мой внутренний голос утверждает, что юзеру будет приятственно. ЗХ>>Достоинства? Недостатки? Умные мысли?
N>Для действий выполняемых редко — например, в визардах, в начальной настройке, в какой-то особенно сложной операции настройки, для начинающих пользователей — может оказаться удобно.
Ну, там оно по сути и так применяется
Правда, в форме императивов "Введите то да се."
ИМХО, вопросительная форма более дружественна.
N>Для настроек "Tools > Options" — не думаю. Тяжело продираться через эти "нужно ли" / "что сделать" в поисках нужного слова. Я открыл окно настроек чтобы что-то одно быстро найти и включить/выключить, а так приходится много ненужного читать.
А вот это — вопрос философский.
Т.е. имеем (для моего примера), скажем, 3 варианта:
1. классический:
Проверять: [ ] никогда [о] каждые [5] минут
Информировать о новых сообщениях: [v] звуковом [v] окошком [ ] главное окно - активным
....
2. "модный" PropertyGrid:
Автоматически проверять почту [ да]
Проверка каждые (мин) [ 5]
Подавать сигнал, если есть со [ да]
Показать окошко-подсказку, ес [ да]
....
3. мой:
Нужно ли автоматически проверять почту?
[o] да
[ ] нет
Через какое время надо проверять почту?
через [5] минут
Что сделать, если есть новые сообщения?
[v] подать звуковой сигнал
[v] показать окошко с предупреждением
[ ] переключиться на главное окно
....
И фиг его знает, какой удобнее, даже (особенно?) при частом использовании.
Теоретически, 2й совсем плох (сразу видно); а у 3его преимущество перед 1ым — линейное сканирование окна глазами взамен двумерного.
Ну и кроме того, мне кажется, 3ий более способствует "ленивому" восприятию — т.е. "открыть окно и бежать взглядом по строчкам, пока не остановится" vs. "открыть окно и вспомнить, что мне надо и повести глазами туда". Как-то так.
Но вообще, имхо, надо пробовать.
N>Вообще, такая схема похожа на анкету.
Ну да, я так с самого начала и сказал.
N>Мне лично не очень приятно, если программа меня все время "анкетирует"...
А вот черт его знает. Мне кажется, неприятно, если анкетирование в стиле визарда, 1 вопрос на экран. А когда вся "анкета" умещается в окне — может быть, за счет хорошей структурированности опций и "естественной" вопросительной формы быстро привыкнешь.
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>И фиг его знает, какой удобнее, даже (особенно?) при частом использовании.
Для себя я точно знаю что для опций программы мне удобнее первый вариант. Возможно, это связанно с моими личными особенностями восприятия — я запоминаю "картинку", а не отдельные слова. Когда слов много или картинка динамически меняется — мне это мешает.
А вообще все это голословно, конечно. Нарисовать прототип, взять 10-100 пользователей и вперёд.
Как я понял, вопрос изначально стоял о визуальной композиции элементов.
ЗХ>Два существующих подхода (накидать контролов где поместились vs. стройный property grid) — оба плохи: один — сумбурностью, другой — своей "программисто-ориентированностью".
Стройно, но не конспиративно. Я, правда, говорю лишь про расположение элементов, а не про текст.
По сути этот вариант отличается от грида тем, что:
— убрана сетка
— центральная ориентация
— не надо кликать по сто раз, чтобы сделать то, что хочется
Такой вариант гораздо легче сканировать взглядом: опции — слева, варианты — справа. Хотя это не означает, что центральный стиль следует использовать повсеместно. Например, можно помогать глазам следовать за логикой:
[x] Автоматически проверять почту через каждые [5] минут
Т.е. намеренно вытеснить логически подчиненную опцию в другое измерение скана (горизонтальное).
Что касается текста, то с моей точки зрения, читать вопросы непривычно. Может быть и неудобно, но с уверенностью я этого сказать не могу. Утвердительное предложение само описывает то, что произойдет, а вопрос надо еще переделать в утверждение ("Что сделать, если есть новые сообщения? Подать звуковой сигнал." -> "Если пришли новые сообщения, подоть звуковой сигнал"). Какая-никакая, а все-таки работа мозга.
Кстати, вот что Головач писал про читабельность текста окна:
Окно должно читаться, как текст. При прочих равных, окно, все элементы управления которого можно без труда связно прочесть, будет лучше запомнено и быстрее обработано мозгом (поскольку не придется преобразовывать грамматику окна в грамматику языка).
При этом один элемент управления должен однозначно преобразовы ваться в единый фрагмент предложения, а единая группа элементов – в целое предложение.
Программы настраивают не только пользователи, но и администраторы в веденьи которого порой может находиься до сотни компьютеров. С точки зрения администратора настройки должны быть комбинацией 1 и 2 варианта. Разгруппированы по табам в один ряд, вариант да/нет это чекбокс (один клик против двух в комбобоксе для выбора варианта) и табличным расположением элементов как во втором (а не размазанными по всему таба). Почему так? Потому что работник службы сопровождения знает все настройки и задача просто настроить под определённые требования, и максимально быстро. После некоей тренировки это делается на автомате. А когда таким процессом приходится заниматься чуть ли не ежедневно наличие только анкет и визардов раздражает — я всё это знаю, а оно что-то объясняет и требует ответной реакции. Хотя с новой программой такое разжёвывание настроек очень неплохо. Можно без чтения документации узнать возможности, особенности и отличия от подобных.
... <<My edition based on RSDN@Home 1.2.0 alpha rev. 648>>
В задаче спрашивается:
Сколько вытечет портвейна из открытого бассейна?
Здравствуйте, Limonadni Joe, Вы писали:
LJ>Что касается текста, то с моей точки зрения, читать вопросы непривычно. Может быть и неудобно, но с уверенностью я этого сказать не могу. Утвердительное предложение само описывает то, что произойдет, а вопрос надо еще переделать в утверждение ("Что сделать, если есть новые сообщения? Подать звуковой сигнал." -> "Если пришли новые сообщения, подоть звуковой сигнал"). Какая-никакая, а все-таки работа мозга.
А вот это интересный вывих Потому что у меня мысли шли в совершенно противоположном направлении:
Сообщение: "Если пришли новые сообщения, подать звуковой сигнал"
Мыслительный процесс1: "Хм, а зачем мне звуковой сигнал? А в каком случае он будет подаваться? Ага, если пришли новые сообщения. То есть получается, сообщения пришли, подать сигнал. Логично."
Мыслительный процесс2: "Хм, а зачем мне звуковой сигнал? А в каком случае он будет подаваться? Ага, если пришли новые сообщения. Да мне пофиг, все равно ничего не приходит. Значит не надо. Или надо? Черт его знает, потом посмотрим"
Сообщение: "Что сделать если пришли новые сообщения? ..."
Мыслительный процесс1: "Ага, пришли новые сообщения, мне ж об этом надо сразу узнавать. А как они мне могут подсказывать? Ага звуковым сигналом. Отлично!"
Мыслительный процесс2: "А мне все равно не приходит. Значит, нафиг этот раздел."
То есть, идея, собственно, в чем:
* вопрос заставляет сосредоточиться на том, что эта за опция, если она мне нужна.
* утверждение заставляет сосредоточиться на том, нужна ли мне эта опция, предварительно разобравшись, что это такое.
Сейчас обозначается тенденция на разработку GUI-трансформеров. (дерево превращается в меню, пункт меню в кнопку на тулбаре и т.д.).
С другой стороны за последние 5лет интерфейс сильно упростился.
И что-то я давно невидел приложений с типами интерфейса: "новичок", "профессионал", "эксперт".
Так вот. На мой взгляд это очень интересная тема: когда мы описываем пользовательский интерфейс неким достаточно полным образом. А он, в зависимости от настроек, отображается не только заданным стилем (темой), но и с требуемым уровнем вспомогательных объяснений (доходчивости).
ЗХ>вопрос заставляет сосредоточиться на том, что эта за опция, если она мне нужна. ЗХ>утверждение заставляет сосредоточиться на том, нужна ли мне эта опция, предварительно разобравшись, что это такое.
Итого, вывод: вопросы лучше применять в небольших группах настроек (т.к. для масштабного скана лучше подходят утверждения) и в таких местах, где есть уверенность, что эти опции нужны. Я правильно понял?
Предельный случай — окно сообщения: 1 вопрос, причем максимально необходимый, и пара опций.
Можно чуть расширить тему и обсудить юзабильность окна настроек в целом.
В большинстве случаев сложность работы с настройками заключается в их поиске. Так почему бы не предоставить пользователю напрямую искать настройки? Так поступили, например, в macos: пишешь что-нибудь в поиске, а тем временем в окне подсвечиваются подходящие настройки (пример, я к сожалению не отыскал, но помню где-то он проскакивал).
Если связать с каждой настройкой все возможные ключевые слова и перебороть программистскую лень, то, думаю, этот подход можно довести до совершенства.
Здравствуйте, Limonadni Joe, Вы писали:
LJ>Можно чуть расширить тему и обсудить юзабильность окна настроек в целом.
В том и суть была. Что при текущем подходе оно обычно превращается в мусорку. (А поиск по мусорке — это, конечно, упрощение работы, но не решение).
LJ>В большинстве случаев сложность работы с настройками заключается в их поиске. Так почему бы не предоставить пользователю напрямую искать настройки? Так поступили, например, в macos: пишешь что-нибудь в поиске, а тем временем в окне подсвечиваются подходящие настройки (пример, я к сожалению не отыскал, но помню где-то он проскакивал).
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>А теперь — свежая мысль (понятия не имею, насколько верная): диалог опций в виде анкеты. Пример: ЗХ>
ЗХ>Нужно ли автоматически проверять почту?
ЗХ> [o] да
ЗХ> [ ] нет
ЗХ>Через какое время надо проверять почту?
ЗХ> через [5] минут
ЗХ>Что сделать, если есть новые сообщения?
ЗХ> [v] подать звуковой сигнал
ЗХ> [v] показать окошко с предупреждением
ЗХ> [ ] переключиться на главное окно
ЗХ>....
ЗХ>
Напоминает тест на канадское гражданство:
What is Canada’s system of government called?
( ) Dictatorship.
( ) Parliamentary government.
( ) Military Rule.
( ) Communism.
Which country lies on Canada’s southern border?
( ) United States of America.
( ) Central America.
( ) Mexico.
( ) Washington.
...
Я к тому что такой вопрос и ответы-опции могут вызывать не те ассоциации которые ты подразумеваешь...
3-й слишком длинный, просто влом читать такие длинные фразы. Причем
напрягают фразы, которые не несут никакого полезного смысла, типа:
"Нужно ли", "через какое время".
и еще верно сказали, что пользоваться одним чекбоксом проще, чем двумя
радиобатонами.
Однако последний вариант хорош для новичка, причем новичка в плане
юзания компа, а не только этой проги.
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>И фиг его знает, какой удобнее, даже (особенно?) при частом использовании. ЗХ>Теоретически, 2й совсем плох (сразу видно); а у 3его преимущество перед 1ым — линейное сканирование окна глазами взамен двумерного. ЗХ>Ну и кроме того, мне кажется, 3ий более способствует "ленивому" восприятию — т.е. "открыть окно и бежать взглядом по строчкам, пока не остановится" vs. "открыть окно и вспомнить, что мне надо и повести глазами туда". Как-то так.
Мне третий нравится больше всех. Мы просто очень привыкли к 1 и 2. К тому же 3й легко вырождается во второй, если сделать строчки потеснее и перенести ответы направо
Недостаток, связанный с большой длиной активной зоны, нужно бороть при помощи бокса search/filter вверху окна. Он должен сворачивать неподходящие ветки и разворачивать подходящие:
Фильтр: []
[-]Почта
[-]Нужно ли автоматически проверять почту?
[o] да
[ ] нет
[-]Через какое время надо проверять почту?
через [5] минут
[-]Что сделать, если есть новые сообщения?
[v] подать звуковой сигнал
[v] показать окошко с предупреждением
[ ] переключиться на главное окно
Фильтр: [новые]
Почта
[+]Нужно ли автоматически проверять почту?
[+]Через какое время надо проверять почту?
[-]Что сделать, если есть новые сообщения?
[v] подать звуковой сигнал
[v] показать окошко с предупреждением
[ ] переключиться на главное окно
1.1.4 stable SR1 rev. 56
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>А теперь — свежая мысль (понятия не имею, насколько верная): диалог опций в виде анкеты. Пример: ЗХ>
ЗХ>Нужно ли автоматически проверять почту?
ЗХ> [o] да
ЗХ> [ ] нет
ЗХ>Через какое время надо проверять почту?
ЗХ> через [5] минут
ЗХ>Что сделать, если есть новые сообщения?
ЗХ> [v] подать звуковой сигнал
ЗХ> [v] показать окошко с предупреждением
ЗХ> [ ] переключиться на главное окно
ЗХ>....
ЗХ>
ЗХ>В таком вот аспекте. ЗХ>То есть — каждая опция представлена в виде вопроса, на который нужно дать ответ. Мой внутренний голос утверждает, что юзеру будет приятственно. ЗХ>Достоинства? Недостатки? Умные мысли?
Настройки "От общего к частному" заставляет пользователя пройти всю "анкету" от начала и до конца.
Для небольших "анкет" это может быть эффективным, но для больших "простыней" это может оказаться утомительным, так как придётся отвечать на абсолютно все вопросы.
Возможно оптимизировать "анкеты" в виде "дерева", где каждая "ветвь" будет содержать подтему настроек.
Можно обсудить циклический граф, но я не думаю, что он будет эффективным, так как пользователь в состоянии запомнить детали последних 5-9 шагов.
Подход с "анкетой", по-моему, верный для недлинных тем настроек.
Здравствуйте, stele, Вы писали:
S>Программы настраивают не только пользователи, но и администраторы в веденьи которого порой может находиься до сотни компьютеров. С точки зрения администратора настройки должны быть комбинацией 1 и 2 варианта. Разгруппированы по табам в один ряд, вариант да/нет это чекбокс (один клик против двух в комбобоксе для выбора варианта) и табличным расположением элементов как во втором (а не размазанными по всему таба). Почему так? Потому что работник службы сопровождения знает все настройки и задача просто настроить под определённые требования, и максимально быстро. После некоей тренировки это делается на автомате. А когда таким процессом приходится заниматься чуть ли не ежедневно наличие только анкет и визардов раздражает — я всё это знаю, а оно что-то объясняет и требует ответной реакции. Хотя с новой программой такое разжёвывание настроек очень неплохо. Можно без чтения документации узнать возможности, особенности и отличия от подобных.
Это проблемы уровня обслуживания, а не конечного пользователя.
Заведите отдельные .properties-файлы с настройками и высылайте их пользователю для автоматического конфингурирования.