我是这样看待 TestFlight 测试的:专访独立开发者 waylybaye

无相浏览器熊猫吃短信HyperAppPing... 这些来自独立开发者 waylybaye 的作品无一不在设计和功能方面都非常具有想法,并且用户体验也足够优秀。

此外,waylybaye 对独立开发者的发展等方面也有独到的看法,来跟 Price Tag 一起看看吧。

介绍一下你和你的作品

大家好,我是 Baye,目前是一名全职的独立开发者。我的职业生涯中大部分时间都在远程工作,我很喜欢这种自由的工作方式,现在正在试图通过独立开发的方式把这种自由延续下去。

我去年主要在做 HyperApp 的开发,但是就像某位长者说的,个人的奋斗也要看历史的进程,在被某次进程绊倒后我开始尝试在大众领域进行创新。我目前主要有以下作品:

  • 无相:可以将网页转换成原生 App 的浏览器,致力于提升部分网站的浏览体验。
  • 熊猫吃短信:基于机器学习的垃圾短信过滤工具。我在几年间收到了几万条短信,我用它们训练了一个模型,来对付未来的垃圾短信。
  • HyperApp: 在服务器上安装应用一直是一个要求很高的事,HyperApp 提供了一个图形化的界面,让用户在手机上就可以一键安装常见的应用以及配置网站,同时还是一个 SSH 终端。(由于能快速安装一些不能说的东西,HyperApp 已在中国区被勒令下架)
  • Cloud Speed: VPS 测速工具,可以帮助你选择速度最快的云服务器。
  • Hyper Ping: Linux 服务器监测工具,可以实时监测系统的运行状态。

你为什么会想到要开发无相浏览器这样一款工具,跟我们介绍一下无相有哪些特色功能吧

我开始做 iOS 开发的时候,意识到其实 App 开发和网站开发具有几乎相同的结构,我就会想如果能自动把网站转换成一个 App 也是一件很酷的事。从这个起点出发,我想了很多可能性,比如为站长提供一个工具让他们方便把自己网站「编译」成小程序或者 App,但企业市场这块实在是太麻烦。我就反向思考了下,做了个能够把网站原生化的浏览器。

「把网站变成 App 」 就是 无相浏览器 的独有功能了,在这之前你可能也听说过类似的工具,但都是网页套了一个浏览器的壳(WebView),本质还是网页。无相与这些工具不同的是它能深度解析网页的结构,然后用自己的渲染引擎将其显示成原生的 UI。

1.jpeg

无相主打让用户拥有更优质的网页浏览和阅读使用体验,你在移动和桌面平台的阅读需求有什么不同?无相之后有没有打算出 Mac 版?

我其实在桌面平台基本没有深度阅读的需求,需要我长时间阅读的内容我会推送到便携设备上找大段的时间细细的看。Mac 版目前没有计划,下一步会优先考虑 Android 版本。但不排除未来可能会全平台化。

能不能跟我们透露一下无相浏览器之后的开发计划,会有哪些新功能?

我目前在尝试直播开发进度,我在 Notion 上面列出了我几乎所有的 开发计划,每天都会实时更新,如果你够无聊或是时间刚刚好,你甚至可以看到我在页面上打字或者拖来拖去:

2.jpeg

上面的列表很长,概括一下来说主要就是:

  • 持续性的 UI 和交互改进。坦白说这一块并不是我的强项,我是技术出身,所以我会更加注重技术创新,我产品的设计都是在迭代中演进的,所以这块的改动会贯彻整个产品周期。
  • 更加灵活和智能的渲染引擎。无相的本质是类似微信小程序的一个平台,不过它只能配置不可编程,所以我将来会提供更多的内置组件,以及为了降低网站适配难度,会提供一些较为智能点的辅助工具。

你开发的垃圾短信拦截工具熊猫浏览器同样非常受欢迎,在市面上已经有许多同类工具的情况下你为什么会想到使用机器学习技术开发这么一款工具?

我当时在做 NLP 相关的其它东西,有一天突然想到垃圾短信其实是一个完美的机器学习应用场景,因为它只要做分类这一件事就好。于是我就马上从我手机备份里面导出了祖传的几万条短信,开始了熊猫吃短信的模型训练,在得到较为正向的反馈后我就将其产品化了。

虽然市面上已有了很多工具,但大厂的 App 冗余功能太多了,有种买一送十的感觉。其它的工具大都需要手动创建规则,这是一个非常繁琐又低效的过程。而机器学习恰恰可以轻松的解决这个问题。

使用了机器学习技术的熊猫吃短信与市面上传统的短信拦截工具有什么不同,优势在哪里?

传统的短信拦截需要自定义规则,用某个关键词出现与否来判断是否是垃圾短信,这个其实是个很不准确的判断方法。熊猫的样本库中可以轻易的找出反例来。比如有很多种正常短信会带「退订」也会有很多垃圾短信会包含「验证码」。

熊猫的样本库中可以提炼出来 3 万条词组,其中对结果有影响的有 8 千多条(很多词语比如 「我们」、「其实」、「当然」等 是不影响判定结果的)。熊猫不会因为有「退订」就将一条短信判定为垃圾短信,而是综合考虑这8千多个词语的组合情况来做出判断的。

比如「退订」和「公积金」「到账」同时出现更有可能是被判定为正常短信,「公积金」和「贷款」同时出现就可能被判定为垃圾短信。

你之前将因为喜欢抢先体验应用新功能而不停参加 TestFlight 测试的用户戏称为 TFBoys,简单跟大家介绍一下 TestFlight 吧,说说你如何看待「TFBoys」的这种行为?

TestFlight 是苹果提供的一种可以让用户参与测试的 App 分发工具。一般来说我会把 TF 用作测试用途。

对于因为喜欢抢先体验新功能而参加 TF 测试的用户,我个人认为是「高质量的 TF 用户」,其中乐于反馈问题的我认为是「超棒的TF用户」,我很乐意邀请这两者参与测试。

对于想得到一个 App 免费使用权而参与测试的,我觉得是「无意义的测试者」,他们的参与对开发者改进 App 几乎没有任何帮助。

作为开发者,你希望通过 TestFlight 测试获得用户哪一方面的反馈,用户应该如何提供反馈才会对开发者起到实质性的帮助?

App 主体功能使用反馈,比如可能帮助产品变得更好的产品意见,以及最基础的发现及解决 bug。

设备兼容性反馈,由于各种 iOS 版本以及机型的并存,可能会有一些意想不到的 bug,TF 是非常有效的发现这些潜在问题的手段。

用户其实可能不太能分辨哪些反馈会提供有效的帮助,我个人的喜好是多多益善,凡是反馈邮件我都会查看,并尽可能的一一回复。

还有一部分人因为不想花钱购买应用而频繁申请各种应用的 TestFlight 测试资格,你如何看待这部分用户?你赞成通过验证是否购买过应用为他们提供 TestFlight 测试资格吗,这会不会影响到付费用户的使用体验?

这部分用户如果能积极的提供反馈意见的话,我觉得是可以为其提供 TF 资格的。是否验证购买要看具体情况吧,我一般短期的测试不会验证购买,但只会提供某几个版本的下载。需要验证购买的是长期的测试资格。TestFlight 允许给测试者分组,这就可以针对不同组的人提供不同的应用版本。

另外关于 TestFlight 的问题,我在播客 Checked 第 55 期 中有聊得比较多,如果感兴趣也可以听一下。

除了上述 2 款作品,你的作品 HyperAppPing 在设计和想法方面也都非常出色以及独特,对于 App 的选题方面你是如何考量的,在 App 的设计和功能方面你是怎么进行权衡的?

由于我一个人要做所有开发和设计的工作,所以就限制了我只能做工具类这种不需要技术以外工作的产品。选题时我会避免重复造轮子并且在技术角度做出创新,比如 HyperApp无相浏览器都是原创性的想法,熊猫吃短信也是使用完全不一样的技术来做同一件事。我不会说通过设计和交互的改进去重新做一个「更优质」的同类产品出来,因为这真不是我的强项。

我的技术背景对我影响很大,我早期的技术栈是偏向后端与大数据这块的,移动开发和设计是近两年才点亮的技能。所以我的产品大都有点「跨界」的味道,HyperApp 是我做自动化部署工作的经验总结,熊猫吃短信是我在机器学习领域向移动开发的延伸,而无相和我的 Web 开发经验有关。我未来可能会做的下一个想法也直接脱胎于我在大数据方面的技能积累。

设计和功能互为表里,两者都是不可或缺的,他们就像我的左右手 —— 只不过我是右撇子。所以能力会影响取舍,我在功能方面可以事半功倍,设计方面可能有点相反。

作为独立开发者,你的收入状况如何,方便透露吗?独立开发者应该如何推广自己的作品?

收入很不稳定,平均来说是不到我几年前工资的一半吧。我其实很不擅长推广,我一般只会在产品发布时通过有限的渠道发布一下文章,后面则一直靠用户口口相传。

但我最近打算改变下策略,把推广真正地纳入计划中,分配固定的时间来做。其实我也想反问下独立开发者该如何推广自己的作品 😂

分享一下你的主屏,介绍几个对你重要的 App

3.jpeg

首先是我自己的 HyperApp 啦,我目前无相和其它 App 的后端服务器我都是用它管理的,我写完代码后会打包成 Docker,然后通过 HyperApp 一键部署到服务器上,HyperApp 会自动完成一些很繁琐的事情,比如自动配置 Nginx 以及生成 SSL 证书等等。还能检测服务器以及服务进程的运行状态、资源占用,方便的部署新版本等。

Telegram 是占据我非常多时间的应用,我用它来维护用户关系以及瞎聊天。

抖音:我无聊的时候会刷着玩,上面有很多有意思的视频,有不少都能触发我的灵感,当然最多的还是「哈哈哈哈」。我最佩服的还是它的算法。

Things 会当做待办事项来用,GTD 这一套我其实一直没能实践下来……

我们还能在哪里关注到你和你作品的动态