第一部 S60 触摸手机的诞生——记 Tube 开发二三事
注:转载请注明出自 iFanr.com
如果你拿到了 Nokia 5800(我们还是叫它 Tube 好了),你肯定会很惊讶它的软件系统的整体界面和感觉,它超越了大部分人的预期。
S60 为 Nokia 挣足了面子。无论是在 Nokia 公司内还是行业中,但它主要是体现在功能的齐全而不是出色的响应、效率和性能。
去年 iPhone 发布后,解决这个问题就成了下一代触控系统,包括 tube 的最关键的问题。
首先,棘手的技术难题,是 Tube 用的是标准的 ARM11 处理器,它并不支持硬件加速,而更麻烦的,是 tube 有着三倍于之前机型的分辨率的大屏显示(当然除了 E90)。
技术人员把 iPhone 和 Nokia 的产品对了各种场合使用的速度对比,很显然,iPhone 在速度上并不完全具备优势,但是整体上,Nokia 的机型没法比:运行顺畅,响应迅捷,用户的使用体验是非常棒的。这就是一个显然的挑战,如何让 Tube 的使用体验,在硬件上已经有比较好的速度响应能力前提下,能真正让用户感觉到现有配置应该呈现的极致?
在 2007 年 9 月,一个着眼于用户体验的团队应运而生,它的目的就是增强系统的整体响应速度,改善用户的使用体验,提高下一代触控系统的整体响应速度。这个团队的成员来自不同的部门,有 S60 开发人员也有 Symbian 的主要研究人员。团队于 2007 年 9 月在 Tampere 开始正式动作,每周一次例会,一直延续到现在。有趣的是,团队选择了骰子为吉祥物,他们用 Cwiki 进行知识的共享和交流。
研究的第一个课题是如何更快速地启动程序。工程师们试图去实现 iPhone 在快速启动程序时的技巧。我们知道,iPhone 玩了一个花样,就是它在程序启动的时候,先显示预置图片,所以初始界面能很快地显示,用户就能产生了程序运行非常快速顺畅的感觉。但在 S60 系统上,这种努力是徒劳的,因为它能让用户定义主题外观,同样的软件,看上去可能也会不一样,没法采用 iphone 的预置图片的显示方案。
如何优化使用更多的 RAM 内存是第二个课题。过去,基于 Symbian 和 S60 的机器总是因为成本的原因,内存规格不足。Tube 作了改变,它达到了 128M,但是这多出来的内存能被用于改善系统响应速度吗?两个分别来自 symbian 和 S60 的工程师提出了解决方案,就是让一些关键的程序始终驻留在后台以便能立即响应。但是这个变化涉及到太多的系统程序了,所以 7 个月后,电话本,通话记录,短信,闹钟程序才按计划完成优化并获得明显的速度提升。不过遗憾的是,浏览器和媒体库没有采用这种优化,让这些内存消耗大户来驻留,很可能会给稳定性带来很大的问题。
提高用户体验还包括更快的显示速度。Tube 比原来的机型有多得多的显示像素,如何让他们尽可能快地绘制和显示是一个非常重要的问题。新的动态程序所用的新的框架,程序间切换的过门效果,都进行了详细的分析处理,也首次采用了一种新的程序界面处理方案。高像素屏幕显示遇到的一个比较大的问题,就是显示所需要的数据的复制非常慢,要进行屏幕显示,它进行复制过程太多了。不过,在工程师的努力下,这方面也得到了优化解决。另外,工程师花了大量的时间,最后用预置图标和缓存的方式,对高质量的 SVG 图标进行快速显示处理,这可是 S60 发布以来,一个影响性能的根本性问题。。
另外,如何让自动屏幕切换更流畅呢?屏幕自动翻转是 Tube 最有意思的一个地方,这个理念很不错,但它切换的时间太长了。在 Tube 的原型机中,问题特别突出。工程师们最后也解决了这个问题。但可惜的是,有些主题的效果没法支持了,因为虽然它们看上去很棒,但是拖慢了原本的性能。
最后,优化性能的一个重要方面,是提升核心程序的性能。在一项针对性的研究中发现, 提升核心程序的性能会带来许多次级程序性能的优化。把一些关键性的缺陷进行优先处理后,除了少量的问题最后仍会有影响外,大多数问题都得到了解决。
这个用户体验小组的工作仍在继续,在新机型和新系统中,他们的工作将会不断有所体现。尤其是在优化以 Webkit 为内核的 S60 浏览器响应速度方面,已经取了满意的进展。让我们期待他们进一步的努力吧!
更多讨论,请移步 http://bbs.ifanr.com/viewthread.php?tid=205&page=1&extra=page%3D1#pid978