第401章 曙光手机研发(四)
作品:《 香江:从破产电器厂到全球巨头》中文比英文麻烦。这是林知夏的团队在第四个月达成的共识。
麻烦不在于复杂度——汉字本身是有规律的,形声、会意、象形,每一种都有内在逻辑。麻烦在于输入。英文只有二十六个字母,键盘上放得下。汉字有几万个,放不下。所以任何中文输入法都是在做一件事:用有限的操作,从无限的汉字库里选出你要的那一个。
而林知夏要做的事,比这更难——他要在没有物理键盘的屏幕上,让中国人打字。
周把第一版输入法原型装进测试机的时候,李家港正好在实验室。周递过来那台缠着胶带的测试机,李家港拿起来,在屏幕上点了一个拼音:nihao。
屏幕上跳出候选词:你好、拟好、泥好、你号。
他选了你。然后他接着打:nihaoma。
候选词跳出来的时候,他发现自己在等。等屏幕反应。那一瞬间的延迟,在英文输入法上几乎感觉不到,但换成中文拼音——每个字母都要排队,每个候选词都要等待加载——那种卡顿被放大了。
李家港说。
林知夏站在旁边,双手插在口袋里。我知道。
有多慢?
比英文输入慢四十。比黑莓键盘慢七十。
李家港把测试机放下。慢七十,用户不会用。
林知夏没有反驳。他走到工作台前,打开那台测试机的调试日志。屏幕上刷出一行一行的数据——每一个按键的响应时间、每一次候选词的加载时长、每一次内存分配的开销。林知夏看了大概三分钟,然后拿起笔在白板上画了一条线。
这是现在的速度。他在线的一端画了一个点,这是目标。
中间差多少?
差一个算法。林知夏说,现在的词库是静态的。每个拼音组合对应一个固定的候选列表。如果用户打一个生僻词——他在白板上写了一个字,茴香——这个词不在词库里,系统就不会把它排在前面。用户需要翻很多页才能找到。
翻页太慢。
太慢。林知夏放下笔,但如果词库是动态的——系统记录用户输入习惯,按使用频率排序,生僻词也能在几次输入之后自动排到前面。这样输入速度会大幅提升。
需要多久?
林知夏回头看了一眼坐在角落里的吴。吴正戴着耳机,面前是一台笔记本电脑,屏幕上滚动着密密麻麻的代码。他听到有人提到动态词库,摘下耳机抬起头。
两个月。吴说,词库算法我可以重写。
两个月后能进测试机?
吴顿了一下,但有一个问题。
词库的数据量。如果我们要做到覆盖九成常用词汇——他在键盘上敲了几下,屏幕上跳出一组数字,词库本身会占用一百兆左右的存储空间。我们的手机总存储只有两GB。一个输入法吃掉一百兆,其他应用就没地方了。
李家港想了想。能压缩吗?
能压缩。吴说,但压缩会影响速度。解压需要时间。时间就是刚才你感觉到的那种卡顿。
办公室里安静了几秒。林知夏走回白板前,在那条线的旁边画了一个圆圈。他在圆圈里写了一个字:
李家港问。
词库存在云端。林知夏说,手机里只存常用的那部分——比如覆盖百分之七十的词汇。生僻词实时从云端调取。这样手机本地词库只需要三十兆,速度也能保住。
李家港看着白板上的那个字。2007年,这个词还不像后来那么热。大多数人听到想到的是天上的云,而不是服务器集群。但林知夏已经在用了。
云端调用需要网络。李家港说。
需要。
没网的时候怎么办?
