守望的麦子

「转载」从 2 到 30 万,一个小网站的成长故事

2011-7-16    大连 /others/2011/07/16/shanbay.html others works,

本文最近更新于 2018 年 6 月 4 日

下面是来自扇贝网创始人的一篇文章,简单讲述了扇贝网从创立之初的开发语言选取和市场推广,再到发展过程中遇到的几个问题。

扇贝(shanbay.com)是拥有数千万用户的移动互联网英语学习平台。扇贝旗下拥有包括扇贝单词、扇贝听力、扇贝阅读、扇贝口语、扇贝炼句共五大英语学习产品,涵盖“听、说、读、写”四大功能,旨在为用户提供全方位的英语学习解决方案,真正做到“为用户的学习效果负责”。


我想说一说扇贝网,一家致力于帮助英语学习者解决词汇问题的网站,我是创始人之一。

在创办扇贝网之前,我曾经花了几个月时间看完一本原版的达芬奇密码,期间最为纠结的无非是随处可见的英语生词,一开始我还能不厌其烦的查字典做记录,但是发现这些生词再次出现,我依然不记得是什么意思;屡经挫折后,我渴望能有一个网站让我在看书或者文章过程中把遇到的单词丢进去,而后我只要登录这一网站,它就能按照一定规律提醒我复习。想必这样一来我看完一本书后,上面的词也该会了七七八八。

而我的搭档呢,在他学习英语时,一直很想找个途径可以把属于某个话题的单词都组织在一起,譬如学 finance 这个词时,就可以顺藤摸瓜地接触到金融或者经济相关的其他词汇;这样词汇学习就不是面对几千上万个孤立的单词,而是一组一组有意义的专题。更有意思的是,还可以由多人来共同编撰这样的专题,添加相关的文章链接和评论,不断丰富专题内容。

于是我们一拍即合,决定融合彼此想法,把这样一个网站做出来。

但是摆在面前的是一个巨大的问题 —— 我们不会做网站!

我自己有十多年编程经验,但是限于桌面(Delphi 和 VC)和服务器端(Java),HTML 都不怎么熟;而我搭档则是从心理学专业毕业后一直从事数据分析工作,除了用于统计的 R 语言外,没有写过代码。但是无论怎样,我们就这样上路了,当时的想法是边学边做,哪怕做出来的东西只有我们自己用也不错,毕竟现有的英语学习网站都无法满足我们的需求。

我们的开发语言选用了 Python,实际上我们差一点就选了 Ruby,但是我写了两周的 Ruby 程序后就实在无法忍受 ====>; 改了 Python 后,我花了一个多小时写了 100 来行代码完成了一个最简陋的中文分词程序,心想就是它了;为了省钱,我们选了 Google App Engine 作为平台,开发框架也自然就用了 Django。

在此同时,我的搭档也从零开始学习 HTML,CSS,JavaScript 跟 JQuery 框架,大概在两个多月后我们拼凑成了一个能用的网站,放在 GAE 上,但很快由于某些大家都懂但又不是很明白的原因,GAE 无法访问了,我无奈改写了数据访问层,改用 MySQL,并买了一台国外的虚拟主机,把网站搬迁过去。

我们自娱自乐了几天,觉得还凑合,就想着去找用户了。我们在各类和英语学习相关的论坛上发贴,留言,还打印了传单去英语角发放。看到每天几个十几个新注册用户时很兴奋,原来还真有其他人也有一样的需要阿。但是过了几个月注册人数就达到了 3 万,网站也变得非常不稳定;于是我们再次迁移,换了 VPS,和虚拟主机相比系统资源更有保障,同时我们也改用了 Nginx 作为 HTTP 服务器,uwsgi 作为 Web 服务器;几个月后,我们的注册人数突破了 10 万,各种问题又接踵而至,好在届时我们对 Nginx 已经有了更多的了解,于是部署了更多的 VPS 来提供服务。

虽然上面只有短短的几句话,但是个中过程其实非常折腾,网站曾经三度濒临瘫痪而我们束手无策,无论重启系统还是加机器都不能立刻解决,只能被迫暂停新用户的注册。与此同时我们的网站程序也愈加复杂,开始引入各种粒度的静态化,Memcache, SSI,以及将一些访问放入队列消息系统进行异步处理。

相应的,我们在网站功能设计上也走过弯路,我们曾经有一次非常不成功的改版,那一段时间我们需要鼓起非常大的勇气才能打开网站论坛,因为上面尽是用户的咆哮;我们也开发过一个初衷很 2.0,而结果很 2 的学习记录分享功能,2 到我们突然将之从首页取消后,连一个抱怨的帖子都没有看到,仿佛它从未存在。

不过几经风雨,扇贝网依然发展到了现在,我们的注册用户也超过了 30 万,更令人欣慰的是,很多用户之前经历过单词忘了再背,背了又忘的挫折,自从开始使用扇贝网后,能坚持几十上百天每天学习,这让我们更加有信心自己在做一个有价值的产品。

今年年初我们接受了一笔投资,团队现在也由最初的两人变成了三人,有了自己的办公室和公司,但是这依然只是一个开始,我们还有很多很多东西没有实现,也面临很多难题尚待解决,譬如:

产品方面——

如何进一步提升学习效果
如何进一步促成用户间的互相鼓励,督促和学习
如何分析用户的学习行为以及结果,智能和动态的为其挑选合适的学习内容和方式

系统方面——

如何优化应用程序,以及软硬件的配置,使其能够支撑更多人的同时在线学习
如何优化数据库或者采用其他存储方案,来支持更海量的数据(我们的某些数据库表已经有了几千万的记录数)

差不多就说到这里,只是我们自己也只知道故事的开头,不知道故事的结尾。如果你愿意成为故事的一部分,对我们的产品想要解决的问题有兴趣,欢迎看看我们的招聘启事,我们正在找 Python 工程师和前端工程师。

via: https://blog.shanbay.com/archives/821(原文链接已失效)


扩展阅读:

关于作者
麦子,80 后,现从事通信行业。安卓玩家一个人的书房朗读者。
MRJENGLISH
jsntn
jasonwtien
jasonwtien
更多…… /about.html

最近更新: