PFollow | 最长情的告白
这篇博客我不知道怎么下手,写了删,删了写,因为时间跨度太长了,我变了,世界也变了,周围的一切都变了,但在每一次深夜思考人生,反思自己的过去和畅想未来时,总觉得有一个东西我一直舍不得丢弃,就是 PFollow,一切的来源都是这个七年前的个人项目,我想仔细的告诉你,我和她发生的一切,我对她的感情。
起源
PFollow 的开源版本是从 2018 年 8 月 12 日的第一次提交开始算的,差不多七年前的记忆确实很模糊了,但还记得这个项目的起源是暑假和女朋友进行了一次重庆-青海-西安的十日游,那是我第一次去到祖国的大西北地区,看到了高原、雪山、青海湖和油菜花,前所未有的感官体验冲击着我的全部,回到学校后很想做点除了写博客之外的事情去完整的记录下这次独一无二的旅行,遂想到要不然写一个方便旅行途中记录所思所想所感的 app 吧!这就是 PFollow 的起源。
仔细看了下 commit 记录,从第一次 8 月 12 日的提交到最后一次 9 月 8 日的提交前后总共花费了将近一个月的时间,包括产品设计、UI 制作和工程实现,那一个月现在回想起来确实很爽,但那时的自己应该还是在滴滴实习,所以依旧只能用每天晚上下班回到宿舍和周末的时间来完成,还记得写到后面已经有点烦躁了,因为当初的计划就是把 PFollow 按照上线的标准来要求自己的,很多 UI 和交互细节可能两三天都在调,越写越烦躁,感觉没有个头,永无止境的,所以眼看马上就到一个月了,赶紧打断,逼着自己一个月内必须 release。
当初想做这个产品的出发点很简单,与上文说的相同,就是想自己做一个产品来记录旅行中的感受,但最后没有发布想法也很简单,首先当时的自己还是太“技术”了,没有往“产品”上靠,总觉得自己一身技术走天下,并且也认为,还是得去大公司,做大的产品锻炼下自己,独立开发者只是个“标签”,暂时不要“实现”。这个想法确实也没错,如果现在的我能够回到过去给那时的自己一个大逼兜子就好了,我会告诉那时的自己“大人!时代变了!”。其次是那会儿已经“自负盈亏”了,开始实习后就不再找家里拿生活费,但一下子拿出 688 元去买一个开发者账号是万万不能的,否则就要重新开口找家里拿生活费了,现在想起这事只能一笑了之,真的不知道那时的自己到底在倔强什么。
总之那会的自己很多想法都被现在看起来有点可笑的现实问题给作茧自缚了,只能说人是有局限性的,只有到达了下一个阶段后才能看清上一个阶段的自己到底有哪些不足。学生时代的自己确实已经做到了当时认知下的极大值了,如果现在让我再重新走一次,还真不一定能比当时做出更多更好的选择,回头路没必要,活在当下吧。
历程
一直到开始工作了一两年后,迷上公路自行车这项运动,包括后来的越野跑,我每次得以脱离固定的形制流程时,都会或多或少的想起我还有一个未完成的产品可以满足当下记录的冲动,不管是疫情时全北京漫山遍野的奔跑,还是疫情后开始迈向全国甚至全世界的探索,都无时无刻不在提醒我,如果能够记录下这一刻的美好就更好了。尤其是有好几次分享我都主动的谈到了这个产品,说“这是我第一次转变为具有完整独立产品思维阶段的开山之作”,言下之意就是我对这个产品有很深的感情,还一直惦记着它,也一直在找机会去重构、去完善它。
在 2023 年 7 月 6 日的那一天,我开始重新思考如何用当下的变化结合自己最新的想法去把它给推倒重来,变得更现代化一些。再加上我知道自己“三分热度”这个臭毛病,可能工作一忙或者这个状态丢失了,下一次再重新捡起来很有可能又是几个月后了,所以在那天新建了一个飞书文档,想通过互联网的力量或者小伙伴们、朋友们的力量来监督我催促我逼迫我来完成它,避免再次出现虎头蛇尾的状态。
然而,这个事情它确实是虎头,蛇尾还在努力的不让它出现。在文档里我相对系统的阐述了目前市场上具备类似功能的竞品有哪些、优点和缺点分别是什么、用户在使用过程中最想要的是什么等等环节,现在重新回过头去看确实还有很多收获,当时也确实是在好好的重新规划这件事。特别有意思的是,当时我最看好的一个产品 exping,甚至认为它就是 PFollow 的另一个化身,现如今已经关停了,就连官网也无法打开,知道它关停的消息时我还冒出过收购这个产品,拿去继续按照我的思路来迭代的疯狂想法。exping 的开发者只说了是有营收压力,但具体是不是这个原因我认为应该不是,只能期待他们的下一个作品了!
在 PFollow 的飞书文档中,除了常规的产品分析外还加了一个“阶段成果”,当初想的是每当有阶段性成果时就把截图或者录屏贴上去,并说明清楚到底实现了什么。今天重新再打开这个飞书文档,真的是差点让自己流下两行老泪。最近几年确实很容易动情,尤其是一看到这些文档上的时间点就感觉有种时空上的对话,虽然也就是一两年前,但这些文档上的阶段性成果就是自己无数个周末和下班后的深夜里一点点折腾出来的,如果不是因为这些截图、录屏和文字可能我的脑子里早已忘却曾经的努力。
你可以看到这份飞书文档大概在去年 5 月份,到了迁移到 iOS app 这个环节就停止更新了,很大原因是北京的天气好了,我开始疯狂的骑车和出去旅行了。而到了最近,则是去年 11 月开始我下定决心购入了 apple Vision Pro 后再次逼着自己去思考和实现产品,在去年年末的最后两个月时间里过的非常充实,把所有的历史 app 都重新更新推上架了,甚至还开了两个全新的 app,其中一个还是在 Vision Pro 上的,我对自己那段时间的状态非常满意。清理掉所有当时的新增想法后,有了一段空闲时间,人哪,一到空闲时间了就很容易胡思乱想。是的,我又记起来自己还有个襁褓之中的 PFollow 还没有完成,但这个产品跨度实在是太长了,好几次都是鼓起勇气却不知该怎么下手。
但好在后来习惯了 Cursor 的协助,让我彻底转变了开发思路。以往的我总是不停的在产品设计和功能实现间反复横跳,因为可能你有了一个很好的点子,但却要实现一整天,导致到最后才发现路子走错了,经历过几次这种情况后,人的整个状态很容易就被击溃了。习惯了 AI Copilot 开发流程后,我变成了一个经理的角色,前面的思路和流程都没有变化,但在需要不断的尝试做出 MVP 过程所耗费的时间大大缩小了。我完全可以让 Cursor 实现一个基本可运行的框架,初步尝试某一个功能想法运行起来后是否符合我最初的设想,如果符合,那就在 Curosr 生成代码的基础上继续精雕细琢,否则就不停的尝试,切换 Prompt 生成不同的实现方案,直到我认可或者不认可这个功能想法,极大的缩减了开发时间,极大的降低了我对 PFollow 这个老项目继续迭代付出的精力。
从上周到昨天都在实现 PFollow 新版的标签点“浏览”功能,昨天下午已经提交给 apple 做 testflight 版本测试了,应该在下周一或者周二左右就可以给到大家试用。基于地点的照片浏览功能,现在的 iOS 系统版本中已经做到了,而且体验还算不错,但不是我想要的,可以说 apple 把标签点改为小点展示在地图上,可能都没有 PFollow 什么事了。现在系统相册中的照片聚合点太宽泛了,地图缩放等级最大时无法直观的看出自己到底去过哪些地方,而 PFollow 中可以非常直观的通过选择“最近”、“一年内”、“更早”和“全部”四种类型把照片和时间联系起来展示在地图上。每次看到自己在祖国大陆上去过的这些地方,展示出来的标签点时,我会有一种“徐霞客”的感觉。
而对于照片的浏览,我一直觉得 iOS 18 系统相册的交互体验非常差劲,我不清楚这会不会奠定了未来 iOS 系统交互的变更,但就目前而言在 iOS 18 上的系统相册真的不行。在 PFollow 中我原本是想跳过思考这个问题的,因为我认为照片的浏览这件事对于操作系统来说解决它是一件非常容易的事情,反而开发者不管如何设计和调优最终效果都不如系统自带来的好。从这两年相册类 app 逐渐消逝也可以从侧面说明这件事,不是开发者做不好相册,而是用户有天然的不置信,毕竟相册是个非常隐私的数据。
所以在 PFollow 上我对照片的浏览是强耦合标签点的,地图上的标签点只有单一数据源,就是相册照片。如果某一个标签点对应的照片被删了,那么切回到 PFollow 中这个标签点也就不复存在了,不存储任何的用户数据,只是给到用户另外一种呈现日积月累的照片数据。因此,在浏览照片这件事上 PFollow 非常克制,既不能全部看完所有照片,也不能对其进行修改,因为这都是系统相册该去做的事情,要理性的选择不做什么,而不是什么都做。PFollow 就是要给用户一个强烈的认知,你来用 PFollow 就只是想看下自己最近去过的地方甚至是一年里去过的地方,这就足够了。
至于“一键记录”这件从 PFollow 诞生之初就写入产品 DNA 里的事情我还在思考,因为想要支持用户仅需按下一个按钮就可以自动的、全方位的记录下周围所有的数据,这么多年过去了依旧是一个非常困难的事情,我还在思考具体的产品思路,不想做太重也不想让用户不知所云。开源版本中所实现的那套逻辑我认为是比较初级的,虽然做到了自动记录下了当前位置点的海拔、天气、风速、风向,但除了这些客观因素外能和这个人当下状态结合起来的事情还没有做,比如是否可以自动录制 3s 语音,未来再回过头用 PFollow 看这张照片时,这样就可以给用户一个小惊喜,突然发现是有声音的!但仔细一想,这不就是 Live Photo 吗?我还有必要再用自己的思路实现一遍吗?就算要实现,会做得比 Live Photo 好吗?这些问题如果是七年前的我确实根本不会考虑的,管你是谁,来了也得叫爹。
所以咧,如果你对记录这件事也有想法的话,并且还愿意分享,请一定一定在任何时间任何地点只要你想,都可以直接找我进行交流,因为这件事如果我现在不想现在不做,可能老了以后我依旧会在纠结为什么当初年轻的时候不再努一把,去挤破头的思考下这件事。
而从昨天晚上去北京喜剧院看唐香玉的脱口秀拼盘时,也在玩 PFollow,突然想到虽然现在“记录”的能力远没有“浏览”功能想的这么彻底,但可以稍微简单一些,直接对照片本身进行“隐写”。直接把对这张照片想说的话直接写到照片里,不需要做任何额外的存储,写完后导出即可分享给其他人,不管以后过了多少年,只要这张照片一直存在,那“隐写”进去的文字就会一直活着,这样 PFollow 存在的意义也就更上一层楼。
昨晚回到家后我立马着手实现照片“隐写”功能,哐哐一顿干到了凌晨两点半,总算是彻底实现了 MVP 版本的“隐写”功能。在产品交互和 UI 设计上还需要进一步打磨,让“隐写”这个过程更加神秘、有趣,等到 PFollow 的 1.0 版本发布时,我会带上这个功能的,希望你能喜欢!
但就目前提交给 apple 进行 testflight 审核的版本仅具备非常基础的历史照片标签点“浏览”功能,算是基本完成七年前的我对 PFollow 这个产品定义的基础也是最核心的功能之一。我还在继续思考如何把每个人手机里几千甚至几万张的照片避免随着时间的流逝变为数字灰尘,但通过一个工具型产品去思考确实不是一件容易的事情,对于以前的我来说很难,对于现在的我来说也难。
总结
在当初北信科健翔桥校区的学四公寓楼里提交最后一次 commit 后,我每一次记起它、提起它,都会去回味当初的自己是怎么得出的这个想法,如何去设计这个产品,怎么一个人吭哧吭哧在宿舍里折腾出来到现在我都觉得非常神奇的白云迷雾转场效果。这篇博客主要是起个头,铺垫下历史背景,未来每一次大的版本迭代都会尽可能的去表达清楚自己的思考,毕竟这才是我真正想做的 app。
时间过去了这么久,其实从心情层面出发已经很平淡了。换句话说,不管其他人如何认定或划分这个产品,我都一直认为它对于我的意义是不一样的,是举足轻重的。市面上起起伏伏了很多类似的产品,但都好像昙花一现般一去不复返,我也不能要求 PFollow 做到多好,最主要的原因还是要给七年前的自己一个交代。如果说那时的自己因为时间、金钱和技术水平这些问题而实现了一个半成品,那么现在的我完全具备解决这些问题的能力,所以希望自己可以在当下这个时间点重新回答好这个题目,再一次重考,希望至少可以拿到及格分。
这何尝不是一个最长情的告白呢~
testFlight 测试链接:https://testflight.apple.com/join/Ewj689zy