↖  客户端软件的轮回..


客户端软件的轮回

2021-06-22 , 2785 , 101 , 146

听音频 🔊 . 看视频 🎦

[编按: 转载于 腾讯微信/ 陈小天 程序人生, 2021-06-15. 原标题为“客户端软件的轮回:更好还是更糟糕?”。]


我刚毕业那会,日常工作使用的主要协作交流工具是 Lotus Notes,或者说 IBM Notes。拿现在时髦的,让投资人肾上腺素飙升的专有名词,可称之为 LCDP/NCDP(Low-Code/No-Code Development Platform),hpaPaaS(High Productivity Application PaaS),aPaas(application platform as a service)—— 后两个读着甚至有股浓浓的咖喱味。


Notes 最大的卖点,也是现在低代码或者无代码平台所鼓吹的,使用简单且功能强大的定制能力。我记得当年从会议室的预定,到经费的审批,到复杂工作流程的处理,都是在 Notes 里完成的,无比方便 —— 我甚至可以查看到我的报销的处理当前被卡在谁身上,停留了多长时间。

在 Notes 里,我的数据都(缓存)在客户端。在我没有网络的时候,即便我无法发送邮件或者提交任何事务,起码我可以浏览我正在处理的各种工作,并且处理之。当重新联网之后,该发的东西会自动发送出去。


后来互联网进入到 web 2.0 时代,庞杂的企业级的客户端软件渐渐被人弃之如敝履。企业们争先 web first,各种企业软件迈着轻盈的步伐,拥抱 web,走上了 SaaS 之路。老迈的 Notes,Microsoft Projects ,Visio,甚至 Office,一个个步履蹒跚。

再往后,移动互联网时代,mobile first。SaaS 们把自己武装到了移动端。在移动端重归客户端软件的过程中,这些厂商意识到,相对于一个实打实的客户端软件,web 的限制实在是太多了:浏览器的沙箱限制住了应用的很多能力:无法存储大容量数据,无法访问文件系统,只能访问有限的设备等等。

而 web 无需安装,可以随时随地使用的优点,在企业内部,并不是一个特别重要的特性:毕竟,每个人都有自己的专属工作设备,很少有需要直接通过 web 访问企业内部的应用。于是乎,electron 这样的包裹了 web 技术栈的跨平台桌面应用框架脱颖而出,使得 SaaS 服务可以保留技术栈不变的情况下,重回桌面客户端的领地。用户不必再记得网址,只需要打开相应的 app,一切就可以工作,多香。

-loading- -loading--loading-



计算机领域就是这样,兜兜转转,绕了一个大圈,人们又回到出发的地方。只不过,时代变了。人们对移动端 app 的响应速度依旧苛责,可对桌面上一个个身躯庞大,反应迟钝,且毫不关心离线体验的 SaaS app 有着极高的容忍度。


UfqiLong

二十年前,我使用纯客户端版本的,仅仅若干兆大小的 MyBase 管理我的个人知识库;二十年后,我在使用上百兆的 Notion。作为一个 SaaS 服务,Notion 除了协作能力非常强大之外,其他能力并没有显著地比二十年前的 MyBase 高多少。

而且因为用户几乎所有操作都需要和服务器交互,客户端的数据仅仅是部分缓存,所以 Notion 不光在响应速度和搜索效率上大大不如 MyBase,还有在离线工作下的巨大缺陷:


一旦我不小心离线,整个软件的表现就像薛定谔的猫一样,在点开一篇内容之前,我不知道可怜的缓存究竟存在还是不存在。我甚至不知道我在编辑器里放入的东西,哪些能工作,哪些不能。比如,在离线模式下,我往文章里拽入一张图片,其结果令人诧异:


好在只要我不离开当前页面,如果恢复上线,图片还是能正常传回去,但离线模式下写作让我有一种莫名的焦虑。而这种焦虑,在 MyBase 里则完全不存在。


甚至,断网后,如果 Notion app 不小心被关闭了,那就甭想再度正常打开,并且,你本地没有传输到服务器的操作,大概率也会丢失(别问我是怎么知道的)。

虽然这个例子里我主要在「黑」Notion,但 slack / figma / clickUp 们,你们谁也别笑谁,大家不过半斤八两,谁也没比谁好多少。不支持离线工作是目前企业级客户端软件们并没有动力去改变的现状 —— 好不容易靠 ARPU 的故事吹起来的估值,你让我回到之前卖 licence 的穷困时光?


我们再看最近融资融的离谱,风头正劲的 clickUp。它是一个灵活的项目协作工具。clickUp 可以方便地使用各种模板组织数据,并且用不同的 view 来观察数据。比如一个团队可以建立一个 workspace,其下可以有若干独立的 space,space 之下可以包含各种 list(每个 list 你可以想象成一个 spreadsheet)。用户可以根据自己的业务来决定 list 里包含什么数据,怎么聚合,查询,处理,用什么样的形式来可视化数据:

clickup.webp


它有各种各样的,还在不断扩展中的模板(所以号称无代码?):


因为它的抽象程度略高一些,似乎可以做很多事情,比如可以取代 jira 做项目管理:


-loading- -loading--loading-


UfqiLong

也可以做文档协作,在某些(极小的)场合下局部取代 google docs / notion:


还可以定制各种 dashboard(不过功能太简单了,稍微进阶一点要让我上 pro):


clickUp 的口号是用一个软件来取代(或者整合)大部分你工作中会用到的软件。这个愿景至少现在我还没有体会到。也许假以时日,它能够达到。但在达到之前,它会不会在产品上把自己做得太繁杂,太庞大,让用户累觉不爱?


clickUp 在离线模式下的表现比 Notion 还要差。它根本没有考虑离线工作的方式。只要断网,最基本的操作都无法完成(尽管 clickUp 提示说在 offline 下可以创建 task),比如切换 view,比如打开一个 task:


甚至,当切换到有网络的情况下,clickUp 也无法恢复,除非重启 app。所以我几乎可以笃定,clickUp 的客户端 app 真的就是 web 上套了一层皮而已。

同样的,我也不是在「黑」clickUp。我对它的基本表现还算满意,也把越来越多的家庭事物切换到 clickUp 上,尝试和体验它的功能。我只是觉得可惜,这个思路不错的产品,不要倒在过于平庸的 engineering 上。


我对 SaaS 软件的愿景

二十一世纪已经过去了二十一个年头。桌面设备的单核运算能力,虽然在过去的十多年来一直停滞不前,但一个 CPU 下的核心数越来越多,很多人的工作本上已经是 16 核的海量运算能力。如今的网络速度,传输数 G 的文件,也就是几分钟的事情,所以,很多瞄准了企业级协作效率的工具可以做得远比现在要好,我期望:


客户端软件可以真正做到数据的 local first,云端的数据更像是一个数据的超集或者备份。

当数据 local first 后,对数据的各种操作(聚合,过滤,查询等)都可以利用本地 CPU 的强悍性能直接处理,而无需跨过网络。


协同工作,对公司(组织,团队等)内部的人员来说,由权限系统以及要同时处理某一个文档或者数据的 N 个人(设备)之间的可信共识(比如 raft concensus)处理即可 —— 这应该是绝大多数的使用场景;如果参与者不可信,可以考虑使用不可信共识(比如 BFT consensus)。


如果能进一步,刨除服务器(或者服务器仅仅做备份的功用),完全去中心化,那将更加美妙,不过在资本市场这个故事很难讲好(需要新的估值模型)。



+软件 +数据 +协作 +服务器 +企业级

本页Url

↖回首页 +当前续 +尾续 +修订 +评论✍️


👍5 仁智互见 👎0
  • 还没有评论. → +评论
  • -loading- -loading- -loading-


    🔗 连载目录

    🤖 智能推荐

    + 白沟 白沟
    AddToFav   
    新闻 经典 官宣