条码加手机,把搬家箱子闭环管理起来

这篇本来我一年半前就该写了,很奇怪,生活就这么慢了下来我也不知道为啥,可能是在等「闭环管理」结束吧。最近想起来了,就介绍一下这个支撑了我自己搬家的一套体系好了。

一年半前搬家的时候,我也不知道自己怎么想的,决定自己一个人搬。我的大件也不多,两张写字桌两个书架一张床垫这样,可能是生活过出了一种实体太累赘的感觉吧。其实我担心的并不是大件这个事情,毕竟小推车租一个也不贵体验也很好,我更担心的是落下东西,于是就产生了这套解决方案。

我的想法是,每一件要搬的东西都贴上条码,起终点的楼上楼下分别扫码标记一下,就不会丢东西了。即便是请别人帮忙搬家,即便只扫两次码,这个体系还是有帮助的吧。

结果还算完成,累是挺累,当时有些惊险的反而是入住手续问题。我花了一个小时冲刺解决完保险,迅速卸货,终于是赶在一天结束之前把车还了。

条码生成

第一步是要把条码打出来。我安排了每页 3×4 = 12 个条码,具体生成用的是 Word 的邮件合并和一个 DisplayBarcode 的域。我一直在说条码而不是超流行的二维码,原因是首先我们也不需要加载太多信息(我条码上只有 202212-01 这样,而不是网址什么的),而且我还挺怀疑二维码的扫描效率怎样,总之 Code128 的条码用下来还可以。

我用的 Word 域代码是这样的,自带条码文本显示,扫不出来也可以手动输入。

  DisplayBarcode {"202212-01" Code128 \t \h 2400 |}

条码旁我还印上了新房的地址和电话,跟行李一样,也免得额外标注联系信息了。另外一个点是我把同样的条码打印了两份,在每个箱子上不同的位置贴了这同样的条码。事实证明对于一些形状比较奇怪的物件,以及箱子堆叠的情况下,这个策略还是给扫码的过程省了不少力气的。

我最后用了 48 个条码,个人建议自然是能多预备一些是一些。此外还要准备的是大的透明胶带,贴着还挺爽的。

需要收集什么信息

说到要扫描记录,那我们自然需要一个数据表了。我最后用到的表包括这么几个部分:

  • 条码 ID(印条码的时候初始化;这部或许可以移到贴条码的时候)
  • 内容物(贴条码的时候输入)
  • 照片(贴条码的时候拍一下方便找箱子,这个还是挺有用的)
  • 五个布尔值字段,一个是贴条扫描,另外四个是四个点位的扫描记录

我当时用了字段的修改时间来记录扫描时间,现在想想,如果记录用的程序对每一条记录的修改有完整的日志,这就已经够了,否则把布尔值替换成实际的操作时间会更合适一点。

手机应用 — Airtable

到了最重要的记录环节。说实话,为这个专门写一个应用,到最后似乎就成了快递专用软件似的。仔细想想,其实还不简单。理想情况下,除了记录的详情页,管理数据应该有一个表格的用户界面,这样初始化条码数据库也容易。然后还得存照片、扫条码。集成起来的成本总之不小。

两年前的我最后用了 Airtable。一个很大的原因是它的手机应用支持扫码搜索记录,自带的修改体验还不算差,所以就凑合用了,还不用造轮子。最近它们也开始搞 Interface Designer 了,然而我看了一眼这个基于网页的功能只支持电脑不支持手机,那再见。

用 Airtable 的一个意外用途是我可以很方便地生成在线的公开链接。我父母最后就靠着这个看了我的搬家直播,还总结出了我搬东西速度直线下降的趋势,现在想想有那么点尴尬。

如果你从来没试用过 Airtable 的话,可以用我的邀请链接注册,我会得到 $10 代金券。这里提到的整个流程免费版就可以满足要求。

但是我想折腾啊 — Retool

说实话,Airtable 毕竟解决的是通用问题,细节优化那肯定是做不到了。如果我想优化每一次扫描的体验,少点几次按钮,但又不想写完整的应用,该怎么办呢?

前阵子我在折腾 Retool 这个所谓的低代码应用开发工具,还是有被惊喜到。虽然有小小的一些排版细节我不大满意,以及操作的延时的确有一些,但基本我想实现的业务逻辑都能实现,而且电脑手机版面都支持,快速做自己偶尔用的工具还是很合算的。他们居然还往网页里塞了一个扫条码的功能,我手机试了试好像也还行,所以非常符合这个要求。

好吧,其实最大的原因是我新手上路也只花了四个小时就把应用搭起来了,相同的时间要我写代码的话我也只能搭一个 GitHub 登录的中间件(大部分的时间用在了安全处理 Cookie 跟调 OAuth API),这个登录限制的功能 Retool 免费版就直接强制实现了。因为应用需要读写数据库,鉴权还是有必要的。

真正动起手来,我还是发现了一些坑的:

  • 要全屏应用方便在手机上用的话没那么容易。首先你需要在地址后面加上 ?_embed=true。 主流手机浏览器现在都是只要没有适配 PWA 就不让生成全屏的主屏幕链接,但至少能把 Retool 自己的导航栏隐藏掉体验就已经好很多了。Retool 似乎把 PWA 的功能藏进了 Retool Mobile,行吧,可能我一开始就得用这个。
  • CURD 虽然容易写,但还是要自己写。我得写一条 SELECT 然后再写好几条 UPDATE 的 SQL,实际还好,但看起来很不优雅。
  • 图片上传没那么容易。这就是 Airtable 类应用帮忙解决了的一大痛点了。Retool 的解决方案似乎只有用类 S3 对象存储或者 GCS 存。我试着强行把图片原数据塞到数据库里,一方面从数组转换到 base64 不是一分钟就能写出来的,另一方面似乎能效有点差,不知道手机默认 7MB 的图撑不撑得住。

但是到最后能极度优化全流程体验的感觉还是很爽的。另外 Retool 现在也可以托管 PostgreSQL,相比于其它数据源来说,我们这个随便存存的用途也够用了,又可以少折腾一些技术细节。

如果想抄作业的话,可以从这里获取我测试用的应用的 JSON 导出。Retool 的学习门槛是有,但相信我,花的这几个小时还算值当。或者留给读者的额外探索点是 Retool Mobile :/

三个小时后的更新:好吧,想抄 Retool Mobile 版的话来这里找应用的 JSON 导出。依然是细节有点难受但基于 React Native 的生产效率又有了提高。

“条码加手机,把搬家箱子闭环管理起来”的一个回复

发表回复

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