User interface 用户体验设计问题:当用户单击';返回&x27/以前的

User interface 用户体验设计问题:当用户单击';返回&x27/以前的,user-interface,user-experience,User Interface,User Experience,我正在开发一个web应用程序,它通过向导通过多个步骤收集数据。步骤通常不是相互依赖的,因为每个步骤的数据输入对后续步骤几乎没有影响。但是,每个步骤可能都有一组验证,这些验证确定用户是否可以通过单击“继续”进入下一步 当用户单击“上一步”时,应该是什么行为 a> 快速移动到上一页,从而丢失表单中所有未保存的数据。提示用户警告是一种选择,但很快就会变得恼人 b> 移动到上一页保存当前步骤中的所有数据,而不触发验证,这样当用户返回时,她会看到表单处于与保留表单相同的状态 c> 任何其他行为 欢迎发表所

我正在开发一个web应用程序,它通过向导通过多个步骤收集数据。步骤通常不是相互依赖的,因为每个步骤的数据输入对后续步骤几乎没有影响。但是,每个步骤可能都有一组验证,这些验证确定用户是否可以通过单击“继续”进入下一步

当用户单击“上一步”时,应该是什么行为

a> 快速移动到上一页,从而丢失表单中所有未保存的数据。提示用户警告是一种选择,但很快就会变得恼人

b> 移动到上一页保存当前步骤中的所有数据,而不触发验证,这样当用户返回时,她会看到表单处于与保留表单相同的状态

c> 任何其他行为


欢迎发表所有意见:)

您应该保存输入的数据,但您可以将其以波动方式保存(客户端或内存中-cookie或会话)。无需将其持久化到您的数据库或其他任何地方-如果用户没有完整地完成向导,则不需要跟踪(如果您能负担得起资源,这会很好。不过Cookies应该足够了)

这反映了用户的心智模式:大多数流行的Windows安装程序都是这样工作的。
这符合干燥的要求-不要重复。如果用户已经回答了问题,不要让他重新回答。

回答这个问题的简单方法是提醒自己软件的存在是为了服务用户,而不是反过来。用户的工作不是填写表单本身。那只是达到另一个目的的手段

尽可能地进行自动保存,尽可能多地记住,不要让用户做任何超出严格必要的数据输入

确保你只验证真正重要的东西。不要抱怨“电话号码里不能有”之类的东西。如果您不接受破折号,只需删除它们并继续,不要强迫用户这样做


记住:软件是为用户服务的,所以在回答“我应该……吗?”的问题时,总是要问“我的决定将如何影响用户”

同意布莱恩所说的

顺便说一句,您不能解释表单中的所有内容(为什么需要该值,如果用户输入该值/选择该选项会发生什么情况),以便用户不必返回编辑吗


当然,您应该保存所有内容,这样用户就不必再次输入所有内容,但如果您可以在填写表单时向用户提供足够的信息,这样用户就不必在填写表单时来回走动,那就太好了。

忘了提一下-我没有在每一步都使用“保存”按钮。这不好吗?当然是客户端保存。不能让未经验证的数据渗透到DB中:PUnless您有一个通过的\u验证标志。我们的发票应用程序保存用户输入的所有发票,即使是错误或不完整的发票。这样,用户可以“哦,不,我必须离开,否则我会错过我的火车”,保存,关闭计算机。。。早上继续他的工作。当然,不完整的发票不会显示在统计数据中,但它们会生成提醒。软件的存在是为了服务于用户,而不是反过来。因此,在回答问题“我应该……?”时,始终要问“我的决定将如何影响用户”——你说的很好:)简化了很多用户体验决策我已经注意到了,这样我的表单就不需要在向导中频繁来回地完成任务,或者我希望如此。也就是说,您永远不知道不同的用户如何使用表单,因此这是一个关于向导设计的一般性问题。