Here
2,571 字
前言
我是个有强迫症的人,而且它经常来得莫名其妙。学生时代的我老希望自己留下的痕迹越少越好,所以我拒绝拍照,删掉了全部的朋友圈。我曾经记账很久,但是后来老觉得用的记账软件不舒服,我觉得不能接受,就删除了全部的记录。类似的案例还有我不满意高德,然后注销了账号,丢了很多年来留下的轨迹和收藏夹。这些行为看起来很莫名其妙。也让我感到抓狂,但还好,它有在变好。
从 24 年毕业之后,我逐渐保留了一些痕迹,记下了离开北京后边远程工作边从北旅行到南的过程、记下了去年单人床车自驾五千公里去川西的过程、也完整记录下了最近国庆前往东北的旅程。趁着 25 年元旦,新的开始,我恢复了记账的习惯并坚持到现在。我逐渐开始和朋友/同学/同事/网友在社交平台分享我的旅行,一起交流约饭。我开始变成一个地图爱好者,并在地图上标下一个个点、一条条线。我开始给和我朝夕相处的数码产品留下记录,并惊讶地发现它们陪伴了我那么久。
事情需要改变了
在我积累了足够多的数据之后,我开始想要构建我自己的人生记录系统,而不是让它们散落在备忘录、相册、社交平台、一生足迹(轨迹记录)、iCost(记账)等软件里面。
这一切开始于国庆的旅程,我尝试了使用手机拍照留下记录,并及时在当天把内容发布到全部的平台。在回来之后,我让 AI 帮我制作出这段旅程在地图上的回放轨迹,并不断完善丰富。然后我就开始 Yak Shaving。搜集更多旅程/丰富旅程相关的信息->制作更好的旅程展示效果->补充行车信息/消费信息->纠正历史记录的错误(比如发生时间)->制作年度回顾。至此,我已经觉得我获得了我想要的整理展示效果了。但是记录却好像还很麻烦?
在外面的话,最方便获得到的还是手机,所以我的记录都留在了发布到的社交平台。你需要在成百上千张照片中选择你喜欢的照片,配上文字,手动发布。一个平台还好,但如果你为了数据和内容创作不被平台限制,你可能会想要发布到多个平台,这简直就是噩梦。然后平台不允许你自定义发布时间,所以你无法让内容被设置成准确的发生时间,除非你真的是随手拍随手发。最后你一般无法发布原始尺寸的图片或者视频,这就意味着,你回来整理的话,要么用平台处理后的素材,要么再重新整理一波内容。这快要摧毁我记录并分享的热情。写一个 app 已经迫在眉睫了!
第一版的 app 我不需要它有很好的浏览体验,只需要记录好我选择的照片,留下的简短感想,留下定位和时间信息,并方便地分享到平台就好。这听起来像是个无聊的表单应用,不是吗?我想让它更方便有趣一点。所以我把额外的信息都尽可能做成可以推断获得的。图片本身可以提供时间和定位(如果是手机的话),发布的时候可以自动定位/从地图分享地点。
发布的话,根据平台支持程度的不同,我设计了不同级别。Telegram 为代表的 API 开放平台,通过发布的 webhook,自动同步。X 为代表的 app 开放平台,通过携带图片和文字打开软件的编辑页来发布。小红书为代表的 app 半开放平台使用无障碍自动填写发布。以微信为代表的残废平台,使用创建单独的分享相册和复制文案的方式来减缓发布的痛苦(更 hack 可能被封号,想想还是算了)。
还可以更多
如果要记录的是只有图片和文案,事情或许可以到此为止了,但我还想要更多。首先,不是什么事情都值得用一条 moment 来记录,但是它可以作为补充信息,帮我想起那些未被记录的瞬间。比如,那天我为什么东西花了多少钱,车子开了多远,走的哪条路。所以我尝试整合更多功能。同时,当你提供更多信息给 AI,它可以帮你更好地整理生活和旅程。
iCost 是我用了两年的记账软件,我十分喜欢。所以我软件中的记账功能,基于我实际使用产生的数据并完善我觉得不顺手的地方。比如,iCost 没有办法在账单列表页展示全部账本的数据,只能单独选择账本。同样的,它的自动记账功能,也会陷入只匹配已选择账本的分享的情况,导致经常需要手动编辑。再有就是受限于不 hack 的情况下,它无法像支持 iPhone 的侧键一样,支持我 OPPO 的侧键。但是我自己的软件,自己的手机就很简单了。只需要用无线 adb 来监测侧键的单击,双击,长按事件就好。甚至你还可以区分场景来实现不同的操作。
这样我就 build 了最适合我自己的记账软件。或许这个时代,你真的不需要选择更成熟的软件,而是可以从零开始 build 最适合你自己的软件,没有任何一行多余的代码。
一生足迹是我唯一用过的轨迹记录软件。但是我真的觉得它的自动启停做的一般,页面也不好看,没有坚持用下去。我的旅程轨迹是使用导航的数据来做的,缺点就是真实性一般,然后也没办法很细致地知道具体时间在什么位置(如果没有照片的 GPS 数据的话)。此外,记录轨迹数据似乎是很有价值的,我可以用它来识别停留点、知道消费发生在什么位置,而无需给账单设计定位记录功能(整合系统的优势出现了啊,有木有)。
我对于轨迹记录有如下要求,无感的自动启停、后台省电、记录状态识别、方便地手动控制(启停或者调整精度)。为此,我尝试安卓提供的运动识别 API,而不总是调用 GPS 来识别。但这个 API 几乎不可用,最后还是通过让 AI 分析我的实际轨迹,优化 GPS 的工作模式来做。我设计了 Wi-Fi 和蓝牙的场景识别,这样在我最长时间呆的家里我可以确保它肯定不在工作。我还利用 live activity 灵动岛的 API,来让我可以在使用手机的时候,识别到它有没有符合我的预期处于对的省电/记录状态。再一次贯彻 build what you want 的方针。
用车数据可以从汽车的 app 中导出,极氪的不仅记录的少(没有轨迹数据),导出还麻烦。只能写个脚本用 adb 按月导出了。但作为补充数据价值很高,帮我纠正了很多历史旅程。

展示也可以更好
这些宝贵的数据都有了,你很难不想在手机上浏览一下!我设计了以时间线和地图两种视图为核心的展示,完全适配了横屏的体验,让自己经常把玩一下。


由于我们数据类型很多,所以它不能是简单的 timeline 展示形式,我把它做成了聊天对话的形式。日常触发的在左边,自己的 moment 在右边。地图的话则没有太多可以聊的,基本上是你现在在网页上所看到的展示简化版,只是你可以看到你本地记录的轨迹。是的,我划分了一下 public 和 private 的数据,毕竟你肯定不想毫无隐私。



网站这边我也利用新的数据更新了很多页面。比如为了配合我的用车数据,我找了个车的 3D 模型,做了点自认为炫酷的动画。旅途回放做了 3D 模式和侧栏滚动播放。地图的迷雾模式来展示自己对于地球的探索范围。更完善更多连接的 moment 展示浏览体验。按年统计的年度回顾数据展示。等等等等。
后面呢
虽然我总说,我们都应该自己去 build 自己需要的软件,这在 AI 时代或许是最正确的做法。但我还是希望自己的软件能找到需求相似的人并成功推广。现在适配新的数据、整合新的功能的成本几乎为零。如果你有和我相近的需求,我很欢迎你和我交流,我很乐于在 Here 的基础上改造让它适用于你。它目前的数据结构就做了插件化的设计,除了时间地点这样的核心数据,其它的都是插件。所以它应该很容易可以扩展记录你的健身数据、饮食分析。
目前它是可以自部署的单 server 单人应用,它不会变成一个 cloud 多人应用,但未来我们或许可以把不同的实例按照人与人的关系链接起来。来做更多更有趣的设计。
Fun fact,Here 的 app icon 设计来源于我同事的一只猫,它叫馒头。