OneV's Den

上善若水,人淡如菊

嗨,我是王巍 (@onevcat),一名来自中国的 iOS / Unity 开发者。现居日本,就职于 LINE。正在修行,探求创意之源。


ObjC 中国与 objc.io 合作最新作品《函数式 Swift》,《Core Data》,《Swift 进阶》及《集合类型优化》已经发布泊学网正在开展订阅赠书活动,也欢迎前往了解

使用邮件来进行信息管理,顺便介绍最近写的一个小 app - Mail Me

距离上一次自己在 App Store 发布个人 app 已经过去了两年多了。这段时间里把精力主要都放在了公司项目和继续进一步的学习中,倒也在日常工作和出书等方面取得了一些进展。个人 app 这块近两年虽然有写一些便捷的效率类应用,但是几次审核都被 Apple 无情拒掉以后,也就安心弄成自用的小工具了。看着自己逐渐发霉的开发者证书,果然觉得还是找时间倒腾点什么比较好。于是就有了现在想要介绍给大家的这个工具,Mail Me - 一个可以帮助你快速给自己发送邮件的小 app。

基于邮件的信息管理方式

开发这个 app 的想法的来源也算偶然。去年初在 @Swift 大会上发现 objc.ioChris 有一个很有趣的习惯,他会把我们谈话中提到的重要的事情不停地用邮件的方式发到自己的邮箱里。发送的内容包括像是对某个特性的讨论的结论,或是有疑问还等待确认的问题,甚至对那些他承诺了稍后再去深入研究的内容,也给自己发送了提醒。这样的收集信息的方式其实很有意思,相比与使用像是 To-Do 应用或者某些 GTD 的方式来说,似乎给自己发邮件这件事情并不那么 fashion。但是这将近一年来我也尝试了使用最基础的邮件对突发杂乱信息进行管理,发现效果很好。

最显而易见的好处是,使用邮件管理减轻了每天的信息获取负担。不论是公司业务还是开源项目,或者其他各种联络中,我对电子邮件的使用是绝对依赖的,收件箱也是我每天肯定会去检查好多次的地方。如果使用 To-Do 或者是专业的 GTD 应用,其实相当于给自己增加了额外的信息获取负担,并不高效,而且过程会更复杂。将待办事项通过邮件发给自己,可以在每次检查邮件时都看到,省去了确认和获取的环节,信息也相对更加集中。在事件结束后,及时将完成的事情归档,保持收件箱的干净。整个流程基本和一般的 GTD 思想一致,但是信息上下文不再被割裂,而是和邮件检查一同进行,保证效率。

不仅如此,其实我发现像是知识收集这样的事情用邮件来做也十分合适。我曾经是 Evernote 的粉丝,但是在 Evernote 越来越笨重而且基本没有我希望的功能后,我一直就在寻觅新的笔记软件。其间也尝试过 Simplenote 或者 Dropbox Paper 这类产品,但是总有些这样那样的不舒服。最后我选择了无数据库的方式,简单地用一个文件夹和 .md 文件来管理。这种方式显然是“纯天然”的笔记方式,但是不足也十分明显,那就是笔记内容难以组织和检索。而说到检索,映入脑海的首先就是 Google 这样的搜索引擎。如果我们的知识库能有 Google 这样的强力索引,那么之后的寻找和整理自然也不会是问题。万幸,在 Gmail 中,Google 就提供了一个同样强力的邮件搜索系统给我们使用。另外,邮箱系统强大的规则和分类,也为零散知识的自动归类整理提供了可能。于是我想,为什么不干脆直接用邮件来进行知识管理呢?

在这一年里,我把待办事项和知识管理的工作都交给了邮箱。将电子邮箱作为个人信息的中转和仓库,以发送给自己的邮件的方式来进行信息的管理。一年实践下来,我大概通过邮箱完成了上千的待办和接近 200 多条知识条目。对比起之前的方式,感觉节省下了不少时间。

在实践这种知识管理方法的过程中,最大的痛点在于我找不到一个能帮助我快速给自己发送邮件的客户端。在桌面系统上,macOS 自带的邮件客户端或者各类第三方 app 勉强可堪一用。另外,我也可以用像 Alfred 这类工具编写工作流,让我能迅速捕获信息,给自己发送邮件。但是在 iOS 上就更惨一些:我几乎每次都需要经历打开邮件客户端,等待启动,新建邮件,填写我自己的邮箱等这一系列步骤,才能开始给自己写邮件。每次重复这些无用的操作十分无趣,而且浪费时间。更麻烦的是,很可能你的操作速度赶不上思考或者和别人的交流速度,导致信息遗漏,甚至是打断思考的流程,这样就更得不偿失。而市面上的现有类似 app 功能都过于简单,且常年不更。所以我决定写一个专门给自己发送邮件的 app,以帮助我更好地实践邮件信息管理。

使用 Mail Me 帮助邮件信息管理

这个 app 叫 Mail Me,顾名思义,它做的事情就是给自己发邮件。我同时使用 Mail Me 和 iOS 的邮件客户端进行了一些测试,想看看这款 app 能为我节省多少时间。

一般编写 - 两倍速

Mail Me 的基本功能很简单,在配置后它将记下你的邮箱。之后你就可以简单地给自己发送邮件,而不必每次再填写自己的邮箱信息了。因为 Mail Me 是一个轻量级的应用,不存在邮箱客户端启动时代收邮件等工作,启动时间一秒不到。在 Mail Me 极简的界面中,你只需要集中精力编写内容,然后轻点发送,就可以给自己发送一封邮件了。一封提醒我下班后买牛奶回家的邮件从打开 app,输入内容,到发送完毕大约花费了我 8 秒时间。

而在系统邮件客户端中,除了等待打开以外,还需要经历输入发送目标,确认空白主题等一系列操作。就算在有收件人自动补全的情况下,在按下发送按钮时,就已经耗时 16 秒。

另外,除了立即发送以外,Mail Me 还支持延时发送。你可以指定一个未来的时间,Mail Me 将帮你预约邮件发送,这样你就能将邮件看作一个待办事项的提醒了。

通知中心发送 - 五倍速

你也许会说,8 秒和 16 秒,又能有多少差距呢?确实,对于上面的情况,Mail Me 带来的速度优势并不足以产生决定性的影响,也许凑合使用系统邮件未尝不可。但是,通常情况下我们的使用场景是从兜里掏出手机,点亮屏幕,解锁手机,找到 app。加上这一系列操作后,可能使用系统邮箱 app 发送一封给自己的邮件就不是 16 秒,而是 30 秒以上了。如果你没有 Touch ID 帮助解锁的话,就还需要先输入手机密码,则整个过程更慢。

那么,我们来看看从锁屏界面开始,发送同样一封邮件,使用 Mail Me 会比原来慢多少呢?

慢多少?开玩笑吧,当然是会更快!实际的结果是,使用 Mail Me 我只花了 7 秒,比打开 app 进行一般编写的情况还要快上 1 秒 (没错就是启动时间)。在这种情况下 (也是我自己最经常使用的情况) Mail Me 要比打开邮件客户端快出 5 倍有余。

使用 Mail Me 可以直接从通知中心进行编写和发送,这对实践邮件信息管理提供了极大的便利。我相信直接在今日挂件里进行操作,真正做到了没有任何干扰,而是完全专注内容。你不需要在一大堆 app 图标里寻找需要的那个,在发送邮件之前也不会有任何多余动作。

另外,通知中心中还支持直接模板发送。如果你有想要多次发送的邮件,大可将其设置为模板,然后一次点击即可进行发送,更加方便。

从其他 app 内发送 - 十倍速以上

对于知识爆炸的现在,如何快速准确收集知识是十分重要的。Mail Me 对笔记和收集的场景当然也进行了一些对应,除了打开 app 和从通知中心发送,Mail Me 支持从其他 app 内直接发送邮件。比如你可以 Safari 里选择一段文字,并快速将文字内容和网页链接发送给自己;你也可以将通讯录里的联系人通过邮件的方式进行备忘。Mail Me 的快速发送支持几乎所有的文本格式,因此你可以在绝大部分带有分享功能的其他 app 中使用 Mail Me 给自己发送邮件。

我现在已经很难想像再用传统的邮件客户端完成这件事情了。我需要经历复制,退出当前 app,打开邮件客户端,新建邮件,输入自己的邮箱,选中文本编辑并长按,粘贴,最后发送这一系列噩梦。如果我想要保留一个出处的链接以供之后参考,我还需要再切回 Safari,复制地址,再切回邮件…大概这么折腾一下以后,当初收集知识的心已经完全被磨灭了吧…

其他的注意事项

单独使用 Mail Me 来进行信息的管理已经可以节省不少时间,不过如果想要发挥这套邮件信息管理的全部潜力,则必须配合合适的邮箱规则。你可以对来自 Mail Me 的邮件进行归类,设置一些关键字或者按邮件标题分到不同的邮箱和邮箱文件夹中。如果你使用的邮箱是像 Gmail 那样拥有强大的索引和搜索功能的话,假以时日,建立一套完整的个人信息管理体制将轻而易举。

另外,在收集之后整理时,善用转发和回复,也可以将还不完善原件进行补充。而使用对话方式呈现的邮件及回复,可以说天然就是带有版本管理和 log 记录的信息流。这也有助于帮你回忆起所收集信息的前因后果。

总之

我花了一段时间尝试用邮件管理知识和待办,觉得很棒,而且现在也坚持在这样做。但是之前自己在 iPhone 上缺一个顺手的工具,所以就花空余时间撸了一个。然后估算了一下节省下来的时间,经过搜索,过去快一年间我大概给自己发送了 2000 封邮件,其中 1100 多个待办,200 多个知识条目,剩下 700 多是杂七杂八的普通邮件。那么,如果使用 Mail Me,相比下来节省的时间至少有 41500 秒 (700 * (16 - 8) + 1100 * (30 - 7) + 200 * (60 - 7)),或者说 11.5 小时。嗯…Mail Me 这个 app 的总开发时间可能都没有 11.5 小时,为什么我没有早一点想到写一个 app 来干这事儿呢。XD

不多说了,你可以在 Mail Me 的官方网站找到一些其他信息,也可以直奔 App Store 免费下载这款应用。如果你对用邮件管理个人信息的方式感兴趣,并且想尝试一下的话,不妨可以试试 Mail Me 这款 app。(我在 app 里“无耻”地加了一个广告和内购,也希望能够把每年的开发者证书钱垫一下。) 另外,我计划在之后拿出一篇博文来简单说说在开发 Mail Me 的过程中值得一提的技术方面的一些小技巧,也欢迎大家继续关注。

那么,是时候给自己发封邮件提醒自己要好好休息一下了。

最近的文章

所有权宣言 - Swift 官方文章 Ownership Manifesto 译文评注版

Swift 团队最近在邮件列表里向社区发了一封邮件,讲述了关于内存所有权方面的一些未来的改变方向。作为上层 API 的使用者来说,我们可能并不需要了解背后所有的事实,但是 Apple 的这封邮件中对 Swift 的值和对象的内存管理进行了很全面的表述,一步步说明了前因后果。如果你想深入学习和了解 Swift 的话,这篇文章是非常棒的参考资料。我尝试翻译了一下全文,并且加上了一些自己的注解。虽然这篇文章比较长,但是如果你想要进阶 Swift 的话,不妨花时间通读全文 (甚至通读全文若干遍)。...…

能工巧匠集继续阅读
更早的文章

Swift 并行编程现状和展望 - async/await 和参与者模式

这篇文章不是针对当前版本 Swift 3 的,而是对预计于 2018 年发布的 Swift 5 的一些特性的猜想。如果两年后我还记得这篇文章,可能会回来更新一波。在此之前,请当作一篇对现代语言并行编程特性的不太严谨科普文来看待。CPU 速度已经很多年没有大的突破了,硬件行业更多地将重点放在多核心技术上,而与之对应,软件中并行编程的概念也越来越重要。如何利用多核心 CPU,以及拥有密集计算单元的 GPU,来进行快速的处理和计算,是很多开发者十分感兴趣的事情。在今年年初 Swift 4 的...…

能工巧匠集继续阅读