北邮网络打印室-追忆我的大学创业
这是一段“追忆”,要追忆的大约是2010年3月到2011年8月的那段日子,那是我大二下学期到大四刚开始的一段日子。当我打算坐下来梳理那一年半的记忆时,我找到了许多那时留下的资料,可是我发现我的记忆常常错乱,我会分不清某两件事情发生的先后顺序,我记起了那时的事,却想不起说过的话。但我清楚地知道那段日子见证了“北邮网络打印室”从诞生到消亡。
“北邮网络打印室”的诞生
提到“北邮网络打印室”,就必须先介绍我最尊敬的一个学长(虽然我比较喜欢叫他‘名字+学长’,但为了保护隐私,本文都以阿德学长相称)。2010年3月底,正值大三下学期的阿德学长在北邮人论坛发了个贴子,称自己写了一个网络打印系统,想法源于晚上赶实验报告,又不想出宿舍打印,所以就想把待打印文件上传到网站上,生成订单,然后打印店的人在打印者后台看到订单后,按订单要求就直接把文件打印出来并订好,放于打印店固定位置处,这样他晚上提交了打印订单,第二天早晨上课时经过打印店就可以直接取走了。“北邮网络打印室”就是这么诞生了,我称之为V1.0,不幸我没有了第一版的代码备份,当年似乎也忘了对前端界面截图存档。哦,god,我居然在曾经设计的一个宣传单上找到V1.0的首页,惊喜万分,不过先继续介绍吧,随后会文中会提到并展示这份宣传单的。值得一提的是这一版已经有在线支付的功能,不过用的是自己的账户,线下存款,线上扣款的简单思路。而这一功能在当时还很稚嫩的我看来也是极大的亮点,因为在打印店打印弊端之一就是零钱交易,少了零头店家不开心,付了一毛钱,被找了9毛的同学又通常丢各种硬币。如果采用网站账户线上付款,店家学生彼此省心。
伴随着对这个网站想法的兴奋,很快我结识了阿德学长,从此我俩开始尝试认真经营这个网站。曾经我以为我青春的荷尔蒙在小学初中交接之际已经散发完了,做事再也难激情万丈了。不过,当我开始经营“北邮网络打印室”时,我似乎又开始分泌荷尔蒙了。那时我还完全不懂web开发相关技术,不过我有三大武器,时间,激情,和Photoshop。我自学的渣一样的PS技术先用在了对“北邮网络打印室”宣传上。接下来的展示并非我当年所做的全部工作,而是我电脑里还保存的一些文件。
宣传是一场战役
2010年7月,是2009级学生从昌平迁回校本部的时间,我把目光投向了这批尚未在本部打印过的新人,为了从小培养其打印习惯(本文尽量还原当年的心境,自嘲成分不少,不要以为我现在还是这么稚嫩地思考问题咯)。于是我做出了这个可以贴在墙上的宣传单。我计划打印600张,覆盖600个寝室,拿下好几个宿舍楼。不过打印店老板貌似只给打了200张(记不清了),钱当然是老板自掏腰包咯。回忆起来,我在北邮最要好的大人就是这个图书馆打印店老板了,“坐镇”打印店的一年半里,店里换了两个核心打印员,关系都很好,没少免费打,草稿纸没少拿。200张宣传单反正是把学五公寓占领了,巧的是我2012年研究生入学入住学无,串隔壁寝室时,墙上惊现此宣传单,粘的还倍紧,似乎还打算多活几年。
如果说宣传是一场战役,学生只是敌方士兵的话,我为什么不直接取上将首级呢?我的又一批营销对象换成了北邮的辅导员们。于是,我拿着下面这张宣传单子来到我自己的导员的办公室,再然后,我的导员带着我串“访”了信通,电子,计算机等各大学院的导员办公室。我掐指一算,一个导员8个班,一个班30个人,我大概“访问”了30个导员,这样就跨越两届共覆盖了7200名学生。在这张宣传单上,我找到了那份失传的“北邮网络打印室V1.0”的介绍页和首页。这两张图截取于我向导员宣传前夕,这时已是2010年10月份,相比较其诞生之际,已有细微变化。有人可能会问:这好几个月,紫松同学就做了这么点事?是啊,回忆回去,我也不禁感慨:时间都去哪儿呢?
在我的大二大三交接之际,人人网方兴未艾,我的宣传战场又来到了人人网。那时,我还不懂什么是软文,所以我的宣传文章直接以运营者的视角写的“直接粗暴赤裸裸”。下面两张图就是那篇宣传文章的全部内容。看了这篇文章的标题,相信会有读过我文章的朋友感慨:标题起成这种水准的人真是那个写出《求知成瘾,却无作品》的紫松同学吗?我小思片刻,觉得应该是这个原因:我是性情中人,喜欢要么得90分,要么得70分,这些都是我的真实水准。“硬”文虽然写出来了,可是出现在我这个非社交达人的人人主页里,难道要以冲过百的访问量为目标吗?我真正的“直接粗暴”这时才出现,我跑到我所有的认识的北邮好友的主页去私信,求其帮忙转发。最终192次的分享也将“北邮网络打印室”的访问量推向了峰值。具体数据已经遗忘,但没有超过1000UV。那时的我对此非常兴奋,那时的我也不曾想过日后自己的文章可以有过万的访问量。
我从刚进大学就自诩成熟,可如今看了当年做的这些宣传单或海报,觉得那时的自己真是一孩子。再想想,我其实根本不必感觉羞答答,因为那时读我这些宣传的学生们也都是孩子。
北邮网络打印室V2.0
性格低调温和的阿德学长并没有过多地参与到我的宣传“事业”上来,不过维持网站的稳定服务,解决一些bug,进行小的改进,都是他一人担着。而我除了宣传,也会经常跟阿德学长交流网络打印的新想法,并开始将渣一样的ps技术来用到了前端的设计。比如下面的这个logo,和打印资料展示的新布局。客观地说,把“北邮网络打印室”这几个字放在汉字网格里的设计现在看来都还是很有创意的。不过,对于左边的logo,无论我如何回忆,也想不起为何要将“电子打印”表现成这般模样了。
与此同时,我开始学着使用html+css对前段进行微调,开始学着使用Ubuntu系统,主要学习了vim和mysql的使用。我对网站的改造欲望也愈发强烈。学生打印除了实验报告,更多的是课件,是历届考试试题,而且同专业同课程的学生有着相同的打印需求。关于这个方向,我和阿德学长交流的想法和细节要远远多于我现在写在这里的。简单的说就是,我们打算把网站定位成网络打印和资料库两大服务,我们的资料库希望能按照学院,专业,课程的分类将北邮所有的资料进行结构化的整理。学生既可直接在网站上找到相关课程的资料,无需上传,直接打印,也可以上传自己的文档打印。
于是,我们开发出了“北邮网络打印室V2.0”。这一次,我终于在技术层面上贡献了自己的力量,我设计并负责开发了V2.0的整个前端。下面的首页来源我从hao123获得的灵感,公告框是抄北邮人论坛的,下面的紧挨着的导航框是将北邮全部官方网站聚合在一起。再下面的框是北邮所有学院专业的导航,点击专业名字,会进入该专业的课程界面,下面的第二个图是点击“通信工程”进入的界面。这些数据从哪里来的呢?是我跑到教务处网站,依次点击每个学院,再点击每个学院下的每一个专业,找到对应的大二下和大三下的课程列表(那时正值我大三下),再复制粘贴到本地。7个学院,46个专业,每个专业超过30个课程科目,那时的我还不会写爬虫,粘贴下来后,也不会便捷的文本处理技巧。更好玩的是我千辛万苦地把这些数据整理到excel里后给阿德学长后,我自己则将这些学院专业名称死死地写进了html文件里,那时的我还不明白html里的这些数据通常是后台代码生成的。下面的第三张图则证明了那时的我写html是很耗体力的。阿德学长当时看到我给的这个html文件时,估计是哭笑不得,因顾及我的感受并没有指出任何不妥。不久,他无意中轻描淡写跟我说后台应该写产生代码的代码,可惜我当时根本不懂什么意思。
在上面第二张图“通信工程”专业的科目页面上,点击“通信原理II”,可以看到该科目已经上传的文档。用户可以下载,可以直接网上打印。
我们的上传界面如下,我们希望所有的文档数据都是结构化组织起来的,所以对上传文档命名给出了命名规范指导。
我们的另一核心功能“提交打印订单”的界面如下,打印设置简单而全面。如今的我的电脑再也找不到一份大学的课件了,所以用了“新闻个性化推荐.doc”来做演示。我在图书馆打印店泡了一两年,你要是问我北邮不会什么的人最多,我一定会回答:北邮不会打印设置的人最多。在北邮大学的4年,我拾金不昧6,7次,可要是跟我帮助过设置打印的人数相比,真是差太多。
对于V2.0,最后再展示一下“合作”界面。当时的我绞尽脑汁想到的这些积分优惠的合作方案,想通过实实在在的价格优势黏住用户和学生组织。
也许有朋友想问:“紫松同学,能告诉我们为什么脑抽风做出界面上那个看似像logo的东东吗?”是的,那的确是个logo,而且是我做的,但并非是因为我渣一样的ps技术不进反退,做成这样。那时的我并没有logo一定要尽显专业的理念,正好赶上我看到不少国外开源技术网站用了猫猫狗狗做logo,还有twitter的小鸟logo,于是便少男怀春般地要用动物做logo,结果我高中的绰号“鸭子”就成了V2.0的logo。阿德学长至今也不知道这个原因。
写给方校长的邮件
现在看来,依然觉得“北邮网络打印室V2.0”是一个很棒的成品,即便没有足够的文档去充实它的资料库,但从为用户快速提交打印订单和提供舒服的界面的角度看,也足够其存活下去。当然,我依然是为资料库努力奔波了一把。我除了建立北邮学委qq群,寄希望于学委上传资料,还希望老师们可以直接上传。“擒贼先擒王”,这次我把目光锁定在了时任北邮校长方滨兴身上。于是有了下面这封邮件:
方校长的回复邮件,我未经允许不便公开。我只能告知其中说了“校长不便出面做宣传”。今日写这篇追忆文章,再次重温邮件时,真的恨自己当年没能理解这篇不太长的回复,现在读起来却是句句箴言。巧的是这封邮件到我写这篇文章整整3周年。
稀里糊涂的折腾
我们的网站吸引到了另外3名学长的注意,他们找到了我们,希望一块做。我们5个人开始了关于新想法的频繁讨论,涉及到前端的重新设计,一些新功能的增加(比如计价,短信通知,投诉),还要重新开发店主端(之前店主端就是网站管理后台,比较简陋)。我们甚至提出了要分为用户端,店主端,管理端3个系统。现在回顾这些,我异常心酸,当时阿德学长和我刚开发出V2.0版本,都没好好经营,怎么就又稀里糊涂地投入到了新的设计和开发中呢?为了开发,我们5个人对钱买了一台pc主机用作服务器。而5人团队的配合并不像阿德学长和我那般默契,另外3名学长并未全身心地投入进来,工作进度总是一拖再拖,或者无法完成工作,再后来他们都分别选择了退出。而购买机器的钱留在了机器上,那时我也无力为继续享用服务器向3位学长偿还他们的那份钱,虽然被学长告知机器就留给我用了,但还是心怀歉意,希望日后有机会表示。
故事讲到这里,已是2011年4月了。当时尚未经历大四的我没能去体会还有3个月就毕业的阿德学长的心境。而今,我已深刻明白大四的上学期的压力是多么大,而阿德学长的大四却各种被我“牵绊”着。交流新想法,带着我这个菜鸟开发新系统,占据了他多少本可自由支配的时间,却并没有收获“北邮网络打印室”的成功。阿德学长即将离校,网站留给还不怎么会用php的我。
北邮网络打印室V3.0-Eprintor
2011年的4月以后,我开始投入更多精力思考考研的事,“北邮网络打印室”的故事按理说可能就要结束了。事实上,它真的差不多结束了,我已经完全失去投入精力运营的大好时光了。时间到了2011年7月之前的某天(我记不清了),我收到了来自广东的电话(还是qq,我也记不清了),希望就网络打印合作。对方是广东一所大学的打印店的负责人,是个那个学校的学生,貌似把打印生意做的风生水起。我听了他们的盈利情况,很不错,我几乎看到了希望,因为可以不用自己心累地运营,只需提供网站服务,然后提成。我又联系了当时还在北京工作的阿德学长,阿德学长跟他们电话聊过之后,也觉得有些靠谱,准备再干一场。
2011年的暑假,我留在了学校。阿德学长和我开始基于CodeIgniter框架开发“北邮网络打印室V3.0”。准确的说,这次不能称北邮网络打印室了,我们将网站正式命名为“Eprintor”。为什么要重新开发?因为一是结构化的资料库虽好,但是只存在于想象中,这条路太难走,我们想突出网络打印的核心功能,只做快速打印。二是此前我们店主端功能太弱,操作也不方便,这次我们的客户是店主,我们需要设计为店主使用的后台订单处理系统。因为这些,我们的数据库需要重新设计,正好我们就选择使用php框架快速开发出健壮的系统。这一次,阿德学长找了专业前端设计了用户端界面主题,然后他负责用户端系统的开发,我负责店主端系统的开发,数据库表也由我设计。几乎未使用过php的我使用CI框架写起后台也并不吃力。不到一个月,我们的两个健壮的系统就完成了。
eprintor用户端
下图是我们V3.0用户端的首页,我们围绕着提供便捷可靠的在线打印功能这个核心做了很大的创新,我们找到了doc,docx,ppt,pptx,pdf类型文档的计算页数的方法,我们在线计算出用户上传文档的页数,直接向用户反馈本文档打印将会花多少钱,打印量大的用户还能从总价上感受到网络打印提供的折扣优惠。我们还支持打印订单的合并,以方便用户只提交一次订单。
下图则展示了《Python标准库中文版》文档共有329页,在当前打印设置下,会花费49.35¥(广东的这学校打印1毛5一页,这里显示的是原价总额)。页面不好看,没有关系,我们这次知道该把精力放到更有价值的地方,在用户可能产生疑惑的地方(图中的?标记),我们都进行了解释说明,用户鼠标移动到?时即可看到。
下图是用户提交订单后的界面,跟V2.0相比,除了新添计费说明外,还增加了“订单状态”字段。这是一个非常重要的字段,电子商务如果没有这个实时状态,估计用户都会心慌慌。“通过审核”信息同样不是摆设,这是为防范可能会有对手恶意打印的情形,因为我们要让我们的客户店主放心。
eprintor店主端
由于我们的客户定位成店主,所以面向店主的系统必须考虑的足够周全。所以店主端的工作量要比用户端大一些,在开发前,就打印流程等问题没少和广东方面交流,文档说明也攒了一小匝。2011年的整个7月中下旬,我白天去北邮教三看看考研数学和英语,晚上便迫不及待地回到寝室投入店主端系统的开发和测试。2011年暑假短暂搬到北邮学十公寓的学六学生提到学十都无不骂爹骂娘,对其豆腐渣工程和糟糕的厕所卫生深恶痛绝。可就在那短短的2个月里,我却第一次在北邮宿舍享受到了单人单桌单网口,对我的开发环境是一个极大的改善,真的一直很感激学十的那两个月。
店主端除了和一般的管理后台具备各种“管理”菜单外,最有特点的就是4步走的打印流程。
1.审核资料——打印员每次打印会将此前未打印订单的资料通过FTP全部下载到本地,然后审核其页数,说是审核,其实只是预防页数为0的情况,在极少数的情况下,文档页数有可能算错,这里就给了打印员修改文档页数的权限。
2.审核可疑人——我们的客户使用了网络打印服务,如果竞争对手打印店注册虚假用户,恶意打印,就势必会对客户造成损失。所以第二步会审核可疑人,如果未打印订单的总金额超过一定值,我们就将其在可疑人列表中列出,打印员可以通过核对身份,选择使该用户受限。
3.打印订单——在这一步首先会看到待打印订单列表,由于test2用户被我认定为在恶意打印,已被受限,在下图中就看不到test2用户的订单了。
点击了上图的“开始打印”后,就进入下图界面,打印员就可以按照“文件路径”确认需打印文件,然后按照该订单的打印设置要求进行打印,完成后点击“确定打印”即结束了。
4.打印收据——客户以往在将打印好的资料交付给学生时,会附上手写收据。应其要求,我们增加了“打印收据”这一步骤。待上一步订单全部打印结束后,打印员便将打印收据页面打印出来,然后附在相应的打印资料里,省去了他们手写的烦恼。下图中我将客户名字用了“XXX”替换掉了,至于价格为什么变成了1¥,3¥等,因为我定价管理里默认是单页1¥,提交订单前,忘了修改。
打印员一天打印二次,上午,中午,每次执行一遍打印流程。这无疑省去了qq逐一接受文件,记打印要求,再计算价格,手写收据的烦恼,对效率有不小的提升。“店主端”还有不少功能菜单,我就不一一介绍了,最后以下图的“使用帮助”结束对“店主端”系统的介绍吧。
北邮网络打印室V3.0在有了一年半的网络打印事业的经营经验的情况下“诞生”了,一切看上去似乎还是值得的。然而,客户就此没有了联系。这时,我将北邮线上的V2.0升级到了V3.0,然而然后呢?此时的我将要开始早起晚归的考研生活,我能寄希望因为系统的显著提升网络打印事业就自动繁荣起来吗?就这样,我上线了V3.0,但是暂停了服务,好吧,就让V3.0的首页飞一会吧,最终静悄悄地落在一个再也没有人看见的地方。
光阴的故事
这篇终于快到尾声了,我总是在前面有意或无意地点出了“北邮网络打印室”的失败命运,但是却没有专门给予解释,因为我不想把它写成创业感悟的分享,我想保持它作为追忆的那份味道,把我带回那段“峥嵘岁月”的真实感。这段创业经历给我留下的东西已经不经意间镌刻到我的脑海里了,以至于日后研究生阶段实验室举办的创意比赛,我很容易看出那么多idea的不靠谱,和他们交流想法时更多的是看到三年前自己的影子。而“北邮网络打印室”的失败更多来源于则是靠谱的idea没能成功的种种因素。每当我再次回忆那段经历时,我总是心怀歉意,为自己当年那稚嫩的运营能力和大局观,为自己当年抓不住本质的眼光感到羞愧,因为这毕竟不是我一个人的成长史,而是和阿德学长共同奋战的一年半光阴。这时,我自然地想到了那首《光阴的故事》:
“春天的花开秋天的风以及冬天的落阳
忧郁的青春年少的我曾经无知的这么想
风车在四季轮回的歌里它天天的流转
风花雪月的诗句里我在年年的成长
流水它带走光阴的故事改变了一个人
就在那多愁善感而初次等待的青春......”