Untitled Document Syndrome

1。

Scenario: you have an idea for something, start a new document in an appropriate app, and then work for hours before realizing you haven’t yet saved the document? Typically, it’s a chuckle —哈,我想我应该保存这个东西偶尔,这是一场灾难,因为当应用程序崩溃或电源耗尽时,您才意识到自己尚未保存工作。

I’ve had the disastrous version happen a few times over the years然而,令我感到奇怪的是,我仍然偶尔会抓住自己我称之为“Untitled Document Syndrome”,因为当我发现自己这样做时,它几乎总是带有一个新的无标题文档窗口,而不是一个未保存更改的现有文件第一个之后的所有后续保存只需要一个快速的Command-S。

一个伟大的路线编程Perl,Larry Wall(Perl的创建者),Tom Christiansen和Jon Orwant的Perl编程语言的圣经,总结了现代脚本语言的全部吸引力:

One thing that’s easy about Perl is that you don’t have to say much before you say what you want to say.

在Perl中,这是一个完整的“Hello world”程序:

打印“Hello world \ n”;

在Python和Ruby中,同样的简单示例也可以在不更改字符的情况下工作如果你想打印一个字符串,你只需说“打印”相比之下,C语言中的等效程序要求您在说出想要说的内容之前(之后)说一下:1

#include <stdio.h>
main() {
    printf("Hello, world\n");
    return 0;
}

The result is that programmers often wind up using syntactically efficient languages like Perl, Python, and Ruby to write little throwaway programs that they might never have written in the first place using, say, C, because it’s so much less of a hassle to get a simple working program off the ground它之间的摩擦力更小理念写一个小程序和实际上这样做

您不必是程序员就可以看到这一点事实上,我怀疑上面的例子对于那些不是程序员的人来说效果更好 - 如果你不明白他们的意思,那么C例中的摩擦点肯定会更加突出。

摩擦是一般软件的问题,而不仅仅是编程语言有你想做的东西,在你做你想做的事之前,你需要做的事情人们有自然倾向跳过得做东西要正确的想做他们可以逃脱的东西摩擦是阻力因此,无标题的文档窗口包含数小时未保存的工作 - 在你的脑海中有一个想要表达或探索的想法,而阻力最小的路径是命中N并开始工作。

第一次保存文档是一件小事,但它仍然是一件苦差事The avoidance of such a minor chore is not rational; it is neither particularly complicated nor time consuming to hit Command-S and deal with the Save dialog但我们人类并非完全理性我们并不总是用牙线清洁牙齿我们会选择汉堡和薯条而不是沙拉我们还会再喝一杯啤酒有时我们只是不想处理保存对话框,所以我们将其关闭。

2。

因此,从中得出的一个结论是,基于文档的应用程序的开发人员应该保护用户免受自身的侵害您的工作即使您的文件没有,也应该保存将文件系统中的项目管理与您键入或绘制或编辑的内容应该是“安全”的想法分开BBEdit 9很好地实现了这样的功能每分钟一次,它默默地,无形地存储每个打开的文档窗口的副本如果BBEdit崩溃或以其他方式异常退出(例如,如果整个系统发生故障),当您下次启动BBEdit时,它会将您的工作恢复到上次自动保存的状态最糟糕的情况是你失去了59秒的工作这不是关于在文件系统中自动保存文件 - BBEdit的自动保存还将恢复从未保存为文件的无标题文档窗口没有充分的理由说明为什么每个应用程序都不应该以类似的方式保护您的工作。

但更重要的结论是不太明显的,即几乎每个人都可以从使用不需要显式文件系统管理的软件中受益例如,Apple的大多数iLife套件都以这种方式工作将音乐或视频添加到iTunes资料库或将新一批照片导入iPhoto不需要做任何苦差事例如,有两首具有相同文件名的歌曲很少见,但使用iTunes时你不必担心它只需添加它们,iTunes就会知道如何存储它们在有iPod之前,以及在有iTunes Store之前,iTunes变得流行且有用,因为它免除了用户将音乐作为文件系统中的离散文件进行管理您只需将音乐文件放入文件夹即可把它放到iTunes中将歌曲添加到iTunes后,您不再需要担心它在文件系统中的实际位置。2

计算机上的所有内容最终都保存在文件系统的某个位置但这并不意味着您想要手工处理实际的归档您真的不想了解有关如何保存数据的具体技术细节的很多内容,或者如果您这样做,您就会编写自己的应用程序。

那些反对这些概括的人 - 你们摇摇头,对自己说,不,我非常希望手动指定系统中每一位数据的分层目录结构中的文件名和位置- 几乎可以肯定,我打赌,计算机程序员。认为用户应该接受手动文件系统管理他们希望存储的每一点数据都是为了反对人性。

3。

Untitled Document Syndrome的一个明显问题是,在您丢失数据的极少数情况下,因为您从未保存过它The non-obvious problem is that the mental friction posed by the Save dialog often keeps you from ever even creating or saving small items of data in the first place.

我认为,这解释了Mac OS X包括Stickies应用程序的相对受欢迎程度多年来,Stickies的受欢迎程度令我感到困惑Why would anyone use a note-taking utility that requires you to leave every saved note open in its own window on screen? The more you use it, the more cluttered it gets但事情就是这样:尽管它可能是混乱的,你永远不需要在Stickies中保存任何东西切换到Stickies,Command-N,键入你的新笔记,然后你就完成了(并且,是的,如果您创建一个新的便笺,然后强制退出Stickies,您刚刚创建的便笺会在下次启动应用时出现Stickies的自动保存功能会在您输入时发生,而不仅仅是在退出时。)感觉很简单,感觉很安全Stickies并没有提供良好的长期存储设计,但它提供了一种无摩擦的短期记录,即现在的设计。

另一方面,假设用于保存小文本注释以供将来参考的系统是使用简单的文本编辑器将它们创建为单个文件事实上,这是我的制度大约四年I kept a folder named “Misc.” and whenever I’d want to jot something down for future reference — movies I wanted to rent, the steps to go through to reboot a particular server, ideas for projects, anything — I’d create a new text file in that folder and jot the note down using BBEdit.

我在2001年的某个时候开始这样做,并一直这样做,直到2005年,当我切换到用心棒3当我放下我的“文件夹文件夹”系统时,我在文件夹中有大约50个文件 - 每个月大约有一个新文件在撰写本文时,我在Yojimbo有1,588个笔记 - 每天约有一个笔记。

我转换到Yojimbo获得的最大优势是我实际上使用它对于我想要记住的任何小想法或信息,我创建了一个新的Yojimbo笔记结果,既然我累积了几年的笔记,偶尔会让我感到惊讶这就像拥有一种永恒记忆的头脑(我绝对不会拥有)仅举一个例子,从本周早些时候开始:我戴了两周的一次性隐形眼镜,在我第一次与一位新验光师预约后,意识到我从最后一对丢弃了盒子而没有注明确切的品牌和型号我在Yojimbo检查了“隐形眼镜”,是的,从2007年11月开始:Bausch and Lomb Optima FW(SofLens 38)

Yojimbo并不是唯一一个这类公用事业公司,关于我最喜欢的具体Yojimbo功能的详细赞歌将需要更多的空间,甚至比我对于括号离题的慷慨标准还要多但关键是它可以减少摩擦创建一个新音符几乎没有摩擦,搜索现有音符的摩擦很小你永远不必明确保存任何东西。

这不是一个论据所有软件应该使用库范例抽象文件系统,但就是这样更多软件应该这就像C和Perl“Hello world”编程示例之间的上述差异当你在做你想做的事情之前(或之后)没有做太多事情时,你会做得更多。


  1. 而“Hello world”在语言中更为冗长Java的C#That’s not to say there’s anything wrong with either language; just that neither is particularly well-suited to writing quick little programs off the top of your head. ↩︎

  2. But it’s worth noting that while apps like iTunes, iPhoto, and iMovie absolve the user from worrying about managing items in the file system, they don’t make it difficult to find the data you’ve stored within them in the file system if you really want toYour data is all right there in obviously-named folders within the Music, Photos, and Movies folders in your home folder. ↩︎

  3. 实际上,在转换到Yojimbo之前大约六个月,我首先开始使用Zachary Schneirov编写的一个奇怪但非常有趣的小免费软件程序符号速度Notational Velocity自2005年以来一直没有更新,但它仍然可以正常工作Notational Velocity背后的前提几乎是荒谬的:它提供了一个窗口有三个部分:顶部的标题/搜索字段,备注列表和文本编辑区域To search for a note, you type in the dual title/search field a substring matching the name or contents of any existing note; those that match appear in the list要创建新笔记,请在同一字段中键入唯一字符串,然后单击选项卡或返回以将焦点切换到文本编辑区域听起来很疯狂,但在实践中它实际上运作得很好。Merlin Mann写了一篇不错的评论Notational Velocity回归2004年。

    阿尔伯特爱因斯坦有一个着名的设计格言,一切都应该尽可能简单但不简单符号速度落在了错误的一面2005年11月,我将Notational Velocity的所有笔记导入Yojimbo(当时正在进行私人beta测试),并留下Notational Velocity我在Yojimbo看到(并且仍然看到)的主要优点是因为它的音符格式是RTF而不是纯文本(比如Notational Velocity),我可以将图像粘贴到我的音符中I’ve been using Yojimbo ever since. ↩︎

以前: 苹果在MWC的头脑
下一个: 最好的图片