周一晚上,空教室。
测试周进入了第二周。白板上的反馈列表已经换了一张新的,旧的那张写得密密麻麻,被林讯收起来放进了文件夹里——他说这是讯联科技的第一份历史档案。
新白板上只写了三行字:
“本周目标:稳定现有功能”
“下周目标:启动第一批推广”
“月底目标:用户突破100人”
苏晚宁站在白板前看了好一会儿,转过身来问林讯:“一百个用户,是不是定得太低了?”
林讯坐在椅子上,手里转着笔:“第一版产品,一百个用户不算低。我们要的不是数量,是质量。一百个真正爱用的人,比一千个下完就删的人有价值。”
“可是推广总要做的吧,”苏晚宁坐回自己的位置,“光靠我们三个人拉人,拉到下学期也拉不到一百个。”
“所以今天我们要讨论的就是推广计划。”
林讯站起来,走到白板前,拿笔在空白处画了几个圈。
“推广分三步走。第一步,种子用户。就是赵宇飞他们这样的,主动想用、用了愿意提意见的人。这一步我们已经有了,十一个人,够了。”
他在第一个圈里打了个勾。
“第二步,校园内推广。等产品稳定了,我们开始在学校里做推广。不是发传单那种——那种没用。我们要用产品本身来拉人。”
苏晚宁歪了歪头:“产品本身怎么拉人?”
“举个例子,”林讯说,“表白墙。每天晚上十点发一张长图,上面是最新的表白。我们在图上加上二维码和下载链接,让用户自己去朋友圈转发。一个人转发了,他的朋友看到了,感兴趣就会下载。一传十,十传百。”
苏晚宁的眼睛亮了一下:“这个我之前想过,但你说过这周只修bug不加新功能。”
“对,下周开始做。表白墙的长图生成功能,我周末就可以写好。”
李浩然举起手:“那第三步呢?”
林讯在第三个圈里写了几个字。
“第三步,口碑传播。当用户觉得产品好用的时候,他会主动推荐给朋友。这是我们最想要的推广方式,也是成本最低的。但前提是——产品真的好用。”
他放下笔,转过身看着两个人。
“所以接下来的两周,我们的核心任务不是写新功能,是把现有的功能打磨到最好。聊天要流畅,通讯录要快,表白墙要有趣。每一个细节都要做到我们能力范围内的最好。”
苏晚宁点了点头,在本子上记下了几行字。
李浩然也点了点头,但表情有点犹豫。
“讯哥,我问一个问题。”
“说。”
“我们做了这么多,万一……我是说万一,上线之后没人用怎么办?”
教室里安静了几秒。
这个问题,林讯想过很多次。
上辈子他做过好几个,有些成功了,有些失败了。失败的那些,不是因为产品不好,而是因为没有用户。或者说,没有找到用户。
但讯聊不一样。
校园社交是一个真实存在的需求。每个大学生都需要一个地方跟同学聊天、看课表、找二手书、匿名表白。这些需求不是林讯凭空想出来的,是他自己上大学的时候就有的。
所以他不怕没人用。
因为产品解决的是真实的问题。
“不会没人用的,”林讯说,“因为我们自己就是用户。我们自己想用的东西,别人也会想用。”
李浩然想了想,觉得有道理。
“行,那就。”
苏晚宁在旁边一直没说话。她低着头,在本子上画着什么。林讯凑过去看了一眼,是一张推广流程图,从种子用户到校园推广到口碑传播,每一步都画得很清楚,还用不同颜色的笔标注了时间节点。
“你这个画得比我的清楚多了。”林讯说。
“因为我学过思维导图,”苏晚宁抬起头,“大一的时候选修课学的,当时觉得没用,现在发现用上了。”
“每一门课都有用,只是时候未到。”
苏晚宁看了他一眼:“你今天说话怎么跟老师似的。”
“可能是最近书看多了。”
“又是这个理由。”
李浩然在旁边笑出了声。
三个人笑了一会儿,然后继续活。
苏晚宁在优化聊天页面的细节。她把消息气泡的圆角从固定的数值改成了据文字长度动态调整,这样短消息的气泡会更紧凑,长消息的气泡会更宽松。改了十几行代码,跑了一下,效果比之前好多了。
“你们看看这个。”她把电脑转过来。
林讯看了一眼,又看了一眼。
“这个圆角是怎么做的?”
“用layer.cornerRadius,然后据文字的宽度动态计算圆角的大小。文字越短,圆角越小;文字越长,圆角越大。”
“为什么要这样?”
“因为短消息用大圆角会显得很空,长消息用小圆角会显得很挤。动态调整会自然很多。”
林讯看着她,有点惊讶。
这个细节,很多专业的设计师都想不到。苏晚宁不仅想到了,还自己动手实现了。
“你这个做得真好,”林讯说,“我做了这么多年……做了这么久的产品,都没想过这个细节。”
他说漏了一个字。
“这么多年”差点说出口。
苏晚宁似乎注意到了,但她没有追问,只是笑了笑:“可能因为我比较较真吧。”
“较真好,做产品就需要较真。”
李浩然在旁边也凑过来看了一眼:“,这个圆角好好看。讯哥,我们之前做的网页能不能也改成这种?”
“可以,你回去研究一下CSS的border-radius,也有类似的效果。”
“好嘞!”
李浩然回到自己的座位上,打开浏览器开始搜border-radius的用法。
苏晚宁继续调圆角,把聊天页面每一个消息气泡都调到了最舒服的状态。
写到九点多的时候,教室的门被敲响了。
三个人同时抬起头。
门口站着一个人——赵宇飞。
他手里拿着一杯茶,有点不好意思地站在门口。
“那个……我看到教室灯亮着,猜你们在这儿,”他说,“上次你们给我装了测试版,我用了这几天,感觉挺好的。买了杯茶想送给你们,不知道你们喜欢什么口味,就买了最普通的原味。”
他把茶放在门口的桌子上,转身就要走。
“等一下,”林讯叫住他,“进来坐坐?”
赵宇飞犹豫了一下,走了进来。
他在李浩然旁边坐下,有点局促地看了看四周。
“你们每天都在这儿?”他问。
“差不多,”林讯说,“除了上课和吃饭,基本都在这儿。”
“不累吗?”
“累,但值得。”
赵宇飞看着白板上的字,念了出来:“月底目标,用户突破100人……”
他转过头看着林讯:“你们真的觉得能做到?”
“你觉得呢?”
赵宇飞想了想,说:“我觉得可以。因为你们做的这个APP,是真的好用。我用了这几天,已经不想用微信跟同学聊天了。讯聊更快,更净,没有那么多乱七八糟的东西。”
林讯和苏晚宁对视了一眼。
这是他们收到的第一个“不想用微信了”的反馈。
虽然不是来自大量用户,只是一个人,但这句话的意义很大。
它说明方向是对的。
“赵宇飞,”林讯说,“你有没有兴趣帮我们一起推广?”
赵宇飞愣了一下:“我?我什么都不会啊。”
“不需要你会什么。就是帮我们在你们专业、你们宿舍宣传一下,让更多人用上讯聊。”
赵宇飞想了想,点了点头:“这个我可以。我认识的人不多,但我可以把APP推荐给我室友和同专业的同学。”
“够了,”林讯说,“一个人影响几个人,几个人影响几十个人。慢慢来,不用急。”
赵宇飞走的时候,脸上带着一种说不出的表情。
不是兴奋,不是激动,是一种“被需要”的满足感。
有人需要他。
他做的事情是有价值的。
这种感觉,比喝十杯茶都让人开心。
赵宇飞走后,三个人继续活。
苏晚宁在写通讯录的最近联系人功能。她按照之前设计的方案,把最近聊过的六个人放在了通讯录的最上面,横向排列,每个联系人有头像和名字。
她写好代码,跑了一下,效果不错。
“林讯,你看看。”
林讯走过去,低头看她的屏幕。
最近联系人的头像一个挨一个地排列着,滑动流畅,点击可以进入聊天页面。
“做得很好,”他说,“这个功能加上去,通讯录比之前好用多了。”
“还有一个问题,”苏晚宁说,“最近联系人要存到本地,我用了NSUserDefaults,但存六个人的数据,会不会太占空间?”
“不会,六个人的数据很小。就算存一百个,也才几KB。”
苏晚宁放心了,继续写代码。
写到十点多,李浩然打了个哈欠。
“不行了,我眼睛要瞎了,得回去睡觉。”
“你先走,”林讯说,“我把接口文档写完再走。”
“我也再写一会儿,”苏晚宁说,“通讯录还有个分组索引没做完。”
李浩然看了看这两个人,摇了摇头。
“你们两个真的是……一个比一个拼。”
他收拾好东西,走了。
教室里又剩下林讯和苏晚宁两个人。
安静得能听到窗外风吹树叶的声音。
苏晚宁的键盘敲得很快,哒哒哒的,像一首节奏稳定的曲子。林讯停下来听了一会儿,觉得这个声音很好听,比任何音乐都好听。
“你在听什么?”苏晚宁头也没抬。
“听你敲键盘。”
“敲键盘有什么好听的?”
“好听。”
苏晚宁抬起头看了他一眼,笑了。
“你有毛病。”
“可能是。”
苏晚宁摇了摇头,低下头继续写代码。
但她敲键盘的速度慢了一点,像是在故意让那个声音变得更清晰。
写到快十一点的时候,苏晚宁终于写完了分组索引。
“好了,”她长呼一口气,靠在椅背上,“通讯录页面完整版做完了。”
“给我看看。”
苏晚宁把电脑转过来。
通讯录页面从上到下依次是:搜索框、最近联系人(横向滚动)、按拼音首字母分组的联系人列表。右侧是字母索引,点击可以快速跳转到对应的分组。
林讯试了一下,每一个功能都跑得很顺畅。
“完美,”他说,“这个页面可以直接拿出去用了。”
“真的?”
“真的。比我想象的还要好。”
苏晚宁笑了,笑得眼睛弯弯的,很好看。
“那我可以申请今天早点回去吗?”她问。
“可以,今天辛苦了。”
苏晚宁开始收拾东西,把电脑装进背包,把笔记本合上,把椅子推回原位。
林讯也关了电脑,帮她拿了一下背包——她的背包很重,里面除了电脑还有好几本书。
“我来吧。”
“不用,不重。”
“我知道不重,但我想拿。”
苏晚宁看了他一眼,没再争。
两个人出了教室,下了楼。
夜风比前几天凉了一些,五月初的夜晚温度还是有点低。苏晚宁穿了一件薄外套,但还是缩了缩脖子。
“冷?”林讯问。
“有一点。”
林讯把她的背包换到另一只手上,这样他离她更近了一点。两个人的肩膀之间只隔了几厘米,他能感觉到她身上传来的温度。
苏晚宁没有躲开。
两个人就这么走着,肩膀几乎要碰到一起。
谁都没有说话。
到了女生宿舍楼下,苏晚宁停下来。
“到了。”
“嗯。”
“林讯,今天谢谢你。”
“谢什么?”
“谢谢你让赵宇飞进来坐。他其实挺想跟你们一起做事的,但是不敢说。你今天邀请他进来,他回去的路上一定很开心。”
林讯愣了一下。
他没想到苏晚宁会注意到这个。
“你看人很准。”他说。
“因为我也曾经是那样的人,”苏晚宁说,“想靠近,但不敢。”
她说完这句话,看着林讯的眼睛,眼神里有一种很柔软的东西。
“但现在不一样了。”
“哪里不一样?”
“现在我敢了。”
她说完,转身上了楼。
这一次她没有跑,走得也不快,一步一步的,很稳。
林讯站在原地,看着她的背影。
她走到二楼拐角的地方,停下来,回过头看了他一眼。
然后她笑了一下,说了一句什么。
声音太小,林讯没听清。
但他看懂了她的口型。
她说的是:“明天见。”
林讯点了点头,也说了三个字:“明天见。”
苏晚宁转身消失在拐角后面。
林讯站在原地,站了很久。
他拿出手机,给苏晚宁发了一条消息:
“你刚才在二楼说的那句话,我没听清,再说一遍?”
苏晚宁回:“我说的是‘明天见’。”
林讯:“不是这句,前面还有。”
苏晚宁:“没有了。”
林讯:“有,你说完‘明天见’之后还说了一个字。”
苏晚宁沉默了十几秒。
然后她发了一条消息:“……晚安。”
林讯:“不是‘晚安’,那个字我听到了,是个‘我’字。”
又沉默了十几秒。
苏晚宁:“你听力真好。”
林讯:“所以你说了什么?”
苏晚宁:“不告诉你。”
林讯:“那我今天晚上睡不着了。”
苏晚宁:“那正好,起来写代码。”
林讯笑了。
他把手机放进口袋,转身往回走。
五月的夜风吹过来,不再凉了,是那种刚刚好的温度。
他走了几步,手机又震了一下。
苏晚宁:“我说的是‘我回去了’。”
林讯:“就这?”
苏晚宁:“就这。”
林讯:“我不信。”
苏晚宁:“不信算了。晚安。”
林讯:“晚安。”
他把手机放进口袋,嘴角的弧度怎么都压不下去。
他知道她说的不是“我回去了”。
因为那句话的口型,他看得很清楚。
她说的是“我喜欢你”。
只是她现在还不敢当面说。
没关系。
他可以等。
等多久都可以。