决定做久存网的时候,我手上没有现成的团队,也没有先做一套漂亮的规划。事情很直接:先把能存住东西这个最基本的需求跑通,其他的往后放。
那段时间我在绵阳,白天忙别的事,晚上回到出租屋就对着电脑改代码。第一版几乎是我自己一行一行敲出来的。屋里条件简单,一张桌子,一台用了几年的笔记本,显示器接了外接屏。常常是吃完饭坐下来,一抬头半夜了。现在回头看,界面朴素,功能也少,很多地方写得并不成熟。但它确实是从一间小屋里长出来的,不是从一份商业方案里长出来的。
参考现成产品也看过一些,但记忆保存这件事,市面上能直接照搬的不多。网盘管的是文件存取,社交产品管的是人和人互动,没有一个是冲着"把一个人的私人记录安安稳稳放很多年"去做的。所以很多逻辑得自己想:用户进来之后先存什么,内容怎么分类,多年以后回来按什么找。没有现成模板套,只能边写边琢磨普通人到底会留下哪些东西。
技术上我没有追新。选了一套成熟的PHP建站系统做二次开发,后台目录按惯例放在manage下面。之所以这么选,是因为这种存档类的产品,稳定比新潮重要。框架新不新、概念响不响,对用户来说没有意义。他关心的是今天传上去的照片,下个月、几年后还能不能正常打开。这套底子扛得住长期跑,就够了。
最初要解决的问题其实很琐碎。用户注册之后,资料怎么落库;图片上传之后怎么压缩、怎么留原图;不同格式的文件怎么归类;个人空间里的内容彼此怎么隔开,谁也看不到谁。这些事没有一件听起来有多大,但每一件都得亲手抠过。哪一个字段设计得不对,后面改起来就是一连串麻烦。
记得有一阵子卡在图片上传上。手机拍的照片动辄好几M,一次传一组,慢不说,存储也吃不消。我白天查资料,晚上调压缩比例和尺寸,反复试。图压得太狠,清晰度掉了;不压,加载又慢。来来回回改了好几版,才定下一个折中方案:页面上的预览图压缩,原图另外留着。这种细节,外人看不到,可它直接决定用户存进去的东西拿出来时是不是原样。
出租屋里干活有个特点,出错只能自己扛。半夜某个页面报个错,就得去翻日志,定位是哪段逻辑出了问题。没有同事可以商量,也没有人替你兜底。当时觉得累,现在想,这种亲手把每一块都捋过一遍的经历,反而是好事。产品哪里结实、哪里薄弱,我心里有数,不是听别人汇报来的。
第一版上线的时候,我没觉得它有多像样。功能就那么几样:写点东西,存些照片,放一段记录。页面也谈不上设计感。但有几条原则,从第一天写代码时就定下来了。用户存进来的内容属于用户,平台不拿来做别的用途;东西放进去之后,不能因为几个月没登录就被清掉;格式上尽量用通用的,不绑死在某一种容易过时的文件类型上。这些原则后来陆陆续续加了功能,也没有动摇过。
慢慢的,一些具体的存放场景被补了进来。两个人的对话和合照放进爱情空间;一家人的旧事、长辈的口述、族谱一样的家庭资料,整理成久存百科;日常的碎念有说说;家里的开销单独记账;自己攒的文档和资料收进资源库。模块是一个个长出来的,不是一开始就规划满的。哪个场景有人真的需要,再往哪添。
中间也走过弯路。有些功能看着热闹,做进去才发现没人用,后来又一点点拿掉。我慢慢接受了一件事:这个产品不需要把所有存储相关的需求都覆盖到,先把跟记忆、跟长期保存有关的那部分做好就行。摊子铺大了,反而顾不上把每样东西存稳。
常有人问,做一个这样的网站,最难的是什么。不是写代码,也不是搭框架。最难的是耐得住,把一件慢事一点点做扎实。第一版粗糙没关系,怕的是方向上先飘了。我们从出租屋那版开始,认准的就是存东西这件事本身,至于增长快不快、故事好不好讲,一直排在后面。
现在再打开最早那版留下来的代码,能看出不少当时的生涩。但底子是那个底子。
