寻找阿维

少数读者通过电子邮件向周一抱怨混合评论Avie Tevanian的遗产作为Apple的软件工程副总裁特别是这句结论:

In short, many of Tevanian’s design decisions have not been made with the best interests of Mac users in mind.

因此可以概括抓握的要点:在Tevanian下你所描述的“坏”并不是那么糟糕An unpopular technote that was eventually withdrawn? So what? I don’t care about developer documentation这对真实用户有什么影响?

但就是这样 - 技术说明#2034不仅仅是开发人员文档的网页这是对管理Apple自身软件开发的事实政策的描述,其中某些政策显然不符合用户的利益,但Avie Tevanian希望所有其他Mac开发人员采用这些政策虽然技术说明本身已被废除,但适用于Apple自有软件的政策并非如此。

举个例子,Tevanian对HFS文件类型和创建者元数据的莫名的狂热反感。

Jaguar(Mac OS X 10.2)中最好的新功能之一就是Finder终于能够了,要理解为什么这是一个如此受欢迎的变化,我们需要回顾一下Finder的历史尽管名称为“Finder”,但直到并包括System 6,Finder都没有Find命令您无法使用Finder进行搜索。

在System 7.0中,Apple为Finder添加了一个非常基本的文件搜索功能如此简陋,以至于它无用您可以输入搜索字符串,但不是显示所有匹配项的列表,Finder只需打开第一个匹配项的包含文件夹并选择文件如果那不是您要找的那个,那么您需要再次查找,重复直到找到您要查找的文件This was frustrating for searches that matched more than a few files; it was downright infuriating for searches that matched dozens or hundreds of files在System 7.5中,Apple从Finder本身删除了蹩脚的Find功能,并将其替换为一个名为Find File的更实用的独立实用程序在Mac OS 8.5中,Apple将名称重命名为“Sherlock”,并添加了Internet搜索功能。

Sherlock转向Mac OS X,其与互联网相关的搜索功能也在增加但它进一步远离其最初目的:提供一种简单但有效的方法来搜索计算机上的文件因此,美洲虎的分裂确实受到了欢迎--Sherlock完全专注于与互联网相关的搜索(臭名昭着从卡累利阿软件公司的沃森那里获取灵感),文件搜索被移回Finder,它应该一直存在。

Jaguar Finder的文件搜索功能非常好它具有用于添加和删除多个搜索条件的直观UI在旧Sherlock和查找文件的欢迎更改中,Jaguar Finder允许您根据相同属性指定多个条件例如您可以搜索名称以“a”开头并以“z”结尾的文件,而Sherlock和Find File仅允许基于名称的单个标准。

但是Jaguar的文件搜索受到了明显的遗漏:搜索文件类型和创建者代码属性的能力,这一特性一直存在于System 7.5中的查找文件中相反,Jaguar Finder允许您搜索新属性“Extension”但当然这根本不是新的 - 根据定义,文件扩展名是文件名的一部分搜索扩展名为“app”的文件会生成完全相同的结果搜索名称以“.app”结尾的文件。

有用的东西(类型和创建者搜索)被完全显而易见的东西所取代(“扩展”搜索)。

造成这种错误的原因有很多首先,类型和创建者搜索不能被文件扩展名搜索取代 - 即使你做出(坏)假设所有文件都有准确的扩展名这是一个合理的假设假设我正在搜索我创建的HTML文件,我不记得这个名字但我相当肯定当我看到它时我会认出它我也知道我用BBEdit创建了这个文件。

我有一个备用的iMac运行Jaguar的近距离安装在iMac的启动盘中搜索名称以“.html”结尾的文件会生成超过18,000个结果的列表(主要是帮助文件和开发人员文档)这根本没有帮助我重新启动进入Mac OS 9后,搜索名称以“.html”结尾且其创建者为“R * ch”(BBEdit的创建者代码)的文件会生成60个文件的列表 - 我可以轻松滚动查找目标(请注意,Find File和Sherlock都不会强制您记住类型和创建者代码 - 两者都允许使用拖放来指定示例文件。)

搜索类型和创建者代码非常快与普遍存在的误解相反,文件类型和创建者元数据是存储在文件的资源分支中They have nothing to do with resource forks whatsoever — rather than being stored as part of either fork of a file, they are stored in the HFS directory entry for the file, alongside the filename (which technically qualifies as metadata also, albeit a form of metadata supported on all file systems).

从编程角度来看,添加对文件类型和创建者代码搜索的支持很简单Carbon API提供完成所有工作的例程 - Finder已经使用的同一组例程,它允许您搜索其他属性。

So (1) type and creator searching is useful; (2) it’s been around since System 7.5; (3) it’s fast; and (4) it’s easy to implement那么Jaguar Finder为什么不支持呢?

尽管如此。

我认为没有其他合理的解释声称类型和创建者代码已被弃用,这当然是不合理的For the sake of argument, even if we concede that filename extensions will and should serve as a replacement for genuine type and creator metadata (a huge concession, mind you), it still doesn’t justify not including the ability to search for them in the Finder.

弃用只意味着在你前进的时候远离某些东西 - 而不是假装它从未存在过HTML 3已被弃用多年,但全新的Web浏览器(如Safari)仍然会呈现它Unicode是文本编码的未来 - 在Mac OS X上,它就是现在 - 但您仍然可以打开和编辑单字节编码的文本文件。

有几百万台运行Jaguar的Mac,其中大部分包含数十万个带有类型和创建者代码的文件这相当于数千亿个具有无法搜索的类型和创建者代码的文件这种限制怎么可能符合普通用户的利益?

(好消息是,在(10.3)在WWDC上发布的种子,类型和创建者代码搜索返回到Finder中这是一个好兆头 - 但它并不能成为将其排除在美洲虎之外的借口。)

Is type/creator searching a huge deal? No但它象征着Avie Tevanian如何赢得这么多长期Mac开发者的敌意文件名扩展名vs类型/创建者论证是一种政治论点,而特瓦尼安人常常将技术政治置于可用性之前好像Mac OS X被认为是成功的还不够 - 但是旧的NeXT系统必须一直被证明是优越的。