素盐诞生记:我们花了两周,踩过了这些坑

做天使一号的经验告诉我们一件事:一个APP功能越贪,到最后越难收拾。

所以做素盐之前,我们先坐下来把边界划清楚了——就做两件事:聊天和朋友圈。不多,不加,不往里硬塞。

后来的事实证明,这个决定救了我们。

第一版:骨架搭起来

v1.1 上线的时候,我们只有一个目标:让聊天能跑起来。

选了一个微信的视觉风格,底部导航,单页沉浸,全屏手势——看起来像那么回事。但骨架和功能是分两次做的,架构和界面之间留下了缝隙,这个隐患后来折腾了我们很久。

第一版发布之后,我跟胡哥说:基础有了,接下来就是修。

朋友圈:加上去才知道有多难

聊天能跑了,下一步是朋友圈。

v1.2 的时候把朋友圈功能接了进去,发现一个很现实的问题:AI角色发的朋友圈,评论要AI来写。

这看起来是一个小功能,实际上背后串着三套逻辑:发圈 → 展示 → 评论触发 → AI生成 → 写入本地数据。中间任何一个环节出错,体验就断了。

修了很久才让它跑顺。

沉浸感:代价很大的一个版本

v1.3 做了手势沉浸式优化,想让整个界面看起来更干净。

代价是:为了实现那个"没有状态栏"的效果,我们写了大量浏览器特有的hack代码,在不同机型的WebView里表现不一致。有些机子动画流畅,有些直接跳帧。

后来又花了一个版本(v1.5)把手势回退逻辑修了回来——那些hack代码删掉一半,才稳住了。

五项修复:一个晚上赶出来的版本

v1.6 是我们印象最深的一个版本。

那一次,我们一口气修了五个问题:
* 全屏手势在某些场景下失效
* 图标从Font Awesome换成了内联SVG,渲染位置对不上
* 表情弹窗在键盘弹出时错位
* 朋友圈发布按钮点完没反应
* 键盘弹出时机不对,把输入框顶出屏幕

五个问题看起来都不大,但全挤在一起的时候,根本不知道从哪下手。最后是胡哥坐镇,一个个对,一个个过,才在一个晚上把 v1.6 推了出来。

崩溃:一个字段缺失引发的血案

v1.8 是被一个很蠢的问题逼出来的。

老用户升级之后,APP直接崩溃。报错信息指向一个字段不存在。

查了半天,发现是旧存档里缺了一个后来新增的字段——TypeError。这是典型的"向后兼容"问题,新增字段的时候没有给默认值,老存档一读就炸。

加了一个字段容错处理,v1.8 才把这个坑填上。

架构重构:代价最大的那一次

到 v2.0 的时候,app.js 已经是一个庞然大物了——和各种历史遗留的逻辑混在一起,牵一发而动全身。

那次重构的根因是:app.js 的状态管理和HTML的界面结构之间,有一层一直没理顺的对接逻辑。每次加新功能就像在旧墙上刷新漆,刷着刷着墙就裂了。

v2.0 做的,就是把底层逻辑重新对齐一次。代价很大,但做完之后稳定性明显好了很多。

这大概就是天使一号的教训:在5000行代码上硬加功能,体验会很差。我们记着这个教训,所以在素盐上选择了提前重构,而不是继续糊。

旧角色兼容:差点漏掉的一个细节

v2.1 之前,v1.9 是一个过渡版本,专门修旧角色兼容问题。

起因是:我们做新版本的时候改了角色数据的结构,老角色(天使一号时期创建的苏晚和沈沐妍)读不进来。用户看到的角色头像还在,但点进去之后一片空白。

这个问题只有老用户会遇到,但我们觉得不能放着不管。最后加了一个数据规范化函数,把所有旧格式的角色数据统一转成新格式,才解决了这个问题。

v2.1:算是交卷了

v2.1 是我们目前最满意的一个版本。

主要改进是:朋友圈发布加了 try-catch 保护,下拉刷新改成了微信风格的手势逻辑。这两个功能看起来不复杂,但改完之后整个使用体验顺了很多。

至少现在,我们敢说这个APP是"能用的"了。

写在最后

两周,十几个版本,无数次"这不对——查一下——修好了吗——好像又有问题"。

做素盐的过程没什么浪漫的,就是一个字:磨。

但磨出来了,就是磨出来了。

v2.1 不是终点。它只是证明了一件事:我们知道自己要做什么,也知道什么不能做。

接下来的事情,是让更多人用到它,然后继续磨。

---
素盐,一个聚焦聊天的AI陪伴APP。

发布者:胡也,转载请注明出处:https://www.biiiiii.com/3369.html

(0)
打赏 微信扫一扫 微信扫一扫
胡也的头像胡也svip
上一篇 5天前
下一篇 2022年5月15日 下午7:14

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注