Каким должно быть поведение в связи с этим решением пользователя?

У меня есть это приложение, в котором пользователи могут изменять текстовые файлы, и когда они забывают их сохранить, появляется небольшое сообщение, напоминающее им, что изменения не сохранены, и спрашивает их, хотят ли они сохранить изменения или нет, с помощью двух кнопок «Да» и нет". Там также есть небольшой флажок с надписью «Отключить это предупреждение». И, как сказано в нем, если пользователь проверит его, сообщение никогда не появится снова, если в текстовых файлах есть несохраненные изменения.

Пара вопросов:

1) Следует ли запоминать значение флажка (если они отметили его), если пользователь выбирает только «Да», только «Нет» или любой из них?

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

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

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


person rfgamaral    schedule 15.08.2009    source источник
comment
В качестве побочного примечания вам следует избегать Да / Нет / Отмена, когда вы можете предоставить более явные кнопки. В этом случае вы можете использовать окно с сообщением, в котором говорится, что вы не сохранили свои изменения (...): Сохранить сейчас / Не сохранять.   -  person christopheml    schedule 17.08.2009


Ответы (7)


Поскольку флажок говорит «Отключить это предупреждение», это именно то, что нужно делать. Не расстраивайтесь с тем, что вы представляете пользователям, просто делайте то, что вы говорите, что собираетесь делать!

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

person Mark Rushakoff    schedule 15.08.2009
comment
Однако действительно дружественный интерфейс все равно сохранит изменения, возможно, во временный файл. Затем может быть команда восстановления последних изменений, которая загрузит эти автоматически сохраненные изменения. - person Bryan Oakley; 15.08.2009
comment
Согласен, так будет дружелюбнее. Однако пользователь не должен рассчитывать на такое поведение, ИМО. - person Mark Rushakoff; 15.08.2009
comment
Это следует за идеей не удивлять пользователя, но наказывать пользователя за их ошибки. Даже сохранение во временный файл - это лишь наполовину непродуманное решение, если только вы не упростите возврат к этому временному файлу. - person Imagist; 15.08.2009
comment
Автоматическое сохранение файла не является вариантом на данный момент, это может быть в будущем, но на данный момент это функция, о которой я не хочу беспокоиться. Кроме того, это необычное приложение с меню вверху, в котором вы можете открывать, создавать, сохранять, сохранять как, печатать и т. Д. - person rfgamaral; 15.08.2009
comment
Согласитесь с утверждением, что автосохранение - это решение только наполовину, если вы не упростите его восстановление. Возврат - это единственная причина, по которой автоматическое сохранение может быть эффективным решением. Я не предлагаю просто автосохранение, вам нужно, чтобы вся экосистема работала - автосохранение и легкое изменение эффектов автосохранения. Нет простого решения для действительно простого в использовании интерфейса, это требует работы. Однако отказ от диалога и демонстрация диалога - это тоже, возможно, наполовину непродуманное решение (такое, которое делают многие, многие приложения, но все равно наполовину недооцененное). - person Bryan Oakley; 16.08.2009

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

  • Новые файлы автоматически сохраняются каждую минуту или около того (варьируйте это время, необходимое для сохранения);
  • Сохраняется во временный файл;
  • Если пользователь сохраняет файл, дайте ему имя и сохраните его в этом месте;
  • Если программа вылетает, временный файл все еще существует. Программа должна спросить, что вы хотите с ней делать при запуске;
  • При закрытии программы должна стоять простая галочка «Сохранить сейчас?» (Да нет). Никакая ерунда из этой «Ты уверен, что хочешь ...». Если не сохранять, файл должен оставаться временным;
  • Чтобы избавиться от временного файла, необходимо выбрать действие «Отменить» (с подтверждением «Отменить сейчас?»);
  • Открытие существующего файла имеет ту же функцию сохранения каждую минуту, за исключением того, что сохранение выполняется во временный файл. Никогда не изменяйте оригинал, если пользователь явно не сохраняет файл, после чего скопируйте временный файл поверх оригинала.
  • Временные файлы должны быть видны на сворачиваемой панели (или эквиваленте), включая дату последнего редактирования и, желательно, предварительный просмотр, чтобы напомнить пользователю, что это такое;
  • Не должно быть возможности отключить это поведение. Это не навязчиво или навязчиво. Как говорит Джоэл, каждый раз, когда вы даете пользователю возможность, вы заставляете его принять решение. Параметры используются слишком часто.

Чтобы конкретно ответить на ваш вопрос: вы никогда не должны отказываться от чего-либо, если пользователь не попросит вас об этом.

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

person cletus    schedule 15.08.2009
comment
+1 за последний бит: никогда ничего не сбрасывайте, если пользователь не попросит вас об этом. Отличный совет. - person Bryan Oakley; 15.08.2009
comment
Это может быть лучшим решением для некоторых приложений, но не для меня. Как я уже сказал в комментарии выше, это не ваше типичное приложение с меню, в котором вы можете создавать новые файлы, открывать файлы, сохранять их или сохранять как, печатать и т. Д. около. - person rfgamaral; 15.08.2009

Установите флажок «[] И всегда делать это».

Тогда ясно, что если они выберут «Нет» и отметят его, он всегда будет выбирать «Нет», и наоборот.

person Noon Silk    schedule 15.08.2009
comment
Понятно, но только через несколько секунд. Я думаю, что пользователь, как правило, щелкает мышью по полю, не думая о последствиях, просто чтобы его убрать. И как вы позволяете пользователю исправить это, если он передумает? - person Imagist; 15.08.2009
comment
Его следует изменить в области предпочтений. И им не нужно устанавливать флажок, чтобы диалоговое окно закрылось; это необязательный компонент, не так ли? - person Noon Silk; 15.08.2009
comment
Это то, что я мог бы рассмотреть, и, конечно же, будет диалоговое окно настроек, в котором пользователь может все изменить. И если пользователь, как правило, щелкает поле, не думая о последствиях, просто для того, чтобы окно исчезло, это его вина, он должен был прочитать предупреждения, они есть по какой-то причине. - person rfgamaral; 15.08.2009
comment
Если они его не читают, им не следует проверять предупреждение. Если они его проверяют, то это их вина, если они не читают, для чего нужен чек. - person rfgamaral; 15.08.2009
comment
Nazgulled, несмотря на ваше отношение, это общепризнанный факт, что пользователи не читают диалоги. Вы можете обвинять пользователей, если хотите, но самодовольное отношение не упрощает использование вашего программного обеспечения. Помните, что причина, по которой мы пишем программное обеспечение, в первую очередь, состоит в том, чтобы облегчить пользователю достижение цели. Диалоги, по большому счету, - это препятствия, которые пользователь должен преодолеть. Меньше препятствий == более счастливые пользователи. Но, пожалуйста, отнеситесь ко всем предложениям в этом вопросе с недоверием - никто из нас не знает ваших реальных клиентов. - person Bryan Oakley; 16.08.2009
comment
Я больше не говорю о своих пользователях, клиентах или даже о моем приложении. Меня также не волнует тот факт, что пользователи не читают диалоги. Просто потому, что это факт, просто потому, что так много лет, не значит, что это правильно. Это все равно, что сказать, что IE6 уже много лет является лидером рынка, и что нам никогда не следует беспокоиться о стандартах, которые IE6 не понимает. Веб-разработчики отказываются делать это, и я не хочу заботиться о том, будут ли они слишком ленивы, чтобы прочитать несколько слов в диалоге. - person rfgamaral; 18.08.2009
comment
Я понимаю, что некоторые из вас не могут так думать или проиграют многим клиентам, но для меня это не проблема. Я разработчик бесплатного программного обеспечения, который изначально разрабатывается для меня, и если это помогает некоторым людям, хорошо (поэтому я также публикую программное обеспечение), но они не являются моей целевой аудиторией, я. Вы, ребята, слишком много вникаете в мои программные проблемы :) - person rfgamaral; 18.08.2009

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

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

Я рекомендую книгу О Face 3: The Essentials of Interaction Design для некоторых действительно хороших идей по созданию графического интерфейса.

person Nick Dandoulakis    schedule 15.08.2009
comment
+1 за рекомендацию About Face. Это обязательное чтение для всех, кто разрабатывает пользовательский интерфейс любого типа. - person Bryan Oakley; 16.08.2009

1) У вас также должна быть кнопка «Отмена», которая прерывает выход, позволяя пользователю вернуться к документу, чтобы увидеть, хочет он / она сохранить его или нет.

2) «Отключить это предупреждение» - это слишком странно. Попробуйте "Больше не показывать это предупреждение". Это сообщает пользователю, что предупреждение не будет отображаться, и подразумевает, что в будущих случаях сохранение не произойдет. Вероятно, это не очень хорошая идея, и вам стоит вообще пересмотреть возможность предоставления такой функции подавления предупреждений.

3) Гораздо чаще в этой ситуации пользователь захочет сохранить что-то, чем нет, поэтому ваше приложение действительно должно делать это, если нет предупреждения. В этом случае флажок должен быть «Всегда автоматически сохранять изменения при выходе». Это означает, что в будущих случаях предупреждения отображаться не будут.

4) Если вы сделаете 3, вам также понадобится альтернативный способ для пользователя восстановить после того, как файл полностью испорчен и не хочет сохранять. Это может быть диалоговое окно «Отменить», которое позволяет пользователю делать большие прыжки назад, или пункт меню, например «Вернуться к предыдущей сохраненной версии». В идеале эта функция должна быть доступна даже после выхода пользователя и повторного открытия файла.

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

Все это предполагает, что периодическое неявное сохранение не вариант.

person Michael Zuschlag    schedule 17.08.2009

Лучший вариант - Автоматическое сохранение документа в черновиках. Это можно сделать асинхронно.

person Community    schedule 15.08.2009

Я говорю, всегда автоматически сохраняйте. Забудьте о диалоге. Если они хотят выйти без сохранения, сделайте это явным действием в меню файла.

Подумайте, как часто вы хотите экономить по сравнению с тем, когда вы этого не делаете. Соотношение, вероятно, составляет 100 к 1 или даже 1000 к одному. Вы хотите 999 раз причинить неудобства пользователю, чтобы один раз защитить его?

person Bryan Oakley    schedule 15.08.2009
comment
Это было бы разумно, если бы это вообще соответствовало ожиданиям пользователей. Доставлять неудобства пользователю - это плохо, но хуже - удивить его. - person Imagist; 15.08.2009
comment
Опять же, это не типичное приложение с меню, в моем приложении нет главного меню. Это работает иначе. - person rfgamaral; 15.08.2009
comment
Невозможно сказать, соответствует ли это ожиданиям пользователей, не зная, кто настоящие пользователи. Я согласен с этим комментарием до определенного момента, но есть примеры, которые иногда доказывают, что такая схема работает (например, gmail и google docs) - person Bryan Oakley; 16.08.2009
comment
Если меню нет, я думаю, что это еще одна причина для автоматического сохранения, поскольку это то, что пользователь, вероятно, захочет в 90% случаев. Зачем доставлять им неудобства диалоговое окно, если они, скорее всего, нажмут "да", пожалуйста, экономьте большую часть времени? - person Bryan Oakley; 16.08.2009