LINUX.ORG.RU
ФорумTalks

[gui] Как сделать самодокументирующийся интерфейс пользователя?

 


0

0

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

Низкоуровневых действий немного: пользователь может тыкать кнопки, что-то перетаскивать (слайдеры, скроллбары), вводить текст и выбирать элементы. Достаточно каждый элемент нарисовать своим стилем и подписать «красное-выпуклое нажимать, зеленое-в-полосочку таскать, а на белом можно писать тексты», но как быть тогда с высокоуровневыми элементами? Скажем, не просто ввод текста, а ввод имени файла? Появляющееся окно с диалогом выбора, равно как и кнопка для его вызова, кнопка «ок» в диалоге - это все совершенно не очевидно. Можно конечно попробовать засунуть файловый выбор в комбобокс, как это делают с календариками для ввода дат, но не запихнешь же туда URL всех возможных сайтов или отображение карт для ввода геокоординат? Или скажем, надо выбрать элемент в 3D-пространстве рядом?

А ведь у элемента могут быть и другие свойства, такие как «выключен» / «в фокусе мыши/клавиатуры» / «пользователь нажал на элемент» , правил вида «зеленое-в-полосочку таскать» уже недостаточно, как все это отобразить человеку, дабы было понятно любому и без подготовки?

Или это все ненужная идея и лучше дать пользователю учебник страниц на 500, вида «венда для чайников»?

Никак. Пусть пробуют и нажимают.

Deleted
()

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

pekmop1024 ★★★★★
()

> Как сделать самодокументирующийся интерфейс пользователя?
Мощным ментальным усилием.

Или это все ненужная идея и лучше дать пользователю учебник страниц на 500, вида «венда для чайников»?

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

metar ★★★
()

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

Valeg ★★★
()

Если это Очень опытный пользователь....

Забить на всплывание при наведении мышой, тех кусков кода/комментариев которые писались на эту часть ГУИ.

darkshvein ☆☆
()

Прозреваю, что ты напишешь опенсорсный GDI.

Lighting ★★★★★
()
Ответ на: Если это Очень опытный пользователь.... от darkshvein

Ещё раз то же самое но по другому

наводит он мышь на значок, а программа посредник-хелпер вытаскивает из основного кода те действия ( OR direct code)
которые может совершать юзер OR code
и выводить их в всплывающем окне.

Ессно только на этапе обучения. Остальное без мыши Shite kudasai!

darkshvein ☆☆
()
Ответ на: комментарий от Valeg

Или всплывающая подсказка над каждым элементом.

yirk ★★★
()

Создай более простой интерфейс и он создаст более тупого пользователя.

Не помню, чьи это слова, но тебе стоит к ним прислушаться.

yaroslav
()

единственный интуитивно понятный интерфейс, как известно, — соска, пользоваться остальными приходится учиться ©

drakmail ★★★★
()

Лучше сделать так:

window.addWidget (foo, «documentation string»);

И, скажем, при наведении мышой на виджет появится строка подсказка.

А можно что-то типа:

DEFWIDGET (foo, parent1, parent2) {...};

И новый виджет обладает какими-то свойствами старого и нового + видоизменяется строка документации.

// Я бред пишу, ага

different_thing
()

Скрепка, собачка... Примеров масса, до тебя все придумали.

gh0stwizard ★★★★★
()

ЛОР приносит сообществу массу пользы - сначала игру, теперь вот тулкит новый

Fracta1L
()

И пальцы! Пальцы! ПальцАми всё это тыкаться должно! иначе еще и мышкой учиться пользоваться..

breezy
()

> лучше дать пользователю учебник страниц на 500, вида «венда для чайников»

проще

breezy
()

Бери пример со Squeak

yoghurt ★★★★★
()

>«красное-выпуклое нажимать, зеленое-в-полосочку таскать, а на белом можно писать тексты»,

Вот только не надо твоей «расцветочки True»)

Yareg ★★★
()

В нормальных приложениях есть Shift+F1. Нажми его!

unikoid ★★★
()

а может, эта, не нада новый тулкит? чем gtk плох?

mono ★★★★★
()

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

JFreeM ★★★☆
()

Вызов примера.

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

Camel ★★★★★
()

CLI с грамотным автокомплитом, подсветкой, историей и разноуровневой справкой (novice, profi, expert типа того). Хуже всего со справкой, если придумаешь и реализуешь это дело - то будет тебе почёт и уважуха.

з.ы. а вот GUI пользователя (всякие формы и иже с ними) должны быть одно-стильны во всей системе. Тогда юзер со всем сможет быстро разобраться. Так что HIG

MKuznetsov ★★★★★
()
Ответ на: комментарий от different_thing

> Я бред пишу, ага

Неа, не бред, некий уровень иерархии будет нужен, но вот как его построить и наглядно донести до пользователя - хз

simple_best_world_web_master
() автор топика
Ответ на: комментарий от yoghurt

> Прозреваю, что мы его так и не увидим)

Я что, спущу в унитаз все свои старания? Не надейся

simple_best_world_web_master
() автор топика
Ответ на: комментарий от Yareg

> Видео неиндексируемо, следовательно обучающие видео — говно.

Никто не мешает создать индекс субтитрами и индексировать их, с последующим seek-ом в нужное место. Кстати, в приложениях на моем тулките это будет учтено (см.предыдушую тему про маркеры в GUI)

Вот только не надо твоей «расцветочки True»)

Ну это эксперимент был, да и только для винды.

simple_best_world_web_master
() автор топика
Ответ на: комментарий от JFreeM

> Смотри, что и как было сделано за последние 10 лет в самой популярной операционке и делай так же - интуитивность интерфейса гарантирована.

Тогда не будет смысла, зачем ставить себя в позицию догоняющего?

simple_best_world_web_master
() автор топика
Ответ на: комментарий от Pantserovik

> Я подозреваю что это Денис Попов в новой реинкарнации ;-)

Сообщения про тулкит (правда тогда это был еще проект с анимированными персонажами) можно встретить за долго до появления Дениса.

simple_best_world_web_master
() автор топика

Наибольный оптимальный вариант это man `cat /dev/brain_output` > /dev/brain_input

cvs-255 ★★★★★
()
Ответ на: комментарий от simple_best_world_web_master

Я склонен думать, что самодукоментирующийся интерфейс не более чем fake

Pantserovik
()
Ответ на: комментарий от Flavio_German_Davino_Rodriguez

1. Никто не мешает юзать свои методы отрисовки шрифтов (у меня так и будет)

2. Проблемы свинга не стоит всей жабе приписывать, ок?

3. А разве это проблема? Наоборот, работать будет везде

1567. Эту проблему как раз и пытаюсь решить

simple_best_world_web_master
() автор топика

Мысль в сторону...

Всё зло. Выход: dinamic interface by request.

darkshvein ☆☆
()
Ответ на: комментарий от simple_best_world_web_master

Лучшую систему обучения конкретному гую я видел в alpha centauri.

legolegs ★★★★★
()
Ответ на: комментарий от different_thing

>window.addWidget (foo, «documentation string»);

Это и так есть во всех вменяемых тулкитах. В том же Qt, например. Но во-первых, «documentation string» надо ещё написать (и перевести на сотню языков), а с этим реальные проблемы, а во-вторых юзеру её надо прочитать и понять. Короче, это почти не работает.

legolegs ★★★★★
()
Ответ на: комментарий от legolegs

Самое худшее, что пользователь о такой строчке может вообще не знать, если вызывается она каким-то хитрым хоткеем или попапом

simple_best_world_web_master
() автор топика

лучше сделай аналог вимператора для гуя

thunar ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.