Skip to content

Latest commit

 

History

History
72 lines (41 loc) · 7.76 KB

pin-26.md

File metadata and controls

72 lines (41 loc) · 7.76 KB

Pin 2.6 版本的妥协与进化

前言

Pin - 剪贴板扩展是我在去年 10 月份开始开发的一个项目,这近一年来得到过不少朋友的支持,也要感谢 AppSo 对其多次的报道。在 Apple 发布 iOS 10 之后,我重新思考过这个产品,甚至有过放弃这个产品的想法,不过在反反复复推敲之后还是决定对这个产品继续维护下去。本文是我以开发者的角度对 Pin 的 2.6 版本进行一些想法上的交代,权当一个故事。

妥协

iOS 10 发生了许多变化,这其中有一些对于 Pin 而言是不好的。我思来想去大概有以下这么几点:

  • Universal Clipboard
  • Widgets 使用成本增加
  • 系统设置相关 URL Scheme 被去除
  • Safari View Controller 在插件中被禁止

苹果推出的 Universal Clipboard 十分好用,这一点作为一个剪贴板工具的开发者必须承认,不会有一个人在多端数据同步方面做得比苹果更好。Universal Clipboard 整个使用体验是完全无感知的,当你在 iOS 端复制一个内容之后,到 macOS 上面直接粘贴,这个时候会直接粘贴上去。这个体验是跨端剪贴板能到达的极限,也兑现了多年前家里复制、公司粘贴的段子。但是苹果也做的并不完美,最重要的一个问题是,目前的体验来看,同步过程卡顿十分严重,甚至可以说害了第三方应用。不管怎么样,有了 Universal Clipboard,Pin 在剪贴板方面应该会更专注剪贴板历史这个概念,同时之后增强文本格式方面的体验。

这里有个小技巧可以分享一下,Universal Clipboard 是支持同步图片的,但却不支持 GIF。你可以在 macOS 的浏览器上复制 GIF 的链接,然后打开 Pin 的抓图,Pin 会直接把图片下载到手机上,从而实现了同步 GIF 的效果。

Widgets 使用成本的增加这一点大家应该都已经体会到了,在 iOS 10 通知中心的设计里面,下拉永远先展示通知中心,需要再滑动一下才能看到 Widgets。这小小的一步之遥其实给效率类软件增加了很多困扰,对于效率软件而言,操作每多一步都是实用性巨大的下降。当然,看待这个问题不应该过于悲观,也许 iOS 10 上面第三方 apps 可以在推送通知方面找到新的作为。

对于系统相关 URL Schemes 被去除这件事情,从 iOS 10 Beta 版本发布以来就一直困扰着我。我几乎每天都要收到各种各样关于打不开系统设置的反馈,除了表示无奈以外并没有其他的办法。我估计导致这个事情的根本原因有三个可能:

  • 出于安全的考虑
  • 苹果要推进 3D Touch
  • 苹果要推进 Siri

不管怎么样这个事情已成定局了,Pin 在最新版里面,对于 iOS 10 设备已经去掉了这部分的 URL Schemes,以免用户对其造成误解。

其实最让我难受的是第四点,Safari View Controller 在插件中显示不出来。长期以来 Pin 有一个创新的举动就是可以在通知中心和键盘等处直接浏览网页,并且使用 Safari View Controller 让其具有最好的浏览体验。现在 Pin 在预览方面不得不使用了体验没有那么好的 WebView,因为通知中心上面是不能直接滚动网页的,所以我对其做了一些定制化,使用户在通知中心浏览网页的时候也可以滚动网页、前进后退等。这是一个权衡的结果,目前的效果也尚可接受。

有一点比较奇怪,Safari View Controller 在通知中心键盘都不能使用,但是在 Action Extension 里面却依然可以使用。

进化

事物总有两面性,上帝关上一扇门,同时也会为你打开一扇窗。Pin 在新版里面还是有一些进步的,这些进步有些是 iOS 变化带来的福利,有些是重新梳理产品的结果,大概集中在这么几个方面:

  • 通知中心几个插件合并成一个
  • 解决了通知中心按钮反应过于灵敏的问题
  • 通知中心支持了发微博、保存备忘录等操作
  • 网页截图功能支持了裁剪图片
  • 分词功能支持了保留标点符号选项

其中第一点是最值得拿来说的,也是我为其花掉时间最多的部分。使用过 Pin 的朋友可能知道,Pin 在通知中心制作了 4 个插件,分别是:剪贴板动作预览分词,这实在是太多太乱了。这次趁着 iOS 10 通知中心的改造,我花了一些时间把他们合并成了一个,并且保证了之前绝大部分的体验没有被砍掉。可以说虽然现在的版本并不很好,但也是经过了一些思考的。

首先的一个任务是把剪贴板和动作结合在一起,这其实是 Pin 的核心:基于剪贴板数据的效率工具。这一步我想的是在剪贴板列表下方增加一个动作列表。这样的话当用户在剪贴板列表切换选中的条目之后,可以在动作列表里面选择不同的动作来执行。

然后对于预览和分词,其实是同一层次的逻辑,他们都是对于某个选定文本的操作。所以他们被归纳到一个操作条上面,点击之后都会展开一个新的面板。所以现在 Pin 的剪贴板条目一共有 4 种操作:预览分词置顶删除,最后的效果看起来是这样:

image

image

image

最后就是切换本地/云端的部分,以及顶部翻页的按钮。对了,Pin 的 Widgets 也支持 iOS 10 的折叠模式,在这种模式下非常简洁,会固定展示两行剪贴板内容,以及一行动作。

image

在 Pin 以前的版本里面,被吐槽最多的莫过于通知中心操作过于灵敏,经常在滑动的时候就误触的动作然后跳到别的地方去了。这一点在 Pin 的新版里面已经得到改善,误操作的几率已经大大降低。

Pin 在新版里面支持在通知中心输入文字,包括保存备忘录、发微博、发 Twitter 等等,这一点是 iOS 10 之后才有的好处。Pin 早期的版本里面,虽然也支持在通知中心保存备忘录,但是只能保存剪贴板的内容。现在已经支持打字了,你可以复制一张图片之后,立刻在通知中心发出微博:

image

Pin 支持一些扩展功能,例如抓图网页截图,在 2.6 版本里面,也对反馈较多的网页截图进行了优化。以前只能对网页整个截图下来,保存到相册的图片由于过大甚至会导致相册崩溃。现在好了,点击截图之后直接对其进行裁剪。当然你也不能对过于长的网页进行截屏,否则崩溃的就是 Pin 了(逃。

分词,也是 Pin 的一个特色功能,他的目的是选中大段的文本之后可以快速的将其切割成小段,对中文里面选择英文尤其有用。以前 Pin 的分词会把标点符号都给丢掉,现在的版本里面提供了一个选项,可以让你在分词过程中保留标点。

结语

以上就是 Pin 2.6 版本中的一些变化和过程中的一些思考,希望大家能够喜欢新的版本。Pin 作为一个诞生快一年的个人 Side Project,我因为兴趣爱好个人投入了不少精力。Pin 是一个充斥着我个人想法的产品,在这一年的过程中得到了很多支持和鼓励,也感谢很多给 Pin 捐赠过的朋友,以及 AppSo 的关注。这次更新应该是一个新的开始,日后也陆陆续续会有新的想法在上面实现,我希望能走的更远一点。