Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.06.21;
Скачать: [xml.tar.bz2];

Вниз

«Интерфейс пользователя» → Хорошая замена MessageBox а   Найти похожие ветки 

 
Kolan ©   (2009-04-14 16:15) [0]

*Пост в рамках не существующей конференции «Интерфейс пользователя».*

То, что диалоговое окно с надписью и кнопкой ОК (в Делфи, напомню,
для создание такого окна есть функция MessageBox) не должно
существовать — совершенно очевидно. Однако думаю, что многие
вообще об этом не задумывались.

Что же плохого в таком окне?

Во-первых, это окно модальное, а значит, создает режим — крупнейший
источник ошибок, путаницы, ненужных ограничений
и сложности в интерфейсе.
(см. Джефа Раскина http://raskin-interface.narod.ru/interface/chapter3.htm)

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

В своей книге Джеф Раскин сформулировал простое правило:
если пользователь в следующий момент может выполнить
только одно действие, пусть это действие выполнит компьютер


Если применить его к диалоговым окнам с единственной
кнопкой «OK», то получается, что её должен нажать сам компьютер,
то есть диалогового окна просто не должно существовать.

Использование MessageBox"а свидетельствует о творческой импотенции
проектировщика интерфейса или вообще об отсутствии такового.

Чем заменить MessageBox?

Совсем убрать такие окна из программы очень просто.
Прекрасный вариант показан в описании интерфейса НТ-МДТ,
сделанного Артемом Горбуновым (http://www.artlebedev.ru/everything/nt-mdt/ia/).

Сделать хорошую замену MessageBox"у на Делфи можно за 5 минут.
С помощью обычной формы, например.
(http://www.ksoftware.ru/wiki/klibrary/kcomponents/kinfoedit).

Я думаю, многие более опытные участники могут привести
много примеров реализации подобных окон с сообщениями на Делфи.
Было бы очень любопытно на них взглянуть.


 
DVM ©   (2009-04-14 16:20) [1]

Я, честно говоря, не вижу абсолютно ничего плохого в MessageBox. Конечно если в нем более одной кнопки.


 
AndreyV ©   (2009-04-14 16:20) [2]

С ShowMessage() не путаешь?


 
Cobalt ©   (2009-04-14 16:23) [3]

А как быть с программой, у которой будет только одна кнопка "Сделать всё" ?

Пользователь будет в недоумении - он команд никаких не давал, а оно уже...
А он и не хотел прям щас...

И потом, иногда надо обращать внимание пользователя.


 
Kolan ©   (2009-04-14 16:23) [4]

Да, действительно — перепутал. На самом деле наличии двух, трех или N кнопок не слишком оправдывает дизайнера. Окно все равно остается модальным, а следовательно создает режим.


 
Ega23 ©   (2009-04-14 16:25) [5]


> Я, честно говоря, не вижу абсолютно ничего плохого в MessageBox.
>  Конечно если в нем более одной кнопки.


Да и с одной кноой нормально. Например, Exception Message показать.


 
Kolan ©   (2009-04-14 16:26) [6]


> И потом, иногда надо обращать внимание пользователя.

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

В рассказе про НТ-МДТ типичный пример. Разработчики фотошопа думали, что то, что пользователь ничего не выделил важно, и надо привлечь его внимание. А в действительности это не так.


 
test ©   (2009-04-14 16:26) [7]

subj
Вывод ошибок, предупреждений в стандартном окне, вполне логично. Если следующее действие опасно, пусть компьютер выполнит молча.

DVM ©   (14.04.09 16:20) [1]

Вот так напрмер?

---------------------------------------------------
|                                               Х |
|                                                 |
|  Вы действительно хотите отформатировать диск?  |
|                                                 |
|                 --------                        |
|                |  ЫЫЫЫ  |                       |
|                 --------                        |
---------------------------------------------------


 
test ©   (2009-04-14 16:28) [8]

Пробелы разьехались((


 
AndreyV ©   (2009-04-14 16:29) [9]

> [4] Kolan ©   (14.04.09 16:23)
> Да, действительно — перепутал. На самом деле наличии двух,
> трех или N кнопок не слишком оправдывает дизайнера. Окно
> все равно остается модальным, а следовательно создает режим.

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


 
Kolan ©   (2009-04-14 16:29) [10]

Ega23, действительно фатальная ошибка, из-за которой работа системы далее невозможна имеет полное право на модальное окно, но таких ошибок не так уж много.


 
DVM ©   (2009-04-14 16:32) [11]


> test ©   (14.04.09 16:26) [7]

не, кнопки в заголовке окна не в счет.


 
Kolan ©   (2009-04-14 16:33) [12]

test, это совершенно дурацкое окно не делает равным счетом ничего.

Если локус внимания пользователя занять чем-то другим, то он легко может нажать «ЫЫЫЫ» и отформатировать диск. Вспомните сколько раз вы отвечали на подобные вопросы не читая самого сообщения.

Авторы таких окно совершенно не знакомы с основами когнетики и свойствами человеческого мозга.


 
DVM ©   (2009-04-14 16:35) [13]


> Kolan ©   (14.04.09 16:33) [12]


> Если локус внимания

Это где у меня такой орган?


 
Kolan ©   (2009-04-14 16:35) [14]

test, мда, у вас там одна кнопка, сразу не понял. Такая форма, конечно, фантастика. В [12] я говорил о варианте с «Да» и «Нет».


 
AndreyV ©   (2009-04-14 16:35) [15]

> [10] Kolan ©   (14.04.09 16:29)
> Ega23, действительно фатальная ошибка, из-за которой работа
> системы далее невозможна имеет полное право на модальное
> окно, но таких ошибок не так уж много.

("Сохранить документ перед закрытием", MB_YES | MB_NO). Без "ненужных" диалогов не даём пользователь закрыть приложение (а системе?) с несохранённым документом и причину не сообщаем, пусть догадается, что надо самому сохранить, а уж потом закрывать. Так получается.


 
@!!ex ©   (2009-04-14 16:37) [16]

> [0] Kolan ©   (14.04.09 16:15)

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


 
Kolan ©   (2009-04-14 16:39) [17]


> Это где у меня такой орган?

Это не орган, это понятие. Локус — это объект.

Локус, если просто, это то, о чем вы думаете. Можно писать программу, смотреть в монитор, а размышлять о жареной картошке. Картошка будет локусом.

Привожу цитату из Раскина. Я очень люблю этот пример. Он невероятен, но это правда.

Поглощенное внимание привело к гибели 101 человека

   Крайним примером такого случая является катастрофа, происшедшая в декабре 1972 года, в результате которой погиб 101 человек. Обычно в кабине пилотов загорается зеленый индикатор, сигнализирующий о том, что шасси выпущено и готово к посадке. Во время того полета индикатор выпуска шасси не зажегся, поэтому командир самолета решил подняться на высоту 2000 футов, чтобы сделать круг, а второй пилот переключил на этой высоте управление самолетом в режим автопилота. После этого все три члена экипажа стали пытаться заменить лампочку индикатора, но она застряла, и ее никак нельзя было вытащить. Наверное, из-за всех этих манипуляций с лампочкой кто-то случайно выключил автопилот. Во всяком случае каким-то образом он оказался выключенным. Вскоре, как впоследствии показала запись бортового самописца, зазвучала автоматическая сигнализация — полусекундный сигнал предупредил пилотов о том, что самолет снизился на 250 футов ниже установленной высоты. Также зажегся желтый индикатор предупреждения. Члены экипажа, поглощенные проблемой с зеленой лампочкой, не заметили все эти сигналы. Немного позже, все еще продолжая возиться с лампочкой, второй пилот заметил, что альтиметр показывает угрожающе малую высоту 150 футов. После этого он спросил командира: «Мы еще на высоте 2000, да?» В ответ командир воскликнул: «Эй, что происходит?»

   В этот момент зазвучала сирена, предупреждающая о малой высоте. «Несмотря на почти нулевые показания альтиметра, желтый сигнал, предупреждающий об отклонении от назначенной высоты, почти нулевые показания радиоальтиметра и его звучащую сирену, каждый член экипажа был настолько уверен, что самолет находится на высоте 2000 футов, что никто из них не предпринял никаких действий, и уже спустя 8 секунд после того, как командир экипажа посмотрел на показания альтиметра, самолет упал в болота Флориды». (Цитата из Garrison, 1995.)


 
AndreyV ©   (2009-04-14 16:40) [18]

> [13] DVM ©   (14.04.09 16:35)
> > Если локус внимания
>
> Это где у меня такой орган?

Это опечатка. Правильно Логос.

(" слово-термин", введенный древнегреч. философом Гераклитом; для него логос - всеобщий закон, основа мира; стоики понимали логос как мировой разум, стоящий над материальным миром; у Филона Александрийского логос - это мысль Бога, слово, сын Божий, Божественная сила, стоящая между Богом и людьми и с помощью которой было создано все сущее) logos

Третий глаз его рецептор.

Шучу я.:)


 
Kolan ©   (2009-04-14 16:43) [19]

«...если работаю параллельные потоки или скрипты.»
@!!ex, пользователь и знать не знает о том что это такое. Это вам программистам надо что-то там учитывать.

Это тот самый пример о котором я говорю. Некоторые просто не понимают насколько плохо такое бездумное использование модальности.

AndreyV, нет. Система не имеет права испортить работу пользователя. Это вообще аксиома.


 
Kerk ©   (2009-04-14 16:43) [20]

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


 
Городской Шаман   (2009-04-14 16:49) [21]


> Kolan ©   (14.04.09 16:15)  


Я думаю стоит разделять:
- режим подтверждения действия;
- режим уведомления(например об ошибке).

Для режима подтверждения MessageBox полезен(и неважно сколько там кнопок).
Режим уведомления должен быть неблокирующим, тоесть не раздражать пользователя.

Я использовал два варианта - специальный объект ErrorLogger - который хранит и показывает ошибки(окно, статус бар), пишет в файл по требованию.

Второй вариант ошибка тупо идёт в файл лога. Если она пользователю будет мешать, то он просто пришлёт лог, вместо 20 минут секса по телефону.


 
Игорь Шевченко ©   (2009-04-14 16:49) [22]


> То, что диалоговое окно с надписью и кнопкой ОК (в Делфи,
>  напомню,
> для создание такого окна есть функция MessageBox) не должно
> существовать — совершенно очевидно


Не очевидно


 
AndreyV ©   (2009-04-14 16:51) [23]

> [19] Kolan ©   (14.04.09 16:43)
> AndreyV, нет. Система не имеет права испортить работу пользователя.
> Это вообще аксиома.

О системе там в скобках, а как об остальном содержании поста? Но и система тоже, по инициативе самого пользователе или аварийно, по сигналу от ИБП, например, но это уже нештатная ситуация, можно предусмотреть сохранение в какое-либо место кроме основного.


 
DVM ©   (2009-04-14 16:52) [24]


> Kerk ©   (14.04.09 16:43) [20]

Отказ от модальных окон, как мне кажется, может очень усложнить процесс программирования интерфейса пользователя. Да и сам интерфейс сделать непривычным для пользователя.

Вот уже упомянутый вариант с выходом из текстового редактора при несохраненном тексте (да/нет/отмена) чем его еще можно заменить? Где сообщение выводить?


 
Игорь Шевченко ©   (2009-04-14 16:54) [25]

а всякие так локусы - это хитрые яйцеголовые придумали, чтобы программистам мозги засорить, а с пользователей бабла состричь


 
Kolan ©   (2009-04-14 16:55) [26]

«Для режима подтверждения MessageBox полезен»

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


 
test ©   (2009-04-14 16:55) [27]

Kolan ©   (14.04.09 16:39) [17]
Странно что они не позвали стюардесс и кого нибудь из пассажиров, сколько человек надо чтобы заменить лампочку? Привет дизайнеру, если кроме лампочки положение шасси можно проверить только выглянув в окошко.


 
Котик Б   (2009-04-14 16:55) [28]

*Пост в рамках не существующей конференции «Всеобщего посылания на# МЛДЁ».*

Автор попросту не понимает, зачем нужны модальные окна, в часности MessageBox
Не хочешь использовать - да наздоровье, только не нужно при этом создавать шумиху из ничего :)


 
Ega23 ©   (2009-04-14 16:57) [29]


> Зачем подтверждать то, что я уже скомандовать сделать?


drop database


 
Игорь Шевченко ©   (2009-04-14 16:58) [30]

Kolan ©   (14.04.09 16:55) [26]


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


Обычно подтверждение запрашивается для нечастых необратимых действий, а нечастые необратимые действия пользователь совершает, сам понимаешь, нечасто. Потому с раздражением ему придется смириться.


 
Kolan ©   (2009-04-14 16:58) [31]

AndreyV, система (под системой я подразумеваю программу) не должна меня спрашивать про то хочу ли я сохранить свою работу или нет.

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


 
Cobalt ©   (2009-04-14 17:01) [32]

Вот насчет окна с ОДНОЙ ЕДИНСТВЕННОЙ кнопкой - поддерживаю.
Как минимум надо писать в журнал сообщений, а по хорошему, чтобы пользователь мог бы его и прочитать потом

" - он мне выдал какое-то окошко, я и нажала кнопку.
- А что в окошке было написано?
- да откуда я знаю..."


 
Kolan ©   (2009-04-14 17:02) [33]

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


 
Игорь Шевченко ©   (2009-04-14 17:02) [34]

Kolan ©   (14.04.09 16:58) [31]


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


нужно.

Кроме того, ты сказал, что MessageBox зло, и это очевидно, начал про локусы рассказывать.

Так вот - MessageBox, это никак не зло, и как всякий овощ, приносит пользу, будучи употреблен надлежащим образом в надлежащее время.

А то начитаются Раскиных и подавай им специальную клавиатуру.


 
Cobalt ©   (2009-04-14 17:02) [35]

Пожалуй, за исключением диалога Неры с предложением "Вставьте диск, пригодный для записи или нажмите "Отмена" если не хотите записывать"


 
Kolan ©   (2009-04-14 17:03) [36]

«...
— А что в окошке было написано?
— Да откуда я знаю...»

Имхо, от количества кнопок не зависит.


 
Игорь Шевченко ©   (2009-04-14 17:03) [37]

Kolan ©   (14.04.09 17:02) [33]


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


Скажи мне, какую книгу ты прочитал и я скажу кто ты :)


 
Real ©   (2009-04-14 17:04) [38]

Хочется ответить автору цитатой из песни П.Мамонова: "Начитался книг!" :)


 
DVM ©   (2009-04-14 17:04) [39]


> Kolan ©   (14.04.09 17:02) [33]


> Игорь, важно понимать, что запрос подтверждения не избавляет
> от ошибок.

Ну да, если бы программы не запрашивали подтверждение на удаление, перезапись и т.д. лично я бы в процессе своего многолетнего общения с компьютером недостчитался бы нескольких десятков (если не сотен) нужных мен файлов. Бывает просто случайно ткнешь мышкой не туда или клавишу заденешь или мало ли еще что.


 
Городской Шаман   (2009-04-14 17:04) [40]


> DVM ©   (14.04.09 16:52) [24]
>
> Вот уже упомянутый вариант с выходом из текстового редактора
> при несохраненном тексте (да/нет/отмена) чем его еще можно
> заменить? Где сообщение выводить?


Здесь режим подтверждения и здесь модальный диалог нужен, так как программа может произвести корректное действие после выбора пользователя, а не сама по себе.

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


 
DVM ©   (2009-04-14 17:06) [41]


> Городской Шаман   (14.04.09 17:04) [40]


> Но я бы в данный диалог добавил чекбок - всегда сохранять
> при выходе.

А имя файла где брать? Все одно будет еще один диалог следом.


 
Kolan ©   (2009-04-14 17:09) [42]

DVM, это не значит, что нужны диалоги. Что бы вы сделали, если бы случайно нажали Del в Вёрде?


 
Игорь Шевченко ©   (2009-04-14 17:11) [43]

Я к чему спрашиваю про книжки, потому что толковых книжек по дизайну пользовательского интерфейса выходило ровно три с половиной :) Две с половиной из них я читал, о третьей слышал отзывы :)


 
Ega23 ©   (2009-04-14 17:11) [44]


> «...
> — А что в окошке было написано?
> — Да откуда я знаю...»


Видишь ли. Если пользователь не читает
MessageBox(Handle, PChar("Удалить базу данных?"), PChar("Внимание!"), MB_OKCANCEL or MB_ICONWARNING), то это проблемы пользователя. А если появление этого диалога ещё и в РЭ (Руководство по Эксплуатации) описано - к тебе вообще никаких претензий.
А вот если этого окошка не будет в РЭ, а ещё хуже - не будет вообще - вот тогда тебя побьют. Возможно ногами.


 
Kolan ©   (2009-04-14 17:12) [45]

Ega23, если есть описание в РЭ, то диалог тоже не нужен, претензий не будет и так и так.


 
DVM ©   (2009-04-14 17:14) [46]


> Kolan ©   (14.04.09 17:09) [42]
>
> DVM, это не значит, что нужны диалоги. Что бы вы сделали,
>  если бы случайно нажали Del в Вёрде?
>

C Del в Word все проще. А что мне делать, если я нажал Del на файле совершенно случайно и корзина отключена.
Мне просто хочется услышать ответ, какие есть альтернативы в данном случае?
Какая альтернатива есть окну ДА/НЕТ/ОТМЕНА при выходе из текстового редактора?


 
Kolan ©   (2009-04-14 17:15) [47]

Игорь, ради эксперимента. Скажем такую
Visual Explanations: Images and Quantities, Evidence and Narrative,
Эдварда Тафти


 
Игорь Шевченко ©   (2009-04-14 17:17) [48]

Kolan ©   (14.04.09 17:15) [47]

Ты ее на английском читал ? :)


 
Kolan ©   (2009-04-14 17:17) [49]

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


 
Kolan ©   (2009-04-14 17:18) [50]


> Ты ее на английском читал ? :)

Тафти запрещает переводить свои книги и издает их только в своей типографии. Отказал даже Лебедеву.


 
Kolan ©   (2009-04-14 17:19) [51]

Кстати, DVM, случалось ли вам случайно удалить файл в Виндоусе?


 
Игорь Шевченко ©   (2009-04-14 17:20) [52]

Kolan ©   (14.04.09 17:17) [49]


> То, что её нет в операционный системе (как и проверки орфографии
> абсолютно везде, к примеру) — недостаток операционной системы.
>


You say you want a revolution
Well, you know
We all want to change the world
You tell me that it"s evolution
Well, you know
We all want to change the world

But when you talk about destruction
Don"t you know that you can count me out
Don"t you know it"s gonna be all right

You say you got a real solution
Well, you know
We"d all love to see the plan
You ask me for a contribution
Well, you know
We"re doing what we can

But if you want money for people with minds that hate
All I can tell is brother you have to wait

You say you"ll change the constitution
Well, you know
We all want to change your head
You tell me it"s the institution
Well, you know
You"d better free your mind instead

But if you go carrying pictures of chairman Mao
You ain"t going to make it with anyone anyhow

(c)


 
AndreyV ©   (2009-04-14 17:23) [53]

> [42] Kolan ©   (14.04.09 17:09)
> DVM, это не значит, что нужны диалоги. Что бы вы сделали,
> если бы случайно нажали Del в Вёрде?

Я хотел было предложить глобальный, на уровне ОС, undo, но это показалось слишком фантастичным при нынешнем состоянии дел, и, естественно, это должен быть механизм самой ОС, а его нет. Всякие корзины - лишь подобие.


 
DVM ©   (2009-04-14 17:25) [54]


> Kolan ©   (14.04.09 17:19) [51]
>
> Кстати, DVM, случалось ли вам случайно удалить файл в Виндоусе?
>

Вчера удалил по ошибке не тот файл который хотел. Но к счастью была резервная копия.


 
Kolan ©   (2009-04-14 17:28) [55]

DVM, так ведь Виндоус вас спросила «Вы действительно хотите...», разве не так?


 
AndreyV ©   (2009-04-14 17:29) [56]

> [46] DVM ©   (14.04.09 17:14)
> Какая альтернатива есть окну ДА/НЕТ/ОТМЕНА при выходе из
> текстового редактора?

Да я вот тоже долго жду этого ответа, наверно, судя по молчанию автора, принят вариант из

> [15] AndreyV ©   (14.04.09 16:35)
> не даём пользователь закрыть приложение (а системе?) с несохранённым
> документом и причину не сообщаем, пусть догадается, что
> надо самому сохранить, а уж потом закрывать.


 
Игорь Шевченко ©   (2009-04-14 17:31) [57]

Kolan ©   (14.04.09 17:28) [55]

Я могу дать совет - смотри, как сделан дизайн у Apple и у Microsoft - первый признанный авторитет, а второй тратит кучу денег на исследования в этой области, и довольно удачно, раз сумел внедрить стандарт в 90% пользовательских интерфейсов.


 
test ©   (2009-04-14 17:33) [58]

AndreyV ©   (14.04.09 17:23) [53]  
Файловые системы журналируемые есть, приклады которые возвращают тоже, в чем проблема? Естейственно все это на уровне серваков. Чем корзина то не устраивает?


 
Kolan ©   (2009-04-14 17:36) [59]

>но это показалось слишком фантастичным при нынешнем состоянии дел
В Ксероксе подобное делали в семидесятых.

«Какая альтернатива есть окну ДА/НЕТ/ОТМЕНА...»
Раз диалог — это плохо, а данные пользователя испортить нельзя, то остается одно — просто сохранить их.


 
Kolan ©   (2009-04-14 17:38) [60]

«...второй тратит кучу денег на исследования в этой области, и довольно удачно, раз сумел внедрить стандарт в 90% пользовательских интерфейсов...»

Вряд ли это заслуга удобного интерфейса Виндоуса.


 
DVM ©   (2009-04-14 17:38) [61]


> Kolan ©   (14.04.09 17:28) [55]
>
> DVM, так ведь Виндоус вас спросила «Вы действительно хотите.
> ..», разве не так?

Спросила конечно, но я сам перепутал названия файлов. Если бы я случайно бы нажал DEL, то вопрос проводника бы я не оставил без внимания.


 
Kolan ©   (2009-04-14 17:39) [62]

Игорь, так какой вывод по мне (я про книги :)?


 
AndreyV ©   (2009-04-14 17:39) [63]

> [55] Kolan ©   (14.04.09 17:28)
> DVM, так ведь Виндоус вас спросила «Вы действительно хотите...»,
> разве не так?

Если б не спрашивала было б на порядки больше.
Кстати, у меня установлен на эти случаи Norton Unerase из каких-то старых Нортон утилит 2002 года что ли - поиогает иногда. Это о пользе, таки, undo.


 
test ©   (2009-04-14 17:39) [64]

Kolan ©   (14.04.09 17:36) [59]
Сохранить куда? Если старая версия нужна? Так придеться текстовый рекдактор на основе cvs делать, и после каждого события сохранять. Ну и диск под терабайт чтоб все это хранить.


 
Игорь Шевченко ©   (2009-04-14 17:44) [65]

Kolan ©   (14.04.09 17:39) [62]


> Игорь, так какой вывод по мне (я про книги :)?


неутешительный :)


 
Kolan ©   (2009-04-14 17:46) [66]

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


 
Ega23 ©   (2009-04-14 17:48) [67]


> Ega23, если есть описание в РЭ, то диалог тоже не нужен,
>  претензий не будет и так и так.


Если ты вместо того, чтобы сделть бэкап базы случайно промахнулся и клинул на удалить БД и он удалилась (да, в РЭ сие действие описано), ты будешь бит ногами.


 
test ©   (2009-04-14 17:49) [68]

Kolan ©   (14.04.09 17:46) [66]
Ситуация пользователь раз 50 вставил удалил картинку 10 метров, ваши действия что сохранять?


 
Ega23 ©   (2009-04-14 17:51) [69]


> DVM, так ведь Виндоус вас спросила «Вы действительно хотите.
> ..», разве не так?


Он его в корзину поместила, а не удалила. А чтобы без посылки в корзину - надо дополнительно Ctrl нажать.
Кстати, а у тебя при очистке корзины Windows делет это бесприкословно?


 
Kolan ©   (2009-04-14 17:52) [70]

Ega23, не думаю, что диалог — это индульгенция. С другой стороны БД удаляют системные администраторы (пользователям вообще все равно есть ли где-то БД и что эти две буквы значат), у них другие требования. Этот вопрос не такой общий. Тут бы я изучал каждый отдельный случай.


 
Kolan ©   (2009-04-14 17:58) [71]

Ситуация пользователь раз 50 вставил удалил картинку 10 метров, ваши действия что сохранять?

Во-первых, сохранять можно по разному. Изменения например. Это вопрос технический, а не интерфейсный, на него программисты ответят лучше.

Во-вторых, вы себе представляете картинку в 10 метров? Или вы про Бэ-Эм-Пе? :)

В тот же Вёрд, кстати, можно множество раз вставлять картинки и отмена будет работать и память не кончится. Как это сделано — не знаю.


 
DVM ©   (2009-04-14 18:05) [72]


> Ega23 ©   (14.04.09 17:51) [69]
>
>
> > DVM, так ведь Виндоус вас спросила «Вы действительно хотите.
>
> > ..», разве не так?
>
>
> Он его в корзину поместила, а не удалила. А чтобы без посылки
> в корзину - надо дополнительно Ctrl нажать.
> Кстати, а у тебя при очистке корзины Windows делет это бесприкословно?
>

Файл был на флешке. В корзину она его не поместила. Я тоже сначала подумал, а нет ли его в корзине. Не оказалось.


 
Ega23 ©   (2009-04-14 18:07) [73]


> С другой стороны БД удаляют системные администраторы (пользователям
> вообще все равно есть ли где-то БД и что эти две буквы значат),
>  у них другие требования.


Видишь ли. Если я в Query Analyzer набрал drop database "xxxx" и нажал F5 - это мои проблемы.
А если я в Enterprise Manager промахнулся мимо пункта в PopupMenu, которое выпало на свойства базы и вместо Backup выбрал Restore или Drop - это проблемы Enterprise Manager. И до лапмады, админ я или нет.

Диалог - не индульгенция. Но на Delete - ИМХО ствить надо. Всегда.

Другой пример.
TableA, TableB, TableC
TableA - главный справочник
TableB - следующий справочник (есть FK на TableA)
TableC - рбочая таблиц (есть FK на TableB)

Разработчик от большого ума поставил обоим вторичным ключам опцию On Delete Cascade

Есть клиент. В клиенте есть возможность редактировать спрвочник TableA.
Доустим, определены шорткаты F5 - Добвить,  F6 - Изменить,  F7 - удалить.
Я хочу изменить запись, но вместо F6 нажал F7.
В результате удалился миллион записей.

Конечно, диалог с подтверждением нафиг не нужен, он для лохов.


 
Ega23 ©   (2009-04-14 18:08) [74]


> Во-вторых, вы себе представляете картинку в 10 метров?


Легко.


 
Riply ©   (2009-04-14 18:08) [75]

> [0] Kolan ©   (14.04.09 16:15)
> То, что диалоговое окно с надписью и кнопкой ОК (в Делфи, напомню,
> для создание такого окна есть функция MessageBox) не должно
> существовать — совершенно очевидно. Однако думаю, что многие
> вообще об этом не задумывались.

Оставте мне Assert пожалуйста ! Я так к нему привыкла ! :)


 
Игорь Шевченко ©   (2009-04-14 18:28) [76]

А вот что пишут опытные люди:

"Рассматривая тему проектирования пользовательских интерфейсов, нельзя не упомянуть одн из наиболее давних и постоянных идей проектирования в Unix - правило тишины.
....
Не следует загромождать GUI-интерфейсы всплывающими окнами подтверждения, кроме случаев, когда надо обезопасить операции, в результате которых данные могут быть утеряны или повреждены.
...
Сообщения должны уведомлять пользователя только о явлениях, отклоняющихся от нормы.
Данное правило звучит еще жестче для запросов на подтверждение. Постоянные запросы на подтверждение, когда ответом почти всегда является "Да", вырабатывает у пользователя привычку нажимать на кнопку "Да", не принимая во внимание сути запроса, привычку, которая может иметь печальные последствия. Программы должны запрашивать подтверждение только в случае, если имеется веская причина подозревать, что ответом будет "Нет, нет и еще раз нет"."

(с) Эрик Реймонд, "Искусство программирования для Unix"


 
Kerk ©   (2009-04-14 18:38) [77]


> Kolan ©   (14.04.09 17:18) [50]
>
> > Ты ее на английском читал ? :)
>
> Тафти запрещает переводить свои книги и издает их только
> в своей типографии. Отказал даже Лебедеву.

Ну ты не фанатей так явно ;)


 
test ©   (2009-04-14 18:40) [78]

Kolan ©   (14.04.09 17:58) [71]

>>Во-первых, сохранять можно по разному. Изменения например. Это вопрос
>>технический,

То есть после работы над файлом что в нем будет знает только Random

>>а не интерфейсный, на него программисты ответят лучше.

Вот с этого места поподробнее.

>>Во-вторых, вы себе представляете картинку в 10 метров? Или вы про Бэ-Эм-Пе?

Не только bmp есть и другие тяжелые форматы для которых 10 метров полупустая картинка.

Riply ©   (14.04.09 18:08) [75]
Таки никто никого не удаляет, просто идет мирная беседа с участием канделябров ))


 
test ©   (2009-04-14 18:42) [79]

Kerk ©   (14.04.09 18:38) [77]
Лебедев это кто?


 
DVM ©   (2009-04-14 18:44) [80]


> есть и другие тяжелые форматы

Например видеофайл, полученный с MiniDV камеры. 20Гб в порядке вещей.
Но чаще всего программы которые работают с огромными файлами спрашивают куда сохранять файл ДО начала работы с ним. То есть сначала указываем имя, а потом уже можем заполнять.


 
DVM ©   (2009-04-14 18:45) [81]


> test ©   (14.04.09 18:42) [79]


> Лебедев это кто?

Дизайнер Всея Руси


 
test ©   (2009-04-14 18:45) [82]

DVM ©   (14.04.09 18:44) [80]
Я про картинки тяжелые, тот же космоснимок в Word например.


 
Kerk ©   (2009-04-14 18:49) [83]


> test ©   (14.04.09 18:42) [79]
> Лебедев это кто?

Он изобрел рунет и яндекс :)


 
@!!ex ©   (2009-04-14 18:56) [84]

> [79] test ©   (14.04.09 18:42)

Кулдизайнер.
Ну примерно как кулхацкер, но сумевший себя раскрутить.
Много интересных вещей говорит. Бреда тоже хватает.


 
test ©   (2009-04-14 19:01) [85]

@!!ex ©   (14.04.09 18:56) [84]
А каким боком он на программирование завязан?


 
@!!ex ©   (2009-04-14 19:02) [86]

> [85] test ©   (14.04.09 19:01)

х.з.
Делали они там какой-то мега сайтовый движок. Программировали наверно даже. :)


 
DVM ©   (2009-04-14 19:04) [87]


> test ©   (14.04.09 19:01) [85]


> А каким боком он на программирование завязан?

Как же их студия делает дизайн для ПО.
Ну и веб дизайн и веб програмирование тоже их специализация.
А движок тот Parser назывался. Шаблонизатор это. Типа PHP только еще более узкоспециализированный.


 
Ega23 ©   (2009-04-14 19:06) [88]


> А каким боком он на программирование завязан?


Программирование <> Usability


 
Городской Шаман   (2009-04-14 19:23) [89]


> test ©   (14.04.09 17:49) [68]
>
> Kolan ©   (14.04.09 17:46) [66]
> Ситуация пользователь раз 50 вставил удалил картинку 10
> метров, ваши действия что сохранять?


Сравнивать по содержимому и хранить версии. А далее уже дать возможность явно очистить версии(явно или по дате) если ему так уж нужно место. Обычно сейчас винты мене 250 Гб не покупают, так что место сейчас не проблема.

Если не хранить фильмы то такой механизм очень удобен. посмотрите в сторону Apple Time Machine.


 
test ©   (2009-04-14 19:33) [90]

Ega23 ©   (14.04.09 19:06) [88]
Программирование не только юзабилити, но проведенный анализ и ТЗ. Человек на сколько я понял(сайт) давно разрабатывает розетки чтобы туда можно было пальцы сувать, но при этом хочет переводить спец литературу. Юзабилити это не расположение кнопок, а правильно проведенный анализ.


 
Ega23 ©   (2009-04-14 19:55) [91]


> Человек на сколько я понял(сайт) давно разрабатывает розетки


Если ты за Лебедева, то его контора просто разрабатывет сайт под твои нужды. Хоть розетки, хоть навоз, хоть атомные бомбы.


 
DVM ©   (2009-04-14 19:57) [92]


> Если ты за Лебедева, то его контора просто разрабатывет
> сайт под твои нужды

Они не только сайты разрабатывают, но и промышленным дизайном занимаются и дизайном ПО


 
kZ25 ©   (2009-04-14 20:00) [93]

У меня в Висте когда делаеш безопасное извлечение флешки то выскакивает  как раз такое окошко с одной кнопкой ОК и надписью что флешку можно вынимать. Интересно нафига майкрософт такое  сделала?


 
DVM ©   (2009-04-14 20:04) [94]


> Интересно нафига майкрософт такое  сделала?

Чтоб ты знал, что ее действительно можно вынимать. Не всегда безопасное извлечение удается выполнить, например если есть открытые с флешки файлы.


 
AndreyV ©   (2009-04-14 20:05) [95]

> [92] DVM ©   (14.04.09 19:57)
> Они не только сайты разрабатывают, но и промышленным дизайном
> занимаются и дизайном ПО

Вот такое ещё изделие есть
http://www.artlebedev.ru/everything/optimus/


 
atruhin ©   (2009-04-14 20:08) [96]

> [40] Городской Шаман   (14.04.09 17:04)
> Но я бы в данный диалог добавил чекбок - всегда сохранять
> при выходе. Если он установлен (выключить можно в настройках)
> то сохранение без вопросов.

Например я часто создаю документы на основании других, т.е. открываю документ, редактирую,
выбираю сохранить как. Теперь в вашем варианте, я отредактировал документ, случайно нажал ALT-F4
или начал редактировать и срочно понадобилось уйти (сохранять 5 слов смысла нет), а редактор
мне молча перезаписал документ. Нафиг такой интерфейс.


 
kZ25 ©   (2009-04-14 20:23) [97]


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


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


 
kZ25 ©   (2009-04-14 20:24) [98]


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


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


 
Kolan ©   (2009-04-14 20:29) [99]


> В клиенте есть возможность редактировать спрвочник TableA.

Пользователям то какое дело до ваших справочников, до ваших таблиц, ключей?.. Это вас они должны волновать, а людей волнует их работа их документы. То что у вас каскадность какая-то (криво сделанная), об этом бухгалтер должен думать? Или бухгалтер пусть думает о бухгалтерии?

Kerk, в плане перевода Тафти, я думаю Лебедев бы все силы и средства затратил, слишком хороши книжки.

Игорь, «правило тишины» — отличная ёмкая формулировка, спасибо за цитату.

test, по разному &#8800; случайным образом. Я имел ввиду подобное поведение можно реализовать разными способами. Какими? — Вопрос в основную скорей. Ваша идея с cvs не плоха, наверно. Я весьма посредственный программист (если вообще программист).


 
Ega23 ©   (2009-04-14 20:33) [100]


> Пользователям то какое дело до ваших справочников, до ваших
> таблиц, ключей?.. Это вас они должны волновать, а людей
> волнует их работа их документы. То что у вас каскадность
> какая-то (криво сделанная), об этом бухгалтер должен думать?
>  Или бухгалтер пусть думает о бухгалтерии?


Понятно. Ну тут извините, я самоустраняюсь из дисскуссии.


 
Игорь Шевченко ©   (2009-04-14 20:39) [101]

Kolan ©   (14.04.09 20:29) [99]


> Игорь, «правило тишины» — отличная ёмкая формулировка, спасибо
> за цитату.


Реймонд вообще неглупые вещи пишет, безотносительно Unix.

А что касается трех с половиной книжек, могу озвучить

1. Купер: "Психбольница в руках пациентов"
2. Раскин: "Интерфейс"
3. Влад Головач: "Дизайн пользовательского интерфейса"

Ну и полкнижки - это Ларри Константин "Человеческий фактор в программировании", почему полкнижки - потому что он не только об интерфейсе пишет. Вообще Ларри мужик колоритный, рассказывает интересно, я был на его лекции, проникся, но ни одну из идей применить не получилось. Может, и к лучшему :)


 
Kerk ©   (2009-04-14 20:41) [102]


> atruhin ©   (14.04.09 20:08) [96]
> Например я часто создаю документы на основании других, т.
> е. открываю документ, редактирую,
> выбираю сохранить как. Теперь в вашем варианте, я отредактировал
> документ, случайно нажал ALT-F4
> или начал редактировать и срочно понадобилось уйти (сохранять
> 5 слов смысла нет), а редактор
> мне молча перезаписал документ. Нафиг такой интерфейс.

Если совместить с системой контроля версий, то интерфейс получится идеальным.


 
Kerk ©   (2009-04-14 20:43) [103]

Вообще, кнопка "сохранить" нужна сугубо гикам. Нормальному человеку достаточно автосохранения и бесконечного undo.


 
antonn ©   (2009-04-14 20:54) [104]

автосохранение работает по времени, "Сохранить" - когда я захочу :)


 
Kolan ©   (2009-04-14 20:54) [105]

Ega23, не надо устраняться, давай пример поконкретнее.

Игорь, первые три читал. Есть сомнения на счет Головача, особенно после недавно вышедшего Мытья слона. Я бы сказал, что Головач неплох, если правильно пользоваться знаниями из книги.

Ларри Константин — впервые слышу, благодарю за ссылку.

Подведу небольшой итог.
Хоть обсуждение еще не завершено, считаю, что если хоть один из тех кто прочел ветку в следующий раз выводя в редакторе ShowMessage и пр. задумается: «А стоит ли?», — ветка не пропала зря.


 
Kerk ©   (2009-04-14 20:55) [106]

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


 
@!!ex ©   (2009-04-14 21:29) [107]

> [106] Kerk ©   (14.04.09 20:55)
> о рил-тайм синхронизации


> отката на любой этап

тоесть посимвольно?
Один такой редактор будет убивать современный комп и винчестер. :))


 
Kerk ©   (2009-04-14 21:35) [108]

Функция undo в любом текстовом редакторе не убивает же :)


 
Kolan ©   (2009-04-14 21:36) [109]

@!!ex, Тайм машина Эппла позволяет откатывать назад весь компьютер со всеми данными, фотками, видео, картинками и т. д. (http://www.apple.com/ru/macosx/features/timemachine.html).


 
@!!ex ©   (2009-04-14 21:39) [110]

> [109] Kolan ©   (14.04.09 21:36)

Ога. Только если места на винче нету - сорри.
Это как раз не вопрос, файлы не удаляет, а новые пишет на пустое место или на место очень старых.
Неограниченный ундо файлов - это существенно проблематичнее и куда более ресурсоемко.


 
Игорь Шевченко ©   (2009-04-14 21:53) [111]

Kolan ©   (14.04.09 21:36) [109]


> Тайм машина Эппла позволяет откатывать назад весь компьютер
> со всеми данными, фотками, видео, картинками и т. д.


backup изобрели слегка до Apple Time Machine да и до Apple вообще :) Не стоит поддаваться на рекламные речи, такую софтину при большом желании можно написать средним коллективом за приемлемое время. И если MS ее не пишет, то это значит, что овчинка выделки не стоит.

А если это способ привлечь пользователей Mac-ов к резервному копированию вообще - в таком случае Apple молодцы, потому как сумели обернуть скучный процесс в красивую обертку.


 
Городской Шаман   (2009-04-14 22:38) [112]


> Игорь Шевченко ©   (14.04.09 21:53) [111]


Они писали свою WinFS только у них немного не сложилось. Не заработало оно, а у Эпла заработало.


 
Игорь Шевченко ©   (2009-04-14 23:46) [113]

Городской Шаман   (14.04.09 22:38) [112]

WinFS к этому не относится


 
Клоака   (2009-04-15 00:03) [114]

учите матчасть MessageBox(0,


 
Дмитрий Белькевич   (2009-04-15 00:32) [115]

>Во-первых, сохранять можно по разному. Изменения например

Далеко не все алгоритмы реверсивны. Я бы даже сказал - только некоторые. Поэтому приходится сохранять целиком.

>Во-вторых, вы себе представляете картинку в 10 метров? Или вы про Бэ-Эм-Пе? :)

Вы таки предлагаете в jpeg паковать? И как, на 20-й итерации что-нить, кроме артефактов останется?

>локус внимания

Поменяйте слова на: направление взгляда. Перевод (вместе с оригиналом, впрочем) - в утиль.

По теме. Тема юзабилити, конечно, сложная и не ограничивается одними только месседжбоксами.

Постоянно вижу новые интересные решения. Из последнего понравившегося - кав 2009 свои диалоги позиционирует под курсор мыши. Идея простая - минимальным передвижением мыши выбрать пункт. Что бы не таскать её через пол-монитора.

У себя чищу софт от мессейджбоксов, насколько возможно. Месседжбоксы делаю для предупреждения потенциально деструктивных действий (удаление/перезапись файла, стирание CD, например), ошибок (программерских, юзерских, системы). Некоторые ошибки, и многие сообщения делаю без мессейджей - собираю в строке состояния софта в комбобоксе.

Написал свой класс, полностью отказался от делфёвых messagebox/showmessage. Сообщение делаю развёрнутым. Вкратце описана проблема, по какой причине произошла, что сделать, что бы устранить причины.

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

Вот, например, чего юзеру показываю:


rsSrvNStarted = "Невозможно выполнить запрос изображений из удалённой базы." + StrDelim +
 "Не запущена программа Махаон DICOM сервер (makhaonserver.exe)." + StrDelim + "Решения проблемы:" + StrDelim +
 "1. Запустите программу вручную и добавьте её в "Автозагрузку" системы." + StrDelim +
 "2. Если файл makhaonserver.exe отсутствует в папке программы, либо не запускается, переустановите пакет, либо свяжитесь с сервисом поддержки ПО.";


StrDelim - 0d0a.

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

Много всяких решений вместо messagebox"ов. Тот же balloon, там где часики, частенько стали пользовать. Но, в основном, для свёрнутых программ.

Я похожий balloon кое-где в гридах использую, что бы указать где конкретно проблемы - например, неверно введенная дата/время, с позиционированием balloon"а и курсора ввода в ячейке . Как раз вместо showmessage - самое то.


 
Клоака   (2009-04-15 00:37) [116]

уууу balloon я так и не запустил, сколько кодов перепробовал - не пашут


 
Дмитрий Белькевич   (2009-04-15 01:28) [117]


> уууу balloon я так и не запустил, сколько кодов перепробовал
> - не пашут


Всё уже давно написано (с) ;)

CoolTrayIcon.ShowBalloonHint.


 
Игорь Шевченко ©   (2009-04-15 01:35) [118]


>  "1. Запустите программу вручную и добавьте её в "Автозагрузку"
> системы." + StrDelim +


А эта...в своей программе вставить возможность запуска ? Раз уж оно через автозагрузку может быть запущено.


 
antonn ©   (2009-04-15 01:46) [119]

кстати по юзабельности, оторвал бы руки тому, кто придумал в WMKeeper при каждом диалоге переность курсор к кнопкам диалога. Пипец просто, как будто я инвалид и мне трудно самому переместить курсор, дизориентирует сильно. Для людей с ограничениями такая опция присутствует в ОС, зачем было городить это - не понятно.


 
Дмитрий Белькевич   (2009-04-15 01:51) [120]

>А эта...в своей программе вставить возможность запуска ? Раз уж оно через автозагрузку может быть запущено.

Особенно одарённые личности его уже загруженным из трея выгружают ;)

Да и при логине его лучше грузить - некоторые ресурсы (сетевые хардлоки, например), равномернее используются.


 
Дмитрий Белькевич   (2009-04-15 01:52) [121]


> кстати по юзабельности, оторвал бы руки тому, кто придумал
> в WMKeeper при каждом диалоге переность курсор к кнопкам
> диалога. Пипец просто, как будто я инвалид и мне трудно
> самому переместить курсор, дизориентирует сильно. Для людей
> с ограничениями такая опция присутствует в ОС, зачем было
> городить это - не понятно.


Согласен. Кав додумался сделать наоборот - переносить менюху под курсор.


 
Marser ©   (2009-04-15 02:03) [122]

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

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


 
Игорь Шевченко ©   (2009-04-15 02:08) [123]

Дмитрий Белькевич   (15.04.09 01:51) [120]


> Особенно одарённые личности его уже загруженным из трея
> выгружают ;)
>
> Да и при логине его лучше грузить - некоторые ресурсы (сетевые
> хардлоки, например), равномернее используются.


Я к другому - вместо того, чтобы выдавать длинное и подробное сообщение (или вместе с ним), может, попытаться запустить, а сообщение пустить информацией, мол так и так, был у вас анус вульгарис, но теперь все стало кульно и рульно, а если хотите, чтобы и дальше анус не стрясался, то вставьте в автозагрузку и будет вам рулез вечный и немеряный.

Это я конечно, может, и чушь порю несусветную, не зная задачи, но потребность высказаться ощущаю :)


 
Дмитрий Белькевич   (2009-04-15 02:13) [124]


> Всякому инструменту и приёму есть своё применение, просто
> его нужно знать и отдавать себе отчёт.


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


 
Германн ©   (2009-04-15 02:19) [125]


> «Интерфейс пользователя» &#8594; Хорошая замена MessageBox"а
>
> Kolan ©   (14.04.09 16:15)
>
> *Пост в рамках не существующей конференции «Интерфейс пользователя».
> *

Пока что я не нашёл ни одного свидетельства необходимости введения новой конференции.


 
Дмитрий Белькевич   (2009-04-15 02:48) [126]


>  может, попытаться запустить


Такая мессага появляется, когда юзер жмёт на соотвествующую кнопку. Синхронизировать придётся продолжение кода с запуском сервера (замораживая работу станции, чего стараюсь избегать) - иначе ответ от удалённой станции может прийти раньше (и почти всегда так и происходит) чем сервер заработает.


 
test ©   (2009-04-15 05:45) [127]

Дмитрий Белькевич   (15.04.09 01:51) [120]
Если программулина так нужна что бы ее сервисом(службой) не сделать? Поставить сервис на "автозапуск", кулхацкеры обычно туда не лазят в поясняловку вписать "не трогать очень важно, оторву руку", ну или еще как нибудь напугать ))


 
tButton ©   (2009-04-15 07:25) [128]

re [118]

> "Невозможно выполнить запрос изображений из удалённой базы.
> " + StrDelim +
>  "Не запущена программа Махаон DICOM сервер (makhaonserver.
> exe)." + StrDelim + "Решения проблемы:" + StrDelim +


 
test ©   (2009-04-15 07:56) [129]

tButton ©   (15.04.09 07:25) [128]
В принципе это значит что база далеко, не на локальной машине))


 
Kolan ©   (2009-04-15 08:23) [130]


> >локус внимания
>
> Поменяйте слова на: направление взгляда.

Такая замена неверна.

Я могу смотреть на монитор, как сейчас, а думать о машине, которая на стоянке. Локусом при этом будет машина, а направление взгляда будет на монитор.


 
test ©   (2009-04-15 08:25) [131]

Kolan ©   (15.04.09 08:23) [130]
Прочитай псих больницу, просто, качественно, без умных слов. Автор занимался проектированием интерфейсов в МелкомСофте.


 
tButton ©   (2009-04-15 08:48) [132]

re [129]
ну я к этому собственно и клоню...


 
Игорь Шевченко ©   (2009-04-15 11:17) [133]


> Я могу смотреть на монитор, как сейчас, а думать о машине,
>  которая на стоянке


да-да. Можно смотреть в книгу, а видеть фигу. Опять же локус


 
Kolan ©   (2009-04-15 11:18) [134]

test, я читал :)


 
test ©   (2009-04-15 11:29) [135]

Kolan ©   (15.04.09 08:23) [130]
bash про локус

xxx: Нужна программа учета рабочего времени сотрудников. Т.е. включил комп, часики затикали, отошёл на 10 мин, таймер встал. У каждого пользователя свой пароль. В конце месяца прога формирует отчет. Есть подобный продукт и если есть, где взять-купить?
yyy: Рабов к галере надо приковывать цепью.


 
Kolan ©   (2009-04-15 11:39) [136]

test, вы так и не поняли значение этого термина :(


 
test ©   (2009-04-15 11:42) [137]

Kolan ©   (15.04.09 11:39) [136]
Каким боком инструмент должен управлять человеком?


 
Дмитрий Белькевич   (2009-04-15 11:53) [138]


> Если программулина так нужна что бы ее сервисом(службой)
> не сделать? Поставить сервис на "автозапуск", кулхацкеры
> обычно туда не лазят в поясняловку вписать "не трогать очень
> важно, оторву руку", ну или еще как нибудь напугать ))


Вы недооцениваете изобретательность дураков ;) Особенно упорные и сервис остановят, или "Авто" выключат - повидал я уж параноиков.

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

Проще всего делать - как делаю. Выгрузят/отключат - некоторая (довольно часто нужная) функциональность не будет работать. Человек конкретно видит, к чему привело отключение. Если сам не поймёт каких-то терминов - то админу покажет - тот разберется и покажет, куда не лезть.


> Я могу смотреть на монитор, как сейчас, а думать о машине,
>  которая на стоянке. Локусом при этом будет машина, а направление
> взгляда будет на монитор.


Тогда предлагаю на мониторе периодически показывать порево. Не особенный секрет, что люди о этом часто думают.

Какая нам половая разница, о чём думает юзер, глядя на монитор? Нам нужно решать конкретную задачу, а не ловить мысли "летающего в облаках" юзера. А то, что показывать сообщения (которые юзеру желательно видеть) лучше именно в ту область монитора, куда он смотрит - уже давно поняли. По возможности - немодальные.

Смотрите ворд. Автозамена произошла - сразу рядом с текстом вылезла фиговина (уж простите за терминологию ;)) в которой можно изменения откатить. Очень хорошо сделано по-моему.

А сообщения, не имеющие к текущему процессу работы отношения показывать туда, куда не смотрит, что бы не отвлекать. У меня, например, комбобокс специально вынесен в правый нижний угол софта, куда юзер обычно меньше всего смотрит. Я просто софт разрабатываю в одном кабинете с юзерами - милое дело смотреть, куда смотрят, что где ищут (обратная связь - великая штука).


 
Дмитрий Белькевич   (2009-04-15 11:57) [139]


> В принципе это значит что база далеко, не на локальной машине))


Что делать, что в русском языке слова remoute и deleted - омонимы ;)


 
test ©   (2009-04-15 12:00) [140]

Дмитрий Белькевич   (15.04.09 11:53) [138]
Ну сплеш скрин сделать, который какой нибудь бред пишет в строку состояния своего окна: "Запускается четвертый двигатель орбитальной станции 10% ", "Докачиваю супер обновление 15%", "Построение улитки Паскаля 34%". Проверено если прога трепыхается показывая какую нибудь информацию, пользователь ждет и даже болеет за прогу))


 
Дмитрий Белькевич   (2009-04-15 12:04) [141]


> Проверено если прога трепыхается показывая какую нибудь
> информацию, пользователь ждет и даже болеет за прогу))


:)

Ну, может быть... Может быть...


 
Дмитрий Белькевич   (2009-04-15 12:07) [142]

Сплеши, вообще есть, да.


 
test ©   (2009-04-15 12:28) [143]

Дмитрий Белькевич   (15.04.09 12:04) [141]
Тот же 3D Max запускается долго но в окне заставки пишет про какие то действия и когда он его закончит.


 
clickmaker ©   (2009-04-15 12:43) [144]

MessageBox может быть злом, когда ошибка вылезает в цикле... из 10000 итераций, к примеру -)


 
Kolan ©   (2009-04-15 12:45) [145]

clickmaker, это уже не зло, за такое бьют бревном по рукам. А я бы выгнал вообще.


 
clickmaker ©   (2009-04-15 12:47) [146]

> А я бы выгнал вообще

скажи это разработчикам Enterprise Manager MS SQL 2008 -)


 
Дмитрий Белькевич   (2009-04-15 13:08) [147]


> MessageBox может быть злом, когда ошибка вылезает в цикле.
> .. из 10000 итераций, к примеру -)


Жуть какая :)

Я тут еще одну идею интересную придумал... Пока руки у себя никак не доходят сделать.

Делать все опции в виде гипертекста.

Постоянно ловлю себя на мысли, почему бы в опциях не сделать поиск по их названиям? Открываем, например, настройки qip"а.

Что видим. Слева - выбор категорий. Сверху - дублированный выбор страниц-категорий.

Найти какую-то одну опцию среди этой сотни - ну очень долго, если не работаешь постоянно с опциями (в опции, согласитесь, редко лазят).

Опции, в своём большинстве, довольно хорошо "ложатся" на гипертекствое отображение. Смотрите хотя бы квип, винапм, да хотя бы ту же Делфи.

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

Вопрос реализации пока не трогаем. Я буду пробовать свои на pbear"е сделать.


 
Kolan ©   (2009-04-15 13:12) [148]

Дмитрий, поиск по опциям реализован, например, у Ильи Бирмана в его движке для блогов (http://ilyabirman.ru/e2/).


 
Дмитрий Белькевич   (2009-04-15 13:14) [149]

Блоги уже стали standalone софтом?  ;) Ясно, что в вебе поиск по опциям работает везде, где они есть - хотя бы в тех же поисковиках. Но вот в обычных приложениях пока не видел.


 
Дмитрий Белькевич   (2009-04-15 13:18) [150]

http://www.google.com.by/preferences?hl=ru


 
Игорь Шевченко ©   (2009-04-15 13:19) [151]

Дмитрий Белькевич   (15.04.09 13:08) [147]


> Постоянно ловлю себя на мысли, почему бы в опциях не сделать
> поиск по их названиям?


открывай файл настроек программы редактором, там поиск уже есть.


 
Дмитрий Белькевич   (2009-04-15 13:28) [152]


> открывай файл настроек программы редактором, там поиск уже
> есть.


Некошерно. Неясно, что искать, как менять. Ограничения, возможности неясны. Языковая локализация конфигов? ;) Нужно читать документацию (если она вообще есть). Некоторых опций может просто не быть. Реестр - опять же. Бинарные конфиги и прочие прелести.

В предлагаемой реализации этих минусов нет.


 
Дмитрий Белькевич   (2009-04-15 13:37) [153]

Опять же... Часть опций может быть в базе данных (как у меня, например)... Со всеми вытекающими.

А можно еще и Active Directory вспомнить ;)

В предлагаемой реализации мы вообще никак не зависим от места и способа храния.


 
Игорь Шевченко ©   (2009-04-15 13:39) [154]

Дмитрий Белькевич   (15.04.09 13:28) [152]


> Некошерно.


еще как кошерно


> Нужно читать документацию


Ее нужно читать


> (если она вообще есть)


Ее нужно писать


>  Некоторых опций может просто не быть.


Тогда их не надо искать и изменять


>  Реестр - опять же. Бинарные конфиги и прочие прелести


От реестра и бинарных конфигов я бы отказался по одной причине - замучаешься редактировать


 
Игорь Шевченко ©   (2009-04-15 13:41) [155]

Дмитрий Белькевич   (15.04.09 13:37) [153]


> В предлагаемой реализации мы вообще никак не зависим от
> места и способа храния.


а какая реализация - ты по сути делаешь файл, в котором ищещь и редактируешь. Чем это отличается от простого файла - я не понимаю :)


 
Дмитрий Белькевич   (2009-04-15 13:47) [156]


> От реестра и бинарных конфигов я бы отказался по одной причине
> - замучаешься редактировать


Угу. И от бд / AD заодно.

У меня опции, вообще, в обычных инишках (некоторые - в базе) лежат.

Немного по другой причине, правда. Что бы не перенастраивать софт после сноса системы.

Игорь, давайте будем реалистами. Документацию по инишкам пишут еденицы. А читают и того меньше. Однако, софт как-то худо-бедно настраивается.


 
Дмитрий Белькевич   (2009-04-15 13:50) [157]


> а какая реализация - ты по сути делаешь файл, в котором
> ищещь и редактируешь. Чем это отличается от простого файла
> - я не понимаю :)


В наглядности процесса.

Мы заходим, например, на такую страницу:

http://www.google.com.by/preferences?hl=ru

Сразу видны все возможности и ограничения. И документации-то, в общем, ни читать, ни писать не нужно.


 
test ©   (2009-04-15 14:11) [158]

Дмитрий Белькевич   (15.04.09 13:47) [156]
Ты про всех не говори, в Винде действительно мало кто пишет, в *nix сплошь и рядом.


 
Игорь Шевченко ©   (2009-04-15 14:21) [159]

Дмитрий Белькевич   (15.04.09 13:47) [156]

Давай будем реалистами. Только сначала определим, в чем вопрос, в том, чтобы обернуть в красивый фантик имеющийся бардак или в том, чтобы убрать бардак ? :)

Если вопрос в первом, то можно оборачивать в любые фантики, бардак останется бардаком и легче от этого не станет никому, а главное, я не вижу смысла участвовать в этом процессе и его обсуждении.

А если вопрос во втором, то надо писать документацию и ее читать, но это работа не программиста в любом случае, так как крайне редко встречается ситуация, когда программист пишет понятную пользователю документацию :)


 
Дмитрий Белькевич   (2009-04-15 20:09) [160]


> Ты про всех не говори, в Винде действительно мало кто пишет,
>  в *nix сплошь и рядом.


Именно в standalone? Или в веб-интерфейсах? Ну я как бы на абсолютную новизну не претендую. В конце концов - такое много где есть в веб интерфейсах. Но вот в обычных приложениях под вин почему-то не практикуют. И зря.

На солярке видел пару приложений - там такие же окна опций, как в винде.

Если есть шоты - было бы инетересно глянуть.


> Только сначала определим, в чем вопрос


Вопрос в том, как юзеру сделать максимально удобный софт. Как оно уже реализовано - это его не должно беспокоить. Ну а то, что программеры бордак разводят - то плохо, конечно.


> я не вижу смысла участвовать в этом процессе и его обсуждении.


Ну я цепями к клавиатуре никого не призываю приковывать ;) Нет так нет.


> А если вопрос во втором, то надо писать документацию и ее
> читать


Моё скромное мнение, что лучший сотф - тот, по которому не нужно читать документацию вообще.


> но это работа не программиста в любом случае


Вообще - случаи всякие бывают, конечно.


> так как крайне редко встречается ситуация, когда программист
> пишет понятную пользователю документацию :)


Программисты разные бывают. Как и юзеры. И программисты юзерами бывают. Сможет ли не программист хорошо документитваровать api?


 
test ©   (2009-04-15 20:24) [161]

Дмитрий Белькевич   (15.04.09 20:09) [160]
В теле самого файла настроек, идет короткое пояснение про каждый элемент.


 
Дмитрий Белькевич   (2009-04-15 20:38) [162]


> В теле самого файла настроек, идет короткое пояснение про
> каждый элемент.


Такое видел, конечно. И сами пользуем иногда.

Ну то что - можно столбить приоритет идеи? ;)

Или, как обычно - в нашем мире тяжело быть оригинальным?


 
Игорь Шевченко ©   (2009-04-15 20:39) [163]

Дмитрий Белькевич   (15.04.09 20:09) [160]


>
> Моё скромное мнение, что лучший сотф - тот, по которому
> не нужно читать документацию вообще.


Вот скажем, по блокноту не нужно читать документацию. Но блокнот уже написан :)

Кстати, по Microsoft Money не нужно читать документаци, чтобы с ней более или менее работать. Но такого плана программу средний программист писать замучается, я имею в виду с таким же удобным интерфейсом, потому как в MSDN большая статья написана, о том как этот интерфейс проектировался.

Кстати, один из, по моему мнению, изящных и удобных интерфейсов - в MsMoney (триал можно с сайта microsoft.com скачать)


> Программисты разные бывают. Как и юзеры. И программисты
> юзерами бывают. Сможет ли не программист хорошо документитваровать
> api?


Так для программста в большинстве случаев дока по настройкам тоже ни к чему :)


 
atruhin ©   (2009-04-16 03:36) [164]

> [162] Дмитрий Белькевич   (15.04.09 20:38)
> Ну то что - можно столбить приоритет идеи? ;)

Opera и Firefox давно используют данный метод. :))
Так что столбить нечего.


 
Дмитрий Белькевич   (2009-04-16 12:35) [165]

Странно, у меня в Опере 9.62 обычная менюха с 5-ю закладками.


 
Дмитрий Белькевич   (2009-04-16 12:36) [166]

В Файрфоксе, правда не видел настроек.


 
Kolan ©   (2009-04-16 12:41) [167]

Дмитрий, может вам вынести свои мысли в отдельную ветку. Просто найти их в ветке «„Интерфейс пользователя“ &#8594; Хорошая замена MessageBox"а» можно только случайно.


 
Andy BitOff ©   (2009-04-16 12:55) [168]


> Дмитрий Белькевич   (16.04.09 12:35) [165]

В адресной строке opera:config


 
Дмитрий Белькевич   (2009-04-16 13:02) [169]


> В адресной строке opera:config

Ну значит так второе:


> Или, как обычно - в нашем мире тяжело быть оригинальным?


:) Хорошая таки идея.


> Дмитрий, может вам вынести свои мысли в отдельную ветку.
>  Просто найти их в ветке «„Интерфейс пользователя“ &#8594; Хорошая
> замена MessageBox"а» можно только случайно.


Да я уже закончил. Большей частью.



Страницы: 1 2 3 4 5 вся ветка

Форум: "Прочее";
Текущий архив: 2009.06.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.98 MB
Время: 0.013 c
9-1179168683
Pa5ha
2007-05-14 22:51
2009.06.21
Джойстик


15-1239378087
Rouse_
2009-04-10 19:41
2009.06.21
И мне чтоль какую нибудь голосовалку сделать? :)


15-1240173002
Юрий
2009-04-20 00:30
2009.06.21
С днем рождения ! 20 апреля 2009 понедельник


2-1240982320
Iriss
2009-04-29 09:18
2009.06.21
TSaveDialog


15-1239559328
AlexDan
2009-04-12 22:02
2009.06.21
Массовая рассылка.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский