如何创建“年度应用”

当我做了我的选择应用2004年, my only criterion was to choose the apps released last year that I liked bestBut after making my selections, it was obvious that the apps I chose shared some general characteristics.

我选择的应用是:

  1. Interarchy 7
  2. Affrus 1.0
  3. SpamSieve 2.2
  4. BBEdit 8.0

我尊敬的提到:

文档

My first observation is that all of these apps, with the exception of Quicksilver, have good documentationIn fact, most of them have excellent documentation.

  • In my write-up for the ‘Apps of the Year’ article, I devoted an entire section to Affrus’s outstanding help book and “Getting Started With Affrus” PDF file.

  • Interarchy has a user manual documenting all of its features, available both as a help book and在他们的网站上

  • SpamSieve contains a complete and well-written user manual, available both as a PDF and in HTML help book format (also available on the web)。

  • BBEdit附带一个352页的索引PDF用户手册, and an HTML help book containing a subset of the user manual emphasizing frequently-referenced topics such as the syntax for grep and glossary files(Full-disclosure: When I worked at Bare Bones I contributed somewhat significantly to the user manual.)

  • OmniWeb has a complete HTML user manual which displays within OmniWeb itself.

  • NetNewsWire,有一个完整的HTML帮助的书。

甚至水银至少尝试; it’s under-documented, not undocumentedBut in my judgment, wikis seldom produce complete documentation; they’re a good way to aggregate user-contributed tips and tricks, but they’re a poor way to completely document a complex app.

脚本和可扩展性

所有这些应用程序都可编写脚本和/或可扩展的。

  • Interarchy, Affrus, and BBEdit offer some of the best AppleScript support of any apps ever builtAll three are recordable, for example, which, unfortunately, is quite rare. BBEdit also lets you manipulate the contents of text windows using Unix filter scripts (Perl, Python, Ruby, shell scripts, etc.).

  • SpamSieve pretty much does its whole thing by way of AppleScript (or at a lower level, Apple events)This is how SpamSieve works so well with so many different email clients: Apple Mail, Mailsmith, Entourage, Eudora, PowerMail, GyazMail. It even works with classic apps like Claris Emailer and Outlook Express, because Apple events can pass between classic and native Mac OS X apps.

  • NetNewsWire提供很好的scriptabilityFor example, version 2 adds Web Kit-powered built-in web browsing, complete with tabsNetNewsWire offers scripting access to the titles and URLs of those tabs; thus, NetNewsWire, which offers web browsing as a secondary feature, provides better AppleScript access to tabs than does SafariPlus, NetNewsWire allows you to “subscribe” to a script (AppleScript or Unix script), which it will execute and read the output from as an RSS or Atom feed.

  • OmniWeb 5提供了最好的AppleScript任何web浏览器的支持。

  • Quicksilver has its own scripting dictionary, but not key. Quicksilver is not the sort of app that you want to control via AppleScript; rather, it’s the sort of app you use to do things that control other appsYou can use it to launch scripts, and using its Triggers feature, you can assign keyboard shortcuts that execute arbitrary scriptsPlus, Quicksilver is very much extensible via插件, which allow you to customize the actions the app is capable of performing.

定制就是它的全部Making an app scriptable isn’t just a check-off feature — it’s about allowing users to check-off their own individual customized featuresI’ve written scripts for my own use with these apps that I would never ask for as built-in functions in the apps themselves, but which save me significant amounts of time.

Most users don’t write their own scripts, even with apps which are recordable, like Interarchy, BBEdit, and Affrus但用户是谁write scripts are almost always willing to share, posting scripts to forums, mailings lists, and weblogsIt helps build a loyal community of users around an app — even if most of them don’t write their own scripts and plug-ins.

标签

Interarchy, BBEdit, OmniWeb, and NetNewsWire all offer multiple-documents-in-a-single-window tabbed interfacesAffrus doesn’t, but I don’t think it would be a good fit for AffrusAnd it’s not even applicable to SpamSieve, which doesn’t have (or need) a document-window interface at all, let alone a tabbed one.

有两件事是有趣的One is that tabbed document-window interfaces are new to the Mac, but are taking hold quicklyIt started with web browsers, but it has quickly spread to other app categories(例如。TextMate软件offers tabs in its project windows, and传输3随附支持标签。)

第二,实现相差很大Interarchy uses a very Safari-ish tab implementationNetNewsWire的标签工作pretty much just like Safari’s, but theyquite different, using a slightly larger size and a subtle gradient texturePlus, unlike Safari (and Interarchy), NetNewsWire’s tabs appear above the URL location field, and attach from the bottom of the tab:

NetNewsWire 2.0的浏览器选项卡的屏幕截图。

OmniWeb and BBEdit go a wholly separate route, using sidebar drawers因此,他们不是真的选项卡at all, in the literal senseBare Bones doesn’t even call them tabs, but simply refers to the feature as the “documents drawer”The Omni Group does call them tabs, and theirs is by far the most thoughtful implementation of the bunch(I’m calling all of these features “tabs” here — even BBEdit’s — simply because it’s easier to use one term, and even in the cases where they’re not literal tabs, it’s pretty obvious what’s meant by the term.)

Both BBEdit and OmniWeb allow you to drag tabs between windows. Interarchy and NetNewsWire don’t (and neither does Safari, unfortunately; tabs didn’t originate with Safari, but it’s by far the highest-profile and most-used tabbed app, which makes it a de facto reference implementation)OmniWeb goes further, and allows you to drag URLs into the list to create a new tab for that URL, and it allows you to use drag-and-drop to重新排序tabs within the listNone of these other apps allow you to reorder tabs, but it’s something I love about OmniWeb, and I wish all these other apps supported it.

Tabs are quite obviously here to stay, so it’d be nice to see Apple take a leadership position here and provide developers with a standardized set of widgets and interface guidelines on the matter. Only Apple can prevent this from turning into a permanent free-for-all of disparate and inconsistent appearances and behaviors.

值得注意: I’m well aware that this is far from an exhaustive list of tabbed Mac apps, and some of the other implementation are really quite nice (e.g.Adium的has draggable Safari-style tabs)This isn’t a comprehensive look at multi-document tab implementations, it’s just a cursory examination of the implementations in these particular apps.)

如何创建“年度应用”

So what’s the lesson? Looking at this bunch of apps, it would seem to be:

  • 制作出色的文档
  • 认真对待脚本和可扩展性
  • 允许一个选项卡式界面

One last thing worth noting about these apps, by the way: none of them came from Apple.