0

我有这个应用程序,用户可以在其中更改文本文件,当他们忘记保存它们时,会弹出一条小消息,提醒他们更改未保存,并通过两个按钮“是”询问他们是否要保存更改和不”。它还有一个小复选框,上面写着“禁用此警告”。同样的,如果用户检查它,当文本文件有未保存的更改时,该消息将永远不会再次弹出。

几个问题:

1)如果用户只选择“是”,只选择“否”或其中任何一个,是否应该记住复选框值(如果他们选中)?

2)假设用户选中了复选框,因此不会再次警告未保存的更改。下次用户忘记保存更改时,预期的行为应该是什么?

在用户禁用警告后,我是否应该始终假设默认操作(是:保存更改,否:放弃更改)?如果有,采取什么行动?

或者我应该始终保存更改或始终在他禁用警告后根据最后用户操作丢弃更改?

4

7 回答 7

5

您正在做的是一种常见的 UI 模式,但恕我直言,我认为这不是一个好的用户体验。这是我认为更好的替代方法:

  • 新文件每分钟左右自动保存一次(根据保存时间而异);
  • 它保存到一个临时文件;
  • 如果用户保存一个文件,则给它一个名称并将其保存到该位置;
  • 如果程序崩溃,那么临时文件仍然存在。程序应该在你启动时询问你想用它做什么;
  • 关闭程序应该有一个简单的复选框“现在保存?” (是/否)。这些“你确定要……”都不是垃圾。不保存应将文件保留为临时文件;
  • 摆脱临时文件需要选择丢弃操作(确认“立即丢弃?”);
  • 打开现有文件具有相同的每分钟保存功能,只是保存到临时文件。除非用户明确保存文件,否则切勿修改原始文件,此时将临时文件复制到原始文件上。
  • 临时文件应该在可折叠窗格(或等效)上可见,包括上次编辑的日期,最好是预览以提醒用户它是什么;
  • 应该没有禁用此行为的选项。它不是侵入性或侵入性的。正如乔尔所说,每次你给用户一个选项时,你都会强迫他们做出决定。选项被过度使用。

要具体回答您的问题:除非用户要求您这样做,否则您永远不应该丢弃任何东西。

控制你的环境让你快乐是关于可用性的必读。不要让我思考!也是。

于 2009-08-15T04:27:35.307 回答
3

由于复选框显示“禁用此警告”,这正是它应该做的。不要对你呈现给用户的内容抱有幻想,只要按照你说的去做!

如果他们忘记保存更改并且没有收到警告,那么他们不应该选中该框。当警告被禁用时,您总是放弃更改是正确的。

于 2009-08-15T04:08:33.160 回答
2

使复选框显示“[] 并始终执行此操作”。

然后很明显,如果他们选择“否”并检查它,它将始终选择“否”,反之亦然。

于 2009-08-15T04:07:55.020 回答
2

或者我应该始终保存更改或始终在他禁用警告后根据最后用户操作丢弃更改?

我相信这应该是预期的行为。如果您在屏幕上有将要发生的默认操作的提示,那就太好了。

我推荐这本书About Face 3: The Essentials of Interaction Design以获得一些非常好的 GUI 设计理念。

于 2009-08-15T04:35:17.243 回答
1

1)您还应该有一个“取消”按钮,用于中止退出,允许用户返回文档以查看她/他是否要保存它。

2)“禁用此警告”有点太令人讨厌了。试试,“不要再显示这个警告。” 这告诉用户不会显示警告,并暗示在未来的情况下不会发生保存。这可能不是一个好主意,您应该重新考虑提供这样的警告抑制功能。

3)在这种情况下,用户想要保存东西的次数要多得多,所以如果没有警告,这就是你的应用程序真正应该做的事情。在这种情况下,复选框应该是“退出时始终自动保存更改”。这意味着在未来的情况下不会显示警告。

4)如果您执行 3,您还需要另一种方法让用户从完全破坏文件并且不想保存的情况中恢复。它可能是一个 Undo 对话框,允许用户向后大跳,也可能是一个菜单项,如“返回上一个保存的版本”。理想情况下,即使在用户退出并重新打开文件后,此功能也应该可用。

5) 如果可以让用户知道 4),请考虑将 3) 作为默认选项或唯一选项——根本没有警告。

所有这些都假设定期隐式储蓄不是一种选择。

于 2009-08-17T12:04:53.527 回答
0

更好的选择是自动将文档保存到草稿中。可以异步执行此操作。

于 2009-08-15T04:54:14.067 回答
0

我说,总是自动保存。忘记对话框。如果他们想退出而不保存,请在文件菜单上进行显式操作。

想想你想保存的频率与你不想保存的时间。这个比率可能是 100 比 1 甚至 1000 比 1。你想给用户带来不便 999 次来保护他们一次?

于 2009-08-15T04:57:12.627 回答