和一起读研究生的同学Meng一起上周开发了这个Chrome Extension:别颓啦 – bietui.la。
一开始Meng说了这个idea,我有一个想法就是这个是绝对不可能防止人颓的。。。因此,我抱着好玩+学习Chrome API的愿望开始了,谁知道在开发过程中狂背了200多个单词,然后觉得也许这个还挺靠谱。作为一个在课余+工作之余+玩乐之余完成的轻应用,我在这里简述一下从整个过程中学到的一些细节。
产品介绍:
别颓啦 – Chrome Extension:
* 扩展地址: http://t.cn/RPXKit0
* 网站地址: http://www.bietui.la/
* 墙内crx下载地址: http://www.bietui.la/downloads/
想法很简单,website blocker,添加自己爱颓的网站,然后访问该网站会被redirect到这个页面并要求答对5到单词题方可进入网站。
两个人的合作,如何让1 + 1 > 2
产品并不复杂,但是要两个人一起来完成,就一定要合作。与一个成熟完整的团队不同,这样的一个临时的互相技术不了解的人的合作比想象中要复杂。我们在一开始的合作中也慢慢摸索出了一些有借鉴意义的地方:
- 明确有区分的分工:明确在于清楚每个人的工作内容;有区分则表现在通过具体产品设计将功能有效地分为两个部分。规范接口后,两人可以清楚地工作。
- 有时差团队,强调不同步时间的工作量:对于remote团队,时差是一个坑。当两个人分别觉得事情没有讨论清楚,想要等到同步时间再讲再做,效率会大大下降。解决方法就是,当A进入睡眠,B工作时,B留言给A解释自己完成的内容,并告诉对方是否有bug或要具体修改的地方好让A起床后明白对方的现状。
- Priority > New ideas:随着一段时间的开发,我们自己、他人的反馈会不断地引来新的想法。对于小团队,Focus非常重要,要解决核心矛盾。
Chrome Extension其实还是有坑的
Chrome WebStore
尼玛被墙啦!!!这个简直丧心病狂,记得上次在国内的时候,这个还是可以用的,现在就是一个不断转啊转啊的loading logo了好么。
吐槽完毕,如何解决?我们的方法是让用户可以下载.crx
文件,结果又是坑啊!!!应为安全原因,被直接下载的.crx
文件会弹出错误框,且直接打开这个文件浏览器会报错。唯一的方法是,将这个文件拖入chrome://extensions/
页面,才可以安装(详情请参考:教程)。
其次的问题就是IO:
为了更好地、简单的更新网站内容,我们会把被block的网站redirect到另外一个域名上,而这个时候和extension的JS沟通成了一个很蛋疼的问题。由于这个script是insert到页面里的,读取有时间延迟。
同步存储数据:
嗯哪,为了让大家最大程度地享受Chrome Extension的好用,我们在storage上尽可能存号东西,但是每次修改了extension后,直接reload也可能不对,需要删除本地应用后重新安装才可以更好地debug。
新时代的宣传
- 我们先发到了v2ex上让各路大神们评论试用,从而找到我们的最大问题。
- 发不到一些app推荐网站,增加流量。
- 随时保持和用户沟通的渠道,让人可以留言反馈。
- 社交媒体,share一开始就有放到页面上。
写的比较着急,要去吃好吃的,所以有不完善的地方之后会更新