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

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

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

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

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

条码生成

第一步是要把条码打出来。我安排了每页 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 的生产效率又有了提高。

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

发表回复

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

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)