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

Вниз

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

 
Городской Шаман   (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Гб в порядке вещей.
Но чаще всего программы которые работают с огромными файлами спрашивают куда сохранять файл ДО начала работы с ним. То есть сначала указываем имя, а потом уже можем заполнять.



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

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

Наверх





Память: 0.63 MB
Время: 0.013 c
4-1191555720
ter
2007-10-05 07:42
2009.06.21
WM_DEVICECHANGE или как определить безопасное извлечение флэшки


2-1241465604
ford
2009-05-04 23:33
2009.06.21
Ошибка при освобождении памяти выделенной переменной Pointer


4-1211311234
DillerXX
2008-05-20 23:20
2009.06.21
Иконка по Alt + Tab


2-1240813603
Mishenka
2009-04-27 10:26
2009.06.21
Как в ListView отловить событие начала скроллинга?


15-1239225085
Stan
2009-04-09 01:11
2009.06.21
вопрос по CloseQuery





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский