背景

Seamless 是一个文件传输应用,除了有原生的 macOS 和 iOS 应用外,还有网页版,可供用户通过使用苹果的 CloudKit 共享文件和文字,无需使用第三方的服务器。

它是我第一个应用,此前也在少数派分享过开发过程,此处不再赘述。本文除了介绍 Seamless 最近的更新外,也想分享一下应用上线大半年后,自己在其中的感悟。

OK JSON

在此次更新前,Seamless 已有半年未有功能上的更新。期间我休息了一个月,之后便开始我的第二个 macOS 应用 OK JSON,供开发者使用的 JSON 格式化工具。

OK JSON 的替代品可谓无数,绝大多数都是免费的网页插件和网站,即使和原生的 macOS 应用横向对比,也有历史更悠久、功能更多的 DevUtils。所以作为付费工具,它并没有太多优势。但它仍然是我很满意的一款作品,简单精致。而且在开发过程中,我学习到不少知识,技术和产品层面上的,这些知识都应用到了 Seamless for Mac 的更新上。

OK JSON 上线后,我根据反馈新增了一些功能。之后便把精力用于更新 Seamless。

更新

Seamless for Mac

1. 使用标签管理文档

当文档数量变多后,就需要更好的管理文档的办法,而手动标签是一种常见方式。事实上这个功能在上线之初就已在 iOS 版本内实现,只是默认隐藏了。

使用标签功能管理文档是一个有效的方式,有些笔记应用甚至只提供标签,不提供文件夹。因为标签在很多时候比文件夹更方便:你可以给一个文档添加多个标签,而一个文档只能在一个文件夹内。

Seamless 的标签除必须的文字外,还可以选择一个 SF Symbol 作为图标,然后设置任意颜色。一个产品应该给予用户一定的外观自定义空间,边栏的图标和颜色就是 Seamless 提供的自定义空间。

在操作上虽不如笔记应用的直接输入然后补全便捷,但也非常有 Mac 风:可以选择多个文档然后拖拽到侧边栏的标签以添加。

但标签也有问题。

一旦数量多了,在长列表内使用肉眼去查找标签并不是一个好体验;标签不体现层级关系;标签需要手动添加。

数量多了后,搜索是解决此类问题的不二法门,Things 的快速查找是一个好例子,大多数的代码编辑器也有这类功能。

有些应用如 Bear,尝试通过多级标签解决层级的问题。让用户能以一定的方式,把相似的标签组织在一起也是个不错的方案。

手动添加这个问题,无法避免。

软件再如何智能,也还没有到读心的程度。但作为开发者,能提供的帮助就是让「打标签」这个行为变得简单。比如你可以在 Seamless 的分享菜单直接添加标签,无需再进入应用内。另外还可以通过智能列表来减少手动分类。

Seamless 的标签功能并不完善,但基于它的定位和现有功能,我们不假设用户会在里面放大量的文档,所以目前的标签管理是够用的。

2. 废纸篓

废纸篓是因用户反馈而来,显然有很多人想在删除文档后再找回。

3. 文档分类

最早的 Seamless 里,文字除了链接和文本外,还有邮箱、电话号码、数字。这次更新移除了邮箱、电话号码和数字分类。这三类文本不再单独归类,会统一划到「文本」类。因为这类的数据并不多见,而且过多的分类反而新增了复杂度。

而添加这些分类的原因是,在我最早的产品构想里,用户在 Mac 上看到了一个电话号码,然后通过「即时传送」把号码保存到 Seamless for Mac,随后 Seamless for iOS 上会推送一个消息,点击消息后即可直接拨打电话。

事实就是真的没人打电话了,而且世界上的电话号码格式千奇百怪,比如中国大陆的十一位手机号码同时也是数字,那应当如何归类此文档呢?

而链接才是真正有用,而且好分类的文字。也是这次更新的重要部分。

4. 链接标题和链接图标;

以往在 Seamless 保存链接时,虽然能将链接归类,然后可以选择在浏览器内打开链接,但也仅此而已。

这次更新后,在保存链接后,Seamless 会自动获取链接标题和图标,然后将标题和图标显示在列表内。

如果你和 《Mac Power Users》的主播一样,认为只要能保存链接的服务,就是稍后读服务。那么 Seamless 在此之后就是一个具有稍后读功能的应用;

假如你比较严格,认为只有支持离线阅读的才是稍后读,那么 Seamless 在此之后就是一个书签应用。

当然,Seamless 和成熟的稍后读或书签应用都有很大的差距,但也优于不少现有的同类应用。

Seamless for iOS

1. Tab Bar 大清扫

原来的 Seamless 的 Tab Bar 有五个项目,这次更新后,移除了「收藏」和「动作」。收藏放在了工具栏上,而动作则放到了设置内。

收藏并不是一个好功能,虽然很多应用都有。因为「收藏」的标准不好定义,而且它可以被标签轻易取代。

而动作配置不是常用操作,还未重要到放到 Tab Bar 内,而且界面上需要对称,必须一次性去掉两个。

2. 在应用内打开链接和在 Safari 内打开链接;

很多应用提供了切换这两个动作的选项,但 Seamless 直接提供了这两个动作,省去打开链接前的选项更改。

3. 移除大量动作。

这次更新移除了许多如搜索、分词、加入到阅读列表等动作。这些都是我臆想的用户需求,经验证无用后移除。

Seamless 闭门造车太久,许多功能是完全无人使用的,甚至连我自己也不使用。

对文件传输应用的思考

跨平台文件传输和分享是有需求的,但如今跨平台已是应用标配,一个简单的文件传输应用的可替代性太强了,如果应用的优势是仅仅比其他应用少点击几次按钮,这是难以为继的。

我把 Seamless 包装成一个文件传输应用,是因为我把它当成一个文件传输应用来做的。但用户虽然看到了「文件传输」这四个字,但使用时却不一定按照文件传输应用去用。

我和一些用户有过邮件交流,他们会和我分享使用场景。

比如 Seamless 支持保存文字,可以在 iOS 内便捷地拷贝文字。于是有些用户就把它当成一个文字片段管理工具使用,保存一些如身份证号码、地址等常用信息。

有些用户则在里面放一些常用图片和 PDF,需要时可以比 Files.app 更快地找到想要的文件。

而我实际上在里面保存最多的是链接。

深夜玩手机时,我经常会看到一些值得阅读的链接,但当下并不想深入研究,于是就会把链接保存到 Seamless,第二天再在电脑上看。我并不需要类似 Instapaper 或 Pocket 的稍后读,我需要的是简单的链接同步。这也是这次更新的根源:更好地管理链接。

未来

围绕着「更好地管理链接」可以做很多事情,但作为我的第一个应用,Seamless 有一些技术决定导致未来的大幅度更新变得不易,比如苹果 CloudKit Scheme 一旦发布后就不能再更改,应用包名也不能再改,如何迁移旧用户的数据等。

功能的新增会带来复杂度的提升,我相信一个简单的文件/链接管理应用还是有很大价值的,所以未来仍然会继续支持新系统,一些必要的功能,如捷径支持,也在计划内。

感兴趣地可以去 App Store 免费下载体验,可一次性付费解锁高级版。

‎Seamless - Sync links & images

5
7