虽然此前购买过旧版本的 Drafts,但在拿到手上最新版本的 Drafts 4 前,其实我并没有怎么好好使用它。倒并不是因为它不好用,而是因为它和另外一款相似的应用 Editorial 在我心里一直是两款「怪物」一般的文本输入类应用。因为它们过于的 「强大」,强大到让我没有办法专心在上面写东西,往往是写着写着就开始折腾里面的功能,反而耽误了正事——当然也可能是我意志力不够坚定。

在写这篇文章开头的地方,按照惯例要简单的介绍一下这款应用是做什么的,可是斟酌了半天,删删写写感觉还是很难用三言两语来概括 Drafts 这款笔记应用。既然很难概括,我想还是看看开发者是怎样向用户介绍这款应用,毕竟是自家的「孩子」。

「 Capture and Share. 」

获取与分发」——这概括了 Drafts 所有功能的目的性和出发点。所有的文本进入到 Drafts 里,最后都能到达最终的出口。你可以把 Drafts 当作零碎想法的暂存地,因为它够快速;现在,你也可以把它当作「按照你的 Workflow 私人定制」的写作应用,因为它够灵活

在使用了几天后,Drafts 4 相比旧版,给我的感受完全是两个不同时代的应用,加入 Drafts 4 换个图标和名字,你可能都认不出这是同一款应用。因为新版改变之大、新增的功能之多,为避免篇幅过长,本文将不会讲述过多「技巧性」内容,而将着重讲述 Drafts 4 新功能以及一些自动化功能用法的可能性。

新的界面,新的交互

Drafts 4 虽然作为一款全新的应用,界面和交互都有巨大改变,但是相对之前版本的 Drafts,新版还是有着非常好的兼容性。如果你想从旧版本迁移到新版本的话,只需在旧版本的设置菜单中选择 Export Drafts 或者 Export Actions,即可将之前的笔记以及 Actions 导出到新的 Drafts 4 中。具体可以参照官方提供的 这篇文章 里的教程,如果不懂英文,可以看一下 这个视频 教程。在开启了 iCloud 同步的情况下,导入只需要在 iPad 或者 iPhone 任意一个设备上进行就可以了,另外一个设备会通过 iCloud 自动完成导入。

文件以及 Action 管理

Drafts 4 在旧版本的基础上对文档以及 Actions 管理进行了较大的改善,采用了很多手势操作。之前文档管理里的「Pinned」被替换为「Flagged(旗标)」,加上旗标的文档依旧还会出现在 Inbox 以及 Archive 中,更为接近电子邮箱的管理方式。Actions 的分组则变得有点类似于「标签」功能,一个 Actions 可以归属到多个分组中。Actions 也增加了搜索功能,对 Actions 较多的用户比较实用,不过应用预设的 Actions 在可以删除的情况下,我想多数的用户应该不会创建太多的 Actions。

在创建或者修改笔记的时候,Drafts 默认会将当前的位置信息保存在该笔记中,导出到 Evernote 时会一并将位置信息导出。相对应的 Drafts 也多出了 4 个关于地理位置的「Tags」,至于能利用这些位置 Tags 做些什么?就要发挥你的想象力了,比如直接给提醒事项设置位置提醒?如果担心涉及隐私问题,也可以在设置中关闭地理位置功能。

Drafts 4 因为采用了可自定义的键盘扩展按键,除了和旧版本的应用一样会同步笔记和 Actions 外,还会同步自定义的键盘扩展按键。旧版 Drafts 此前是和 Simplenote 一样使用由 Simperium 提供的付费同步服务,稳定性和速度都有着不俗的表现,唯一不方便的地方就是需注册帐号。Drafts 4 则采用了苹果提供的 Cloudkit 作为数据同步服务,iCloud 和往常表现一样,发挥还是非常「稳定」,基本上都是时而同步时而不同步,或者只同步了笔记而不同步 Actions——这应该是我对新版 Drafts 4 唯一吐槽的地方。

全新的写作编辑体验

一直以来很多人都把 Drafts 当作一款快速录入的笔记应用,很少人把它作为一款写作应用。而在新版本中 Drafts 4 的编辑体验有了极大提升,因此我才有了我在文章开头的那句话:

现在,你也可以把 Drafts 当作「按照你的 Workflow 私人定制」的写作应用。

Drafts 提供了 纯文本、Markdown、社交网络 三种语法高亮主题,分别适用于不同使用场景,不同的语法高亮会针对不同的内容侧重点,进行加亮或者变暗处理。如果你是个对字体非常讲究的用户,Drafts 现在还能够调用你安装的第三方字体,在设置中开启新增的「Hide toolbar while editing」选项,在编辑时键盘外其他冗余的元素会自动隐藏起,提高写作时的专注力。

上面的几点功能,都是在旧版本的基础上进行提升和改善,「段落重排」则是 Drafts 4 的一个全新功能。经常写作的人会遇到一个问题——写好的某一段话,往往后来发现将该段落放置在上一段或者下一段,更为合适,于是选中段落剪切,定位光标最后粘贴。虽然整个操作不是很复杂,但人从来不抗拒更加简单直观的方法。在「段落重排」页面里,你可以随意的拖动某一段落来重新安排段落的顺序,或者直接删除整个段落。如果能够增加批量选择功能,效率应该会有不错的提升。

新的系统,新的特性

Drafts 4 因为使用了诸多新的系统特性,所以是一款仅限 iOS 8 的应用,使用旧设备的用户则完全无法使用了。

Drafts 4 应该是第一款将 iOS 8 能用到的系统新特性全都用上的文本类应用,通过 Bookmark 获取 Safari 中页面信息的这种「老旧」的方式,被更为方便快捷的 Share Extension 所取代。Extension(扩展)具有自定义模版功能,我们在设置里可以随意安排标签顺序以及版面来获取自己理想的效果,它和 Action 的模版功能一致,只不过在 Extension 中支持三个常用的 tags。

开启 Drafts 4 的通知栏 Today Widget 后,可以在通知栏快速创建新的空白笔记,或者将剪切版里的数据作为内容创建一条新笔记。不过两项操作都需要跳转到应用中,如果以剪切板内容创建笔记能够像 Clips 一样无需跳转至主应用的话,我想会更加的方便。至于在通知栏显示还有多少笔记在收件箱,可以说是可有可无的功能。

Drafts 4 同样支持作为 iOS 文件系统被引入的 Document Picker 特性。借助 Document Picker,我们可以在不离开 Drafts 应用的情况下,从任何支持 Document Provider 的应用中方便地导出、导入文档,比如通过 Dropbox 的 Document Provider 导入保存在 Byword 文件夹的文档,或者通过 Transmit 上传文档到你的 FTP 服务器上。若要将保存在 Drafts 里的文档导出,可以通过左滑开启 Action 界面,找到应用预设的 Export,导出到你想要的地方即可。文档的导入操作相对比较隐秘,如果没有查看官方文档,我甚至不知道要如何触发——长按 Drafts 界面右上角的「+」图标,会弹出如下右图的导入功能菜单。

比想象更强大的自动化功能

如果上面提到的这些新功能都不能让你有一丝丝激动的心情,那么下面这些自动化功能一定不会让你吝啬自己对 Drafts 的赞叹。自动化一直以来是 Drafts 最为重要的功能,也是让它能够在 App Store 中傲视同类应用的资本。

自定义按键扩展

和很多文本类的应用一样,Drafts 的键盘上方一排扩展按钮可方便快速输入一些常用内容。在 Drafts 4 中,虽然也有这么一排小按钮,但却强大得足以超出你的想象——你可以自定义这一排按键中的任何一个,要是你不喜欢这排按键也可以把它们删除的一个不剩,最最最让人兴奋的是你可以在按键中插入 Javascript 脚本代码。Drafts 4 一共提供了 3 种按键类型:

  • Command 类型里主要包含了一些预设的简单操作,比如向左移动光标、撤销操作、重做操作这类常用的操作。
  • Text 类型单从字面上看就很容易了解它能够实现的功能,将一段文本放置在按键内,触发该按键就会在正文中插入按键内的内容。比如,为了完成你现在看到的这篇文章,我在 Drafts 中创建了两个 Text 类型的按键,作为这篇文章出现率最高的单词「Draft」,我把它放置在一个按键当中然后前后各加上一个空格,虽然很简单但却节省了我很多的时间。另外一个则是用了一些小技巧,我在按键内放置了「mdqt」四个字母,而这几个字母是 TextExpander 里一个文本片段的缩写,这个文本片段的内容是插入左右引号并将光标移动到引号之间。这样我就只要触发这个放置有文本片段缩写的按键,就可以替代「mdqt」这几个字符展开文本标签。所以即便你不懂编程,也能够配合 TextExpander 做出意想不到的效果。
  • Sript 可以说是三个按键类型中最为复杂也最为强大的一个,需要一些基础的编程知识。即使你知道如何编程也可以通过官方的 Action Directory 找到许多别人创建好的强大按键。我根据自己的 Workflow 创建了一个插入 Markdown 图片的按键,一般情况下在插入图片前我会将图片通过 Droplr 应用上传,上传完成后应用会自动将链接地址放置在剪切板中。然后我会在正文中输入图片的描述,光标选中描述后触发插入图片按键,Javascript 会自动将图标描述放入方括号、将图片链接放入括号中并将光标移到最后,点击这里 直接安装。因为我会经常将两个图片链接的位置弄反,所以我创建了一个将选中的文本与剪切板内的文本互换,点击这里 直接安装。

除了这三种之外,Drafts 还提供了一种叫做「Lable」类型的按键,不过除了用来作为分隔符没有任何的功能。以上就是这些按键的简单用法介绍,如果有兴趣的话,可以试着将我创建的那个插入 Markown 图片的按键修改为插入 Markdown 链接。展开写的话 Drafts 这方面的内容会很多,之后我会专门再写一篇相对比较详细关于按键的内容。

多步骤 Actions

在 Drafts 4 中,一个 Actions 可以包含多个步骤,即可以将多个 Actions 串联在一起作为一个 Workflow。以我创建了一个叫做「Post to Tumblr」的 Actions 作为例子,在这个 Actions 里第一步是 HTML Preview,预览文章的排版效果是否和自己预期的一样。第二步则是创建一个邮件 Action,选择好自己的 Tumblr 发布邮箱并勾选后台发送,这样就不需要每次去确认发送。第三步创建了一个将正文添加到 Evernote 的 Action,作为自己的存档。最后,则是创建了一个 URL Action 跳转到我自己的 Tumblr 博客查看文章在网络上的效果。以上所有的步骤,都只需触发一次 Action 就会自动完成里面所有的操作。不过在串联多个 Actions 时,需要注意:如果其中包含了 URL Action 的话,只能让其成为整个 Workflow 中的最后一步,否则执行 URL Scheme 后会跳转到 Drafts 应用的外部,而打断整个流程。

Drafts 新版本中 Actions 的选项也比以前更加的灵活,几乎所有的 Actions 都可以根据自己的需求进行自定义。比如在邮件 Action 中,你可以选择是否将正文的 Markdown 语法转换为 HTML 格式后发送,还是直接发送原文。如果你不喜欢应用自带的 HTML 预览效果,也可以在 HTML Preview 中自定义你自己喜欢的 html 模板。此外,Drafts 较之前的版本对 Markdown 的支持也更加的完善,特别增加了一个「%% %%」的 tag,将任意的 tag 放置在两对百分号之间,tag 里的含有 Markdown 的内容就会被转换为 html。利用这个 tag,我们就可以在 Drafts 中的任何地方使用 Markdown 语法录入内容。

和键盘扩展一样,Drafts 4 的 Actions 同样支持自动化更高的「Script Action」,但比前者更加的强大。一个含有「Script Actions」的 Workflow 中,不论脚本代码对 Drafts 中的笔记做出了何种的修改,在整个流程周期结束后都会自动恢复回原来的样子,以确保保留在 Drafts 的笔记的安全。不过如果你希望的恰恰是利用脚本语言对笔记进行加工处理,可以在「Script Action」的结尾处插入commit(draft)代码即可将所作的修改直接保存到 Drafts 的数据库中。比如我利用 Javasript 的正则表达式创建了一个「Scrpit Action」,会将文章内应用的价格由美金替换为人民币,最后用commit(draft)直接修改原文。

无论是在 Launch Center Pro 还是 Drafts 中,我曾经无数次的抱怨它们无法自由地让用户自定义「tag」,限制了应用的扩展性,不过终于在 Drafts 4 等来了这个期盼了许久的功能。通过在「Script Action」中插入defineTag(tagName, tagString)代码你可以在该 Workflow 中使用这个自定义的 Tag。假设你有一个多步骤的 Action,并在第二步的「Script Action」中通过defineTag("Appprice", "$10")代码申明了一个叫做[[Appprice]] 的自定义 tag。在此后的整个 Workflow 中就可以像其他 Drafts 自带的 tag 一样使用该 tag。但该 tag 并不是像自带的 tag 一样永久有效,到整个流程结束后就会从内存中移除掉。

多步骤 Actions 虽然实现的功能可以非常的复杂强大,但在构建的过程中,除非涉及到「Javasript」和「URL Action」这两个高级的 Actions 外,几乎不需要什么学习成本,一般都只是在选项间切换实现各种不同的功能。如果有兴趣想要深入的了解和学习这个两个高级的 Actions ,以及创建高级的键盘扩展的话,可以查看这个官方 帮助文档,或者去 Action Directory 安装一些其他 Power User 创建好的 Action 与键盘扩展,从中学习别人是如何实现这些功能的。

一些有趣的细节

一款应用的细节应该体现在当你需要某个功能的时候,它就在那个你需要的地方。

在 Drafts 4 的编辑「Script Action」的界面中,代码编辑器的下方有一个专门用来显示当前的代码是否能够正确执行的信息窗口,如果不能够正确执行则会告知用户代码的什么地方出现了错误。而不是等你在编辑器了写了二十分钟的代码,兴高采烈的去测试整个 Workflow 时「当」的一声跳出一个 XXX 错误的提示框,然后你在一步步的点到编辑窗口里就为了修改因为自己手误而输入错的一个字母。这样的细节,还体现在编辑任意 Action 的模板时,如果对 tag 有所疑问可以点击右下角的 Tag help 查看帮助,点击每个 tag 前面的剪切板图标可以直接复制该 tag。

Drafts 有一个不起眼的功能,应该是所有的评测都不怎么会提到,那就是对 VoiceOver 的高度支持。作为 iOS 系统集成的一项辅助功能,它是专门为自觉障碍的人开发的,或许你一辈子都用不到这个功能也不在乎这个功能能够改变什么,但开发者还是默默的尽自己最大的努力默默的支持着,请为开发者点个赞。

最后

在我看来一个优秀的应用不是它的功能有多么的强大牛 X,而是它能够让每个普通的用户都能够轻松自如的去使用这些应用提供的强大功能,否则再强大那也只是专属于 Geek 们的玩物。在这篇文章里,你看到的 Drafts 4 的功能可能连一半都不到,这并不代表剩余的那些功能不值得分享,而是我希望你能够享受「发现那些原本你不知道的功能」时的喜悦和成就感。

此前,如果你还在思考这个只是从 Drafts 3 变成 Drafts 4,界面也差不多的应用是否值得购买,如果你认真的看到了这里,我想你的心中已经有了比我更加明确的决定。Drafts 4 放弃了之前 iOS 平台双版本的销售策略,作为一款通用版的应用,首周促销价格为 $4.99(¥30),一周后会恢复到 $9.99(¥68) 的正常售价。所以,赶快拿起手里的 iPhone 前往 App Store 订购 吧,晚了就得给人买完了。