Tweetbot 的每次更新都是应用圈儿的一场狂欢,它属于那几个每次大版本更新都会被各大互联网媒体报道的出自于独立开发者之手的应用之一。作为连 Apple 的高管 Phil Schiller 都在使用这款 Twitter 的第三方客户端,它何以如此特别?

《生活大爆炸》里 Penny 对 Leonard 说过一句「You have destroyed my ability to tolerate idiots.」1这是指,在结识 Leonard 以后,她意识到了曾交往过的荒唐男友们有多烂。她对男人的鉴定基准再也降不到那个地步了。类似的,Tweetbot 也有这样抬高你对 App 的鉴定基准的能力。用过了 Tweetbot 你就会有能力屏蔽一批不值得在上面浪费时间的应用,要么你能一眼就能判断出那些是做工粗糙的,要么你能判断出虽然那些 App 的开发者看似绞尽脑汁想提出新的交互方式,但因为并不符合设计规范所以不会好用。

Tweetbot 是最好的 Twitter 客户端是不客观的,毕竟官方客户端独占了不少新功能的 API,第三方客户端里还有鲜艳活泼的 Twitterrific,哪个好哪个不好主要是看用户的个人需求以及因之产生的主观判断。对我来说,Tweetbot 满足了我对一个 Twitter 客户端的所有期待,而且常让我感到惊喜。

规范

Tweetbot 从始至终坚持在主界面使用底栏导航:

底栏导航的优势在于逻辑清晰,减少操作量。Tweetbot 底栏的操作是互不干扰的,这样我们就完全可以分别进行 Timeline 阅读 / 列表阅读2 以及搜索。互不干涉进程,还可一键切换。

与此相对的是 Twitterrific 的顶栏+汉堡菜单的混合操作方式。Twitterrific 把 Timeline / At / 私信放在了主界面的顶部3,然后把 搜索 / 付费升级 / 已保存的搜索 / 列表等各不相关的东西全塞进了汉堡菜单,这样你除了阅读私信和 At,都得跳出正在读的 Timeline 去做,而且得按两下:一下打开汉堡菜单,一下打开相应功能。

除了阅览信息的主界面,Tweetbot 还有一个设置界面。这个界面的形式在几代的微调后,在如今的 Tweetbot 4 中与 iOS 本身的设置体验几乎一致:以列表形式体现、左边显示为项目右边显示为目前预设项、直接为二选一的选项提供开关等……

与此相较,Twitterrific 的设置选项的设计便显得复杂。首先它将设置选项分为了两部分,界面个性化部分和功能部分。个性化部分使用的是抽象的图标,由于不提供预览而是采用直接作用到时间线,有的修改很难直接看到效果4;功能部分它倒是用回了文字,但目前的预设项并没有显示出来,所以你不知道目前的设置是否是符合你需求的,你得都进去看一眼才行。

Tweetbot 只有主界面和设计界面两个主要的界面,不用想也不用猜功能,直接拿起来就懂怎么用。会用 iOS 你就会用 Tweetbot,而这似乎一直都是 Tweetbot 的追求。

灵便

或许有人会觉得一个和原生系统感觉相近意味着死板,但使用 Tweetbot 会让你意识到未必如此。Tweetbot 的开发者就不是个循规蹈矩的人儿,每次苹果开 WWDC 或者新品发布会,妙语连珠地吐槽的人群中一定有他。当别人问他 Tweetbot 什么时候支持 Apple Watch 的时候,他表示「那是啥玩意儿?从没听说过。」

这样的人手里绝不会出一个仅仅做到本分的应用。

在 Tweetbot 3 以后,就像我们在 iOS 上快速地切换输入法一样,底部导航栏后两个标签可以通过滑动来进行切换。

发现它的时候是因为我是这种交互方式的忠实拥趸:手指按下菜单弹出,滑动到目的选项,手指离开屏幕选中。滑动这个操作可以给肌肉一个距离感,这种距离感比用眼睛看要来的精确,久而久之就生出了肌肉记忆,上面的描述看似是三个操作,熟练了就成为了一个操作。这也是我特别喜欢 Launch Center Pro 的原因之一。

在动画效果方面 Tweetbot 从来也不死板,Tweetbot 3 以后的动画更可以说是俏皮:

发现它是因为我在浏览多个图片的时候不小心的时候搓了一下图,结果它就朝着那个方向飞了,我想感受过这个动效的人已经不会好好儿的认真点图让它缩回去了吧,我们会故意甩飞图片,心里可能还会配一句「走你~」

另一个惊喜是长按转发或头像来进行多账户间的切换,非常适合多个账户来回使用的人:

墨客快速切换用户的方法是长按 Profile 标签页,这就不如 Tweetbot 的设计那么容易让人联想,毕竟我们常做的是以按头像来切账户。

这样的细节还有很多,比如说快捷切换白天/黑夜主题的手势和动画效果等等。这些细节或是实用或是有趣,关键是,我们最初对这款应用并没有抱着这种期待,当我们抱着试试的态度,看看那些我们习惯的操作是否能够应用到 Tweetbot 上的时候,它完成的都出奇地好。

效率

我是 URL Schemes 的爱用者,是否支持 URL Schemes 以及支持得是否规范完整是我在同类应用中进行选择的重要参考标准之一。可能会有人有疑问一个社交 App 你要 URL Schemes 干吗?我个人有很多原因,但在下面只提一个情境:快速查看列表。

我初期使用 Twitter 的时候关注了一些科技媒体的官方账户,但这些账户更新太频繁,追推的压力太大。后来发现 Twitter 里不用关注也能把对方放进列表时长舒一口气,直接将两者分开放,平时刷 Timeline,需要获取消息时刷新闻。除此之外列表还可以有其它使用情景,比如就有人跟我说过「在地铁刷推,刷着刷着 Timeline 里划出来个裸女,很尴尬」这位朋友完全可以把这些让你尴尬的帐户放到列表嘛。

总之,看 Timeline 是闲散时打开 Twitter 的主要目的,而看列表则是满足各种特殊需求。对于这样的需求,能少按几下直达它自然是最好,这时候自然会想到 URL Schemes。

在 Tweetbot 中,调用某个列表的 URL Schemes 是:

tweetbot:///list/<list_id>

三角括号 <> 中的是变量,如果你只用一个账户的话,可以把 screenname 省去——但后面的 / 不能省——来表示使用当前账户查看列表:

tweetbot:///list/<list_id>

list_id 是列表的 ID,每个列表都有一个独一无二的 ID,这个 ID 可以在 Twitter 列表页面用审查元素的方法来查。

除此之外,不仅是列表,Tweetbot 对 URL Schemes 是各个(包括官方)客户端里最系统最完整的5,应该可以满足 Poweruser 们的各种刁钻需求。

Tweetbot 4

作为一个大版本更新6,Tweetbot 4 首先弥补了 Tweetbot 3 没有 iPad 版客户端的遗憾,直接推出了通用版的应用 。同时在 Tweetbot 3 的基础上利用了 Twitter 的 API 以及 iOS 9 的新特性增加了不少新功能。除此之外还有着大量的细节更新,其中有纯视觉的改变——我们不会在章中提及——也有随着界的调整产的交互上的变化。

不只是视觉效果

大版本更新如果没有相应的视觉元素的变化,就会让人难以感到版本升级的新鲜感,难以满足预期所以设计师和开发者无论如何是要进行些视觉上的改变的,或是随着 iOS 的风格变化大变身,或是仅将蓝的地方改成黑的不过不论视觉上怎么去改,Tweetbot 的操作逻辑及后续影响一直没有太大的变化

比如 Tweetbot 3 中,推文细节界面的回复是向上延伸的,这样是不符合我们从上到下的浏览习惯,二是会在开始给屏幕底部留下一片空白到了 Tweetbot 4,这个设计被修正了,变成了更加自然的向下延伸:

再来看编写界面中插入图片的处理方法。Tweetbot 3 使用的是当时流行的「选择最后一张图片」的设计思路,但到了 Tweetbot 4 就从 iMessages 中偷师,使用了同样的预览的手法,不仅做到了更直观地选择最后一张图片,选择其它图片也更快,还可以一次选择多张图片。

最后再举一个查看个人页面 (Profile) 的例子Tweetbot 4 的个人页面将元素进行了重排,把 Follow/Follower 和 Tweets/Listed 区别显示,同时在个人页面里显示出该用户的原创推,这让你更容易知道,你现在浏览的个人页面的所有者在社交网站上大概是个什么风格同时,如果你时间线中,有个陌生的话被你关注的人转载了,你点他的头像进入这个陌生人的个人页面后会发现他的个人页面中有个 Common FollowersCommon Followers 显示的是那些你关注了的同时也在关注你现在在看着的这个人。比如你关注了 ABCDE,其中 ABC 都关注了 F,这样你点开 F 的主页,就会在 Common Followers 下面看到 ABC 这三个人的头像。

这个功能的实用性在于你能很快地知道这个被转发的、说话好像还有点儿意思的人和你的交集是什么,从而让判断「他是不是值得你关注」这件事变得容易。

这些视觉元素的修改都是伴随着它的实用意义的尤其是从个人页面的变化中我们能够感受到 Tapbot 团队对社交的理解:看原创推文能让你对对方快速形成第一印象,而 Common Followers 可以直接看出你们之间的联系

Stats & Activity

Twitter 的官方客户端在一两年前就有个功能叫 Notifications,在客户端中它的位置代替了传统的 @,可以看到最近跟你互动的所有消息,包括回复、转推、收藏以及谁 Fo 了你。这个 Twitter 内部的信息中心很实用,但 Tweetbot 3 迟迟没有添加,我一直很介意。Tweetbot 4 终于带着它来了,而且一如既往地完成得超乎预期。

在大家升级过之后对这个功能的反应是最明显的,晒新客户端的时候也都是使用的这个界面的截图。Activity 对应的是官方的 Notification 部分,而官方采用的设计则是将回复显示为一种表现方式,关注 / 收藏 / Retweet 显示为一种表现方式,引用显示为另一种表现方式。虽然采用这三种方式可能提高了辨识度,但也造成了视觉上的混乱。Tweetbot 则对不同的状态使用了不同的角标,同时采取一致的表现方式——同样的大小和同样的位置——这种表现方式明显让人更感到匀称整洁。

Tweetbot 不光是使用 Activity 界面显示每条具体的互动,它在这方面还延伸出了统计的功能 Stats,来统计用户整体的互动程度和每条原创推文的互动程度。

如果这界面没了这个折线图一定会平庸许多,图片比数字直观,用一个折线图去体现一个账户的活跃度要比通过一组数字来展示更加高明。不仅如此,在这个折线图中,你看不到纵轴的数值,它的基准是上周最活跃的那条推7,所以如果你的互动率不高,这个图的走势会一直向下。

在 Stats 的界面中,当你进入每条推文的详细界面,除了正常的元素以外,还可以看到该推文的 Quotes (引用量)。Quotes 经过 Twitter 的改革,已经更像微博的转发,它的数量也变得易于统计了。但除了 Tweetbot 还没有统计单条推文的 Quotes 的8

我们使用社交网络都是期待互动的,而从 Stats & Activity 这个界面中我们就可以获得关于推文的各项数据和互动情况。

Safari View Controller

Safari View Controller 是 iOS 9 的新特性。在从前,为了减少跳转,App 的内置浏览器可以说是软需求中的硬需求。同类软件,有无内置浏览器跟可能是造成人们决定用哪一款的关键因素。而且因为当时的设计风格是拟物设计,允许各种风格,所以内置浏览器还必须符合整体设计风格。内置浏览器如果不好好设计,整个 App 就会显得非常地糙。除此之外,根据应用的不同,内置浏览器还需要有各种功能,比如发送链接到稍后读,发送文章到 Evernote 等等。

在 iOS 7 的扁平设计背景下,内置浏览器的设计就简单了。到了 iOS 9,开发者可以直接使用 Safari View Controller,由于它可以直接利用 Sharesheet 中的部件,进一步地减少了开发者的工作量。

Tweetbot 这么 iOS 的客户端,使用 Safari View Controller 并不稀奇但是对于 Tweetbot, Safari View Controller 倒也可说是种损失Tweetbot 2 的列表标签其实只能看和编辑该列表的成员, 而不能查看列表的推文界面,从 3 开始列表标签才真正具备了信息流的功能,也因为有了这样的进化,你可以做到多进程的内容获取,两者互不不涉可以快速切换再加上特制的内置浏览器,Tweetbot 3 中你可以做到在列表中打开一个网页,在等待读取时切到 Timeline,过会切回列表时网页已经加载好了在那里等着你由于 Tweetbot 4 用了 Safari View Controller,现在就只用全屏打开网页了

在大屏幕上的表现

Tweetoot 3 没有推出 iPad 版,这可以说是所有 Tweetbot 用户的遗憾。我因此尝试投靠其它客户端,但 Twitter 客户端这东西粘性很大,习惯了一种风格,就难以切换到另一种风格。而如果 iPhone 上用的是 Tweetbot 3 而 iPad 上用的是其它客户端的时候,会感到非常煎熬。所以当看到 Tweetbot 4 是一款通用 App 的时候,我对它 9.99 刀的价格没有产生任何抵触(何况我还是半价买的)。

针对 iPad 的设计

对于经常读 32 开大小的书的人来说,iPad mini 是苹果发布的最适合他们阅读的设备。这个大小的书可以做到一手拿书,一手拿笔,那么在 iPad mini 的尺寸上——因为它的轻薄——我们可以进一步的尽量用一只手来进行阅读以及一些简单的操作。

所以当一个以阅读运动为主的应用能够做到能单手进行相关操作的话,在阅读时的体验就能更好。在这方面,最典型的应用是 Unread,它唤出菜单的方式是拖拽的,每条菜单项目以横幅的方式跨屏幕左右两端,点这条横幅上的每一个点都可以激活相应功能。这一来大部分操作都可以用单手来完成了。

在单手操作方面 Tweetbot 4 明显也做考虑,把菜单从底部移动移动到了左边,相比之下你很难单手触及官方客户端和 Twitterrific 的全部主要菜单。

双栏显示

当进入到 iPad Air 的尺寸,我们已经不会使用单手操作了,就个人来说,在这个尺寸我会把 iPad 横着架在外接键盘来使用。这时候的亮处就在于横屏时的双栏操作。

左边为主栏,右边比较窄的为辅栏。双栏之间的操作互不干扰,切换主栏的内容可以直接使用导航栏中的标签,而切换辅栏则可以点辅栏的名称位置,你可以看到一个下拉菜单,里面写着你可以切换些什么。

我们看到这个辅栏并不能获得所有主栏里的标签,它可以查看的内容有状态(Activity + Stats + Mentions)、列表、已存搜索。这是可以理解的,因为辅栏再出个导航菜单的话会很难设计。

双栏显示基本上满足了我在 Mac 上使用 Tweetbot 上的需求——左边 Timeline 右边 News List(这种浏览模式在有关于科技的大事件——比如苹果发布会——的时候尤为有用),而且双栏显示同样支持 iPhone 6 Plus 和 6s Plus,可以让我在有必要的时候在手机上也能同时追 Timeline 跟新闻。

Split View

苹果在 iPad 上提供了同时运行两个 App 的办法——Split View,它有两种不同的模式:50/50 和 75/25,数字代表 App 的占屏比例,在这两种不同的模式下,一个 App 可以占屏的比例分别为 25%、50%、75%。在 iPad 上,Tweetbot 在 75% 的状态下,导航栏是正常出现在侧边的,在另外两种比例下,导航栏是出现在底部的,像是拉长版的 iPhone App。

Twitter 客户端能够分屏显示很实用,比如看发布会的时候,你可以左边 75% 屏幕看发布会,右边用 25% 屏看推上的各类吐槽。另外,我会把来不及处理的推文收藏起来,把收藏当成作为 Inbox,有时间了把收藏了的推文放到该放的位置:该下载的软件放到任务管理软件里、该看的页面放到书签 App 里、可以当写作素材的留下写的时候可以也拉出 Tweetbot 看看。

支持外接键盘快捷键

iPad 的两极评价要比 iPhone 严重许多,用不上的人是怎么都觉得它没用,用得着它的人则经常过誉,称之完全可以胜任个人办公云云。我不属于两个极端的任何一派,我只是经常使用 iPad Air 写东西。所以我使用 iPad Air 多是在横屏状态下,放到键盘上。习惯使用键盘的人都会有的一个操作上的小习惯:你摸到键盘,就会不自觉地去使用那些熟悉的快捷键。如果一个你在 Mac 上习惯用快捷键的 App 在 iPad 上不支持快捷键的话是非常泼凉水的,但 Tweetbot 不是一款会泼你凉水的 App。

3D Touch

Tweetbot 4 在发布后的第一次更新增加了对 3D Touch 的支持,默认了三个通道——Show ActivityTweet Last PhotoTweet。查看近况、发布消息,大概是我们使用社交网络会使用的最频繁的功能。与此相比,Twitter 的官方客户端提供的通道是 新私信新推文搜索。相信对于大多数人来说搜索和私信不会比最近消息和发送上一张图更为常用,我甚至觉得 Tapbot 是在经过统计之后才选择了这几个通道。

结语

一般长篇测评都要写不足的,但我对 Tweetbot 实在没什么可抱怨的。唯一一点大概是不支持 1Password,但事实是这也是 iOS 的问题,在 iOS 9.2 的 beta 版本中 1Password 可以正常出现在 Safari View Controller 之中了9

有的人觉得 Tweetbot 更费流量,我猜这问题可能出现在图片读取上。Tweetbot 可以直接显示来自 Instagram 等服务的图片,而 Twitter 则部分需要通过点击链接以后才能读取,这并不是特别公平的比较。

官方客户端在独有的 API 上有一些优势,但那些对我来说皆非刚需,而且它从始至终不提供多客户端同步 Timeline 的功能,这一击就能让我彻底放弃这个客户端。Twitterrific 是一款每次更新我都会去看看的客户端,有时候它对新功能的支持要比 Tweetbot 还迅速,但是通过前文的对比,相信你也理解了它虽然长于视觉设计,但在交互设计上有不少缺陷,用的时候总会让你皱眉。

而与之相对的是 Tweetbot 的 Easy to use, full of surprises. 兼具规范和灵便,还针对 Poweruser 提供了完备的 URL Schemes。从功能上和设计上,它都随着 iOS 的进化而进化,在合适的时间推出合适的功能。同时,Tweetbot4 再一次表现出了 Tapbot 团队对不同尺寸的屏幕上应该如何设计社交工具的理解,而且很明显地高过官方客户端在 iPad 上的「横竖都一样」式的设计,也高过 Twitterrific 在不同尺寸上的「大小都一样」的理解。

能在使用 iOS 初期接触到 Tweetbot 是我的运气,如文首所说,它教会了我一个好的应用的体验是什么样的。同时,在我对 iOS 和 iOS 上的应用的需求和追求不断加深的时候,这款应用也从来没让我失望,反而仍是时不时地指点着我,让我知道「原来还可以这样」。每个人都在使用 iOS 的过程中会总结出自己的一套判断应用优劣的标准,但总有些应用会刷高这个标准的上限,Tweetbot 就属于这种应用。


目前 Tweetbot 4 for iOS 仍在五折限时促销中,售价 30 元,你可以在 App Store 下载。


  1. 生活大爆炸 S03E23。 ↩︎
  2. 比如你自己在 Twitter 建立的与 Apple 相关的新闻列表。 ↩︎
  3. Twitterrific 在最近的更新里,把顶栏中的 At 标签变为了和 Tweetbot 后两个底栏标签一样可以进行一定范围内的自定义。但很明显,这是个妥协解,还是不能从根本上解决已知的问题。 ↩︎
  4. 比如说时间线里没图,这时修改图片的大小就很难显示出效果。 ↩︎
  5. Tweetbot URL Schemes 官方文档 ↩︎
  6. 「大版本更新」一般意为应用或软件的版本号的个位数发生改变。一般版本号可以这样读:百分位的变化是修复 Bug,十分位的变化是增加一些功能,个位数的变化就是大版本更新包含了整个功能结构的提升和界面的改变。但是这并不是硬性的,所以见到其它奇怪的版本号也正常。 ↩︎
  7. 作者在推上自己说的这个机制。 ↩︎
  8. Quote 有两种方式:一种是直接把对方的内容加上引号,或者前面加上 「RT「,然后附上自己想说的话,形成一条新的属于自己的推文。这样可以让看到这条推文的人读懂上下文。另一种是复制原文链接,然后在自己的看法后面附上原推链接。但由于推特后面的链接一直以来可以是很多东西,所以后一种方法一直不太被用到。而前一种方法也有个致命问题:太容易超过 Twitter 的 140 字限制,以至于不能好好地说出自己想说的东西。Twitter 结合两者优点,主要改良了附上原推链接的那种方法:让推文链接可以形成一个卡片,这样看到 Quote 的人就知道以前有一条推,也能在卡片内概览一下转发的推文的内容,按卡片也可以跳转到老的推文。这个形式已经更像是微博的转发了。 ↩︎
  9. 详情可以看这条推文↩︎