UX Design Вопрос: должен ли многошаговый мастер сохранять содержимое формы, когда пользователь нажимает «вернуться» / предыдущий? - PullRequest
3 голосов
/ 02 июня 2010

Я занимаюсь разработкой веб-приложения, которое собирает данные в несколько этапов с помощью мастера. Шаги, как правило, не являются взаимозависимыми, поскольку ввод данных на каждом шаге практически не влияет на последующие шаги. Однако каждый шаг может иметь набор проверок, которые определяют, может ли пользователь перейти к следующему шагу, нажав «продолжить»

Каким должно быть поведение, когда пользователь нажимает предыдущий?

a> Быстро переходите на предыдущую страницу, теряя все несохраненные данные в форме. Оповещение пользователя с предупреждением - вариант, но он может стать раздражающим довольно скоро.

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

c> любое другое поведение

Все мнения приветствуются:)

Ответы [ 3 ]

5 голосов
/ 02 июня 2010

Вы должны сохранить введенные данные , но вы можете уйти, сохранив их энергозависимо (на стороне клиента или в памяти - куки или SESSION). Нет необходимости делать его постоянным в вашей БД или в чем-либо другом - если пользователь не завершает мастер до конца, не должно быть и следа (хотя было бы неплохо, если вы можете позволить себе ресурсы. Хотя куки должно хватить).

Это отражает Умственную модель пользователя : большинство популярных инсталляторов Windows работают так. Это соответствует DRY - Не повторяйте себя. Если пользователь уже ответил на вопрос, не заставляйте его повторять.

3 голосов
/ 02 июня 2010

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

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

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

Помните: программное обеспечение предназначено для обслуживания пользователя, поэтому при ответе на вопрос "должен ли я ...?" всегда спрашивайте "как мое решение повлияет на пользователя".

0 голосов
/ 20 июня 2010

Согласитесь с тем, что сказал Брайан.

Кстати, не могли бы вы объяснить все (зачем вам это значение, что происходит, если пользователь вводит это значение / выбирает эту опцию) в форме, чтобы пользователю не приходилось возвращаться для редактирования?

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

...