一个新的项目:狼人杀(七)

今天吸取了一个教训。

周五的时候,给小程序添加了一个在我看来颇为鸡肋的功能:房间号。创建房间的时候给出房间号,其他玩家既可以通过原来的扫码的方式加入房间,也可以通过直接输入房间号来加入房间。增加了几个校验,来判断房间是否可以加入。原来可以通过二维码来进行些许的控制,但是存在漏洞。正好现在补上了。

原本这个功能只是为了做在线游戏的过渡,结果出人预料地很受欢迎,用户的人均访问时间至少上涨到了原来的5倍还不止。这个效果完全出乎我的想象。

教训就是,以后不能再想当然地从自己的角度出发去考虑问题了。虽然之前也知道这个概念,但一来毕竟体会还不够深刻,二来之前的用户都是个体,基本我可以通过直接现场解答来教会他们该如何使用。现在的用户变成了海量触摸不到的,原来的方法就不再管用了。应该把用户想象成最愚蠢、最没有常识的,只会胡乱使用你的程序的,比如我的老妈都能用,那才是好的设计。这应该也是苹果之所以成功所遵循的原则之一。我早该想到的,可还是忽略了。一个教训。

小程序的大小已经达到600K+了,距离1M的上限不远了。打开程序,加载的空白停留的时间已经有点让人无法忍受了。是时候瘦瘦身了。其实大小主要都在图片上,减掉图片就好了。大概的想法有:

  1. 缩减图片的质量,这个有体验下降的风险,而且具体如何缩减也是个麻烦事儿。
  2. 把图片重新变为远端加载,一开始把图片变为本地是为了加载速度,如今本地图片变成了性能瓶颈,是时候把图片放回远端了。缺点是加载速度可能下降,同时小程序对网络的要求也提高了。
  3. 在本地保存一个质量较差的图片,在页面载入完成后再从云端加载高质量的图片代替。这个方案相对复杂一些,但是应该很有效。利用了缓存的原理,同时在使用过程中就算突然断网也不至于像方案2那样全盘崩溃。
  4. 在方案3的基础上,把高质量图片下载到本地数据中,这样以后就不用重复加载高质量图片了。因为图片的数量其实不多,可以重复利用,每次都加载对流量的浪费太大。

上述方案中,我可能会从2开始做起吧。同时,主持助理的想法大概有框架了,但是行动力不足……最近星际玩得有点多。不过三族战役都通关了,今天要开始fighting啦。给自己鼓个劲。

阅读更多

没有更多推荐了,返回首页