【导语:作为一款大学生自主创新研发的输入法,wi输入法在iOS和Android两大平台上都受到了用户的好评。其Android平台开发者之一李阳,曾在腾讯手机QQ浏览器部门实习,获得总监的高度赞扬。不仅如此,在腾讯2013实习生校园招聘的过程中,有三位来自wi输入法团队的成员进入了HR面试。是什么让这个团队获得如此的好评呢?他们有什么过人之处呢?一起来看看吧!】
如果说搜狗、百度、讯飞这样的输入法太过于普通,那wi输入法绝对是足够文艺的输入方式。这款由哈尔滨工业大学计算机学院语言技术研究中心网络智能研究室开发的智能拼音输入法,特别强调了其独创的“点滑输入”方式。
从2010年的“光棍节巨献”发展至今,wi输入法先后在在iOS和Android两个平台进行开发,已经积累了三十万的用户。作为高校自主创新团队,这种将科研与互联网产品结合的新方式无疑值得创业团队借鉴。
万事开头难
决定要做输入法并不是偶然,哈尔滨工业大学在中文输入法方面的深厚基础为wi输入法的开发提供了先决条件,再加上移动互联网的发展前景,wi手机输入法应运而生,在2010年11月11日正式发布iOS的版本。
![](http://tpai.qq.com/upload/public/common/2013/05/images/07171106262.jpg)
第一代wi开发团队成员
最初的团队只有四名男生,在哈工大计算机语言技术中心网络智能研究室关毅老师的带领下进行开发,随着时间的发展,团队已经壮大到20人左右,都是哈工大的在校学生。
2012年,iOS平台的迭代逐渐稳定后,团队开始决定在Android平台进行开发,哈尔滨工业大学软件工程系大四学生李阳作为一名新成员加入其中,和另外一名同学charle两人一起共同开发wi输入法Android版。
对于一个项目的开始,惯性的就想到了软件工程的东西:需求采集、分析;设计,编码,测试等等。但是输入法作为一种特殊的应用,或许用传统的这套东西并不现实,而且在团队里面只有两个人的时候意义并不大。
对于输入法这样的东西,李阳说自己当时还是freshman,于是决定先学习了一些开源的输入法框架,“阅读最多的还是Android自带的输入法源码,这个框架简单,和原生系统融合更好,其次就是google的代码真的很适合学习和阅读。”经过N张涂涂画画的草稿,李阳和charele确定了输入法的基本框架。“它符合两个标准,兼容android原生输入框架以提高效率;功能可扩展性。”
敏捷开发小步快跑
最初团队只有李阳和charle两人,李阳负责应用层的框架,charle负责内核的挂接部分,当框架搭建的差不多时,lab加入了团队,“他擅长UI并且JAVA水平也很不错,我们三个人配合的非常好,一有时间就在实验室进行开发。”
经过了无数个内测版本后,还剩下最后一个需要攻克的难题——实现输入法的扩展输入框。基本上所有的输入法扩展候选词都是覆盖原来键盘的,而wi输入法采用的是独特的向上扩展,这样在弹出候选词视图的时候,用户可以继续的编辑打字而不必来回切换。
李阳主动承担了这个需求,那段时间正好赶上了考试周和编译原理的实验,时间非常不够用,为了今早解决难题,李阳经常在实验室通宵开发。“Android实现这个功能有两个问题一是手机屏幕的尺寸差别较大空间的位置调整比较麻烦,二是实现候选词的全屏以及平滑的移动。”
有时候是李阳一个人,有时候charle和lab一起到实验室,三个人随便弄点吃的就抓紧工作。凌晨三点,哈尔滨日出,五点钟的时候太阳透过实验室的窗子照在电脑上,什么也看不清了……回想起这一段经历,李阳不无感慨,“最难忘学生时代和朋友们的疯狂,并且还在疯狂着。”
2012年7月16日,wi输入法在Android平台上发布了第一个版本,目前为止已经更新了四个版本。“老师的要求也很高,甚至会注重每一个阴影的细节”,李阳说,除了连夜奋战之外,还有同学甚至在生病住院期间都不忘开发工作。
点滑输入完美体验
如今市场上手机输入法鱼龙混杂,wi输入法的核心竞争力是什么呢?当被问及这个问题时,李阳自信满满,“点滑输入。”
这是也是wi输入法最大的特色。李阳介绍,这个idea来自于黑莓10的英文输入法的启发,他们将这个创意应用在了中文输入上,发现有更好的体验,“比如向上滑s健,可以直接打出sh,之后键盘会提示某个字母上滑可以直接出来ang,所以拼出sh ang就只需要滑两下了。”这个方案经过了无数次的PK最终通过决定,通过“点”输入声母,通过“滑”输入韵母,快捷方便。
除此之外,李阳认为,wi输入法最大的优势是整句输入的准确率更高,并且支持双拼和纠错。
暂时不考虑商业化
谈及接下来的发展,李阳表示很多用户都希望加入九键的输入方式,这是他们目前的开发重点之一。
而商业化的问题,暂时不考虑在内,“毕竟我们是高校实验室,输入法是把我们的科研和互联网产品结合的一次尝试,我们期待WI输入法可以给更多的互联网用户服务。”李阳这样说。
对于个人的发展,李阳说想要等到大四暑假毕业之后做一些好玩儿的东西,“我个人想法是很多的,就是没时间,到那个时候我们的云端服务器应该已经上线了,可以做一些有意思的东西。”
目前,李阳已经保研成功,在这之前他在腾讯公司手机QQ浏览器部门进行实习。对于这位聪明的男生,部门总监评价道,“这是一个有意思的小伙子”。
而李阳所在的wi输入法开发团队,也在2013年腾讯校园招聘的过程中受到了青睐,一位HR表示该团队有三名同学都进入了终面。
一些收获和体会
最后,我们要求李阳来谈谈他在开发过程中一些收获和体会,他列出了以下几点:
- 联调bug可以提高效率(我们人员比较少,所以沟通的成本低,联调BUG可以更快的定位到出错的具体位置)
- 代码规范(每一个软件工程的学生都应该知道的准则,特别是在工程开发中,必须约定代码规范,编码格式,注释,代码风格等,可学习google或者sun的编码规范)
- Fail fast 这是程序设计的一个术语,但是在工程中同样重要,一定要把问题比较早的抛出来,大家一起解决。
- 选择正确的队友(这个其实最重要,合作一定要愉快)
- 把问题描述清楚(一个好的方法是把问题写到纸上,像递归一样,写出所有依赖的问题,逐一解决)
- 如果问题是开发一个新的组件,建议使用迭代式的开发。
- get things done (看解决不了问题,动手写)
- 寻求帮助(同学或者stackoverflow)
原文地址:点击打开链接