2009-08-18 54 views
8

像OneNote这样的软件显示可以实现自动保存,并且它与手动保存按钮/ CTRL + S一样(或更好)。为什么需要保存按钮?

反正你在你身上工作的一切都想保存。它只是如果你试图破坏性的东西,你会关闭没有保存。因此,从程序员/可用性的角度来看,为什么今天几乎所有软件中仍然可以看到手动“保存”功能?是否因为每当数据被修改时,每个人都懒得实施“自动保存”?

对我们来说,实施自动保存是一个不错的主意,至少在我们的特定行业和我们的竞争对手中开始一些牵引力?

+10

当我想到有多少次我错误地将字符输入到了错误的窗口中,因为我错误地认为我看到的窗口有焦点,我意识到自动保存没有某种方式恢复是不好的。 甚至没有,有时我打开文件和**知道**,我没有做任何改变(例如参考文件),但程序声称我做了。它让我感到害怕,认为我可能会拯救一些我不想要的东西,所以当提示时我不会保存。 随着自动保存,我将如何确保这些类型的“更改”不会被自动保存? – shufler 2009-08-18 17:14:09

+2

你必须能够告诉用户何时保存。一个好的应用程序将实现自动保存功能和手动保存功能。看看MS Word,它实现了自动保存功能以及手动保存功能。然而,有时自动保存是不好的,因为它不允许用户控制何时保存。例如,在订购软件中,您可能犯错,而且您不希望它一直提交或处理。 – Daniel 2009-08-18 17:15:50

+1

在这一点上注意一种奶酪。我希望能够明确地保存东西,自动保存应该是一个紧急恢复选项。 – StingyJack 2009-08-18 17:27:26

回答

8

保存按钮是众所周知的,舒适的UI功能,从Jon Skeet到奶奶的每个人都很熟悉。如果你摆脱了这种情况,那就好像是为某些人删除一个窗口上的关闭按钮。当然,他们最终会习惯它,但有些人不理解他们的数据已经自动保存。另外,如果您在网络上进行自动保存,您不仅在服务器上占用了大量空间,还会耗用大量带宽并定期保存。至少在手动保存时,您只是在用户意图时使用空间和带宽,这可能比较少见,从而节省了带宽。当然,自动保存的好处是在出现问题时保留工作。

检查的“skeuomorph”的定义:)

+4

我相信Jon Skeet的节目只有在Jon希望他们时才会自动保存。 – 2009-08-18 17:49:16

+1

“更少发生”...也被称为“不常发生”? – rmeador 2009-08-18 18:09:30

+0

尽管含义几乎完全相同,但它们的内涵色调略有不同。 “更少发生”意味着事情不会发生很多,现在发生的次数更少,而“次数更少”意味着发生了很多事情,但现在发生得更少。总的来说,这意味着它发生的更少。 – Jason 2009-08-18 18:15:42

9

自动保存通常在定义的时间间隔内保存。如果你想间隔保存会发生什么?

您应该执行手动保存以保持与环境中的其他应用程序兼容。

人们希望文件 - >保存或CTRL + S存在。

+1

无论何时添加/编辑超过特定限制的数据都无法触发自动保存?这样你总能恢复任何重大的变化。 – 2009-08-18 17:09:32

+2

@Jeremy Rudd:“重大”的变化并不一定是很大的变化。 – Kip 2009-08-18 17:26:01

+2

+1为“人们希望文件 - >保存到存在”。 IME这是包含任何看似冗余操作(包括保存)的唯一最重要的原因。 – 2009-08-18 17:33:03

2

应该标记为主观的可能吗?作为一名开发人员,我总是对这样的应用程序有点不安。 I 就像可以控制我的数据保存时间,虽然也许这只是工作中的空调年。每当我关闭一个输入了数据的窗口而没有明确地按下关闭按钮(或快捷键)时,我就会感觉到这种“呃哦”的感觉。

也就是说,我在某些情况下一直“受过训练”接受它。例如OneNote或Tomboy。许多OS X应用程序都遵循这种模式,尤其是实用程序应用程序(如DB服务器GUI工具)。

因此,总之,针对不同情况的不同工具。国际海事组织称,目前大多数软件都不会从手动保存转换为自动保存。

7

此外,“保存”通常还有“另存为...”。两者都赋予用户控制和安全的感觉。知道他们点击保存可以让他们知道在重新加载数据时他们可以预期他们的数据处于什么状态。

2

我认为这个问题的答案是,“这取决于”!

您不仅应该考虑用户对其他应用程序一致性的期望,还应该考虑用户将使用您的应用程序的方式。

对于OneNote来说,一个非常常见的用例是有人打开它来转储某些信息,几乎可以忽略他们正在处理的内容。他们需要快速进出。任何关于储蓄的提示都是令人讨厌的。

另一方面,Word等应用程序期望用户在文档上花费大量的时间。在这种情况下,手动保存和回复确认框等的繁琐工作将被视为一项相对较小的任务。

+0

正如人们在这里指出的那样,它们的用例并没有太大的不同。人们希望能够在OneNote中明确地保存某个状态,有时候,该选项不会恰好可用。 – Kzqai 2009-11-15 16:09:36

3

实现自动保存并不难 - 只需实现普通保存并在需要时或者在计时器中调用它(如果你是懒惰的)。

保存按钮是常见的,因为用户几十年来所了解的常见模式。

  1. 将数据或文件从永久存储器加载到主内存中。
  2. 修改主内存中的数据。
  3. 将修改的数据保存回持久性存储。

此模式来自harde驱动器和主存储器之间的旧区分。如果您以另一种方式思考(如某些实验操作系统所做的那样),则不需要加载和保存文件 - 只需将硬盘驱动器视为主内存,并将主内存视为硬盘驱动器的另一个缓存级别。因此,所有文件(不在可移动介质上)始终在内存中,您将永远不需要再加载或保存文件。

但是做这种改变并不容易,因为用户习惯了旧模式多年。进一步,旧的加载和保存模式是获得一种原始撤消系统的一种非常简单的方法。

自动保存还需要一个撤消系统,而且构建一个系统也不是那么简单。 Esspecialy如果你执行图像,音频或视频编辑,并且你正在生产大量的数据,很难找到一个好的时间内存折衷。而且,用户将会通过关闭应用程序来尝试撤销事件,然后认识到这种做法无效。因此,坚持撤销信息以保护用户免受此错误或在发生崩溃时保存不必要的更改甚至可能是一个好主意。

所以,是的,我真的希望看到保存(和加载)按钮消失。我想要持久的撤消信息,甚至完成编辑历史记录。但我不认为这种改变可能会在几年内发生 - 如果有的话。

5

这真的归结为:一个保存按钮实施和维护比撤消便宜。

+1

+1我认为这与简单相关。如果你需要一个手动保存选项(你可能会这样做),那么添加自动保存就变成了一个-extra-功能,并且可能没有足够**的增加值来保证手动保存和自动保存以及必要的通信他们。 – Kzqai 2009-11-15 16:14:43

2

从程序员的角度来看,实现自动保存并不是什么大事。你只需设置一个计时器,回调就可以完成保存。

但是,从可用性的角度来看,自动保存是非常成问题的。首先,用户习惯于手动保存,而不提供给他们会使大多数用户感到困惑,并且感受到控制感。

更大的问题是自动保存会覆盖下层文件的内容,无论您是否愿意。当然,您可以将自动保存功能保存到临时文件中,但覆盖原始文档的决定必须始终来自用户,而不是来自软件。而且由于您无论如何都需要用户启动至少一次手动保存,为什么不能始终使用手动保存?

0

简短回答:“auto save”=“auto destroy”/“auto <expletive>”。

+0

Nah,自动保存很好,只要它对明确的保存没有任何影响。如果自动保存在任何时候都是一个单独的保存文件,那么它可以增加价值。 – Kzqai 2009-11-15 16:08:01

+0

有趣。这有点微妙,但一个好点。在其他地方放置恢复缓冲区,但让我控制是否应该保存我的涂鸦的当前状态。 – Roboprog 2009-11-18 13:49:54

3

我在医疗领域工作,并且有些情况下您希望用户承担保存某件事的责任。如果您有EHR并且您正在为患者输入处方,那么您不一定需要自动保存 - 您希望用户了解并为他们的行为承担责任。另外,在这样的关键系统中自动保存一个值可能是灾难性的,原因很明显...

0

当您处理文档时,自动保存功能非常棒。关于商业应用程序呢?如果我编辑客户的帐户,是否应该在编辑字段之外更新帐户?如果是这样,当帐户处于无效状态时该怎么办?你什么时候执行业务规则,你如何执行它们?在每次编辑时必须考虑业务规则时它将如何执行?

你当然可以建立一个应用程序,将这些考虑因素考虑在内,但它会值得额外的努力吗?

那么我们应该摆脱保存按钮?这取决于。

0

对于大学中的一个项目,我和我的小组构建了一个应用程序,没有明确的保存作为一个实验。

我们实现了一个无限撤销堆栈,并将撤消堆栈与实际数据序列化,以便即使关闭应用程序并重新打开应用程序,也可以始终撤消上一次操作。每个操作都会在磁盘上的操作列表中写入一个新条目,以便文件始终保持一致(即使电源故障也是如此)。这是版本控制系统和日志文件系统之间的一个交叉点。

有两个问题:一个,我们没有时间去完全正确(啊,年轻的傲慢);两个人(同学,最重要的是助教)都讨厌这个问题,因为所有提到的理由。

有时,为了您的所有最好的意图,您不能忽视根深蒂固的行为。