技术开发 频道

Android开发:提升移动应用体验

  【IT168专稿】从iPhone问世,到Android的崛起,互联网手持设备开始疯狂增长。从0~9的数字按键到全触摸屏,移动设备的使用体验发生了颠覆性的变化。前不久科技会议上,GoogleCEO,Eric Schmidt宣布,每天有超过20W台的Android设备被激活。 这一切是多么让人兴奋,在未来的数年内将有更多的人亲身经历移动计算带来的变革。

  09年底我开始关注移动互联网行业,看着众多的应用开发者在这场变革中经历着生生死死的起伏,当自己也经历了aHome 4, Gfan Moible等多个项目后,对应用产品创造的过程有了更深的理解和体会。

  移动应用产品的生态环境和现实问题

  对比Android和iPhone的App生态环境。iOS上的App显然有更完整的产品设计规范,严格的审核机制,完整并且相对封闭的APP 开发环境。开发者只能使用Objective-C进行开发,并且你需要有一台Mac。令人抓狂的App审核过程体验,古怪而漫长。也正因为他们严格的环境和规范,包括非常具体的Guidelines,才有效地保证了App的高质量。

  而Android上,Google提供了基本的设计指导,松散的审核方式,开放的开发环境。非常开放,几乎没有审核限制,只要不被举报。但如此宽松的条件,带来的却是App质量的下降和体验的不统一。这也是我们产品团队一直在努力克服的问题。

  那么,在Android上,如何才能持续地设计并开发出良好体验的产品呢?

  ▲图 - 1 Google Market和Apple Store

    

  完整协作、锐意进取的产品团队

  从大学开始做工作室,参加创业比赛,经历一次次变故和洗礼,走到今天,对团队有种根深蒂固的情结。我欣赏那些“天赋异禀”的人,他们是各自领域的专家,杰出的发现者和创造者,当你和这样的人一起工作时,会发现工作是摆脱了肤浅的应付,开始变得纯粹和美好起来。

  做一个APP需要一个完整的开发团队:工程师、设计师、产品经理。大家拧成一股绳,才能顺利地完成一个产品。

  工程师是团队里的侠客,武艺超群,热爱探险。我从12岁开始学习编程,曾经也是一名工程师,工程师的特质是喜欢去寻找更优化的方式解决问题,不断地探索和发现有趣的事物,了解这些事物的内在联系,并且十分享受这个过程。我们在做Gfan Mobile的时候,遇到了在Listview下,大量加载图片内存溢出的问题。于是Andrew把一个item的内容作了拆分,让程序能感知到每一个item的图片内容,控制屏幕可见区域的缓存,从而解决了问题。再比如,Gfan Mobile 初版的导航是我当时一直头痛的问题,我设计出了StackNav这样的方式去合并导航和Title,结果并不让人满意。后来由Andrew提议,我们一起研究了Google现在推崇的UI Pattern,解决了这个问题。后来这个部件经过持续改进,并逐渐使用到了其他产品的设计上。所以团队里的工程师,除了要有严谨的逻辑外,更需要保持孜孜不倦的探索和发现的精神,帮助团队寻找更完美地技术解决方案。

  ▲图 - 2 Google推崇UI模式,顶部操作

  设计师,把产品带上更高层次的人。对于手持设备来说,手握感和控制力强,决定了它的视觉体验非常重要,相对笔记本来说,手机的屏幕小,用户操作时间短,如果在一个交互周期内,用户无法轻松完成操作,就会迷茫。手持端的交互和Web端的交互存在很大区别。手持设备设计师所关注的焦点应该细微到像素。比如在今年Google I/O 大会的 Android UI Design Pattern 的Session上,Google的视觉设计师提到“Android系统会自动的分析你设备的DPI,并根据你设计的PNG组件,自动的进行分析和适配”。再比如,9 Patch,android上一种特殊的图片类型,程序会根据图片边沿一个像素的黑边进行数字拉伸,来适应不同的Android设备的屏幕。这些都是视觉设计师应该关注的信息。

  交互体验方面,手持端更注重信息的表达,简化交互的过程。举个例子,一个有交互意识的设计师会发现,三星i9000自带的拨号程序,顶部Tab的切换,做成了弧形的表面,当用户按下去的时候又变成纯的色块。为什么这么设计?弧形表面示意了这地方可按。按下去后又变成纯蓝色。这个时候手指已经挡住了这个区域的大部分位置,用户只能从边沿的颜色判断出交互的结果。因此最简单的纯色就能表达信息。这些观察和分析就是一个移动应用设计师应该有的直觉。

  ▲图 - 3 Google视觉设计师在I/O大会提到的DPI问题

  产品经理,他对未来趋势的了解,对产品体验的不懈追求,对用户需求的细致分析, 还有与工程师和设计师一起创造产品的激情,会转变为伟大产品生命力的一部分。我做产品经理也有几年了,近半年接手手持端产品,经手的产品有GFan Mobile(机锋网手持版),aHome,aNews,aMusic等,和工程师设计师进行了无数次的沟通协作,学习到了很多,在这半年里不断地见证着android蓬勃发展的趋势。在熙攘的北京地铁上,你会发现人们用的手持设备,几乎什么都有,Android的Apple的Nokia的……有一次看到一个女生,在地铁上,拿着i9000玩游戏。4寸大屏幕,轻薄易携,被业界称为唯一可与iPhone媲美的机子。但是,当我发现她一手握着地铁把手,另一只手的大拇指吃力地够不着大屏幕的顶部时,顿时产生了一个想法,她只是想切换一个tab,这么简单的操作非得点击完成?当寻找答案的时候发现手势滑动进行tab切换轻而易举解决了这个问题。在设计aMusic的时候,我想到,用户坐在办公室里听歌,是否必须一次次的按键切换歌曲?不一定!只要翻转一下手机就可以!或者像豆瓣电台那样晃一下就切到下一首歌。

  做产品就需要不断地对用户的需求和行为进行反思,对交互方式进行各种比较和判断,去寻找能更好地满足用户需求的办法。同时产品经理需要成为一个会讲故事的人,用故事去分享你所了解的信息。

  条理清晰,稳步迭代的开发过程

  怎么样的团队合作模式是最合理的?怎么样的创造过程才能诞生最成功的产品?在mAPPn(机锋网)的这段时间我建立并实践了一个“Mobile Product Process”过程,简单和大家分享一下。

  阶段一,概念

  概念阶段,我们需要明白我们的目标是什么。这是一个怎样产品?为哪些用户服务?需要解决哪些问题?产品是怎么样工作的?有哪些已经存在的产品和你的目标类似?如果目标不明确,就急迫地去设计,去开发,只会渐行渐远,偏离最初的设想。明确目标后,我们会进行头脑风暴,这个过程中PM需要确定一些核心需求,然后由工程师进行评估,并测试关键技术点。

  ▲图 - 5 用Mind Manager收集、分析和整理需求

  阶段二,原型

  原型阶段,产品经理会把产品细节,各功能点和逻辑进行详细阐述,并且制作出原型。一般我会使用Illustrator画Layout图,然后直接把Layout导入Flash Catalyst 制作swf交互原型,这样demo的时候就能非常清楚地表达意图。原型确认后,工程师继续评估产品需求和目的,他会提出一些疑问和其他的解决方法。个人觉得这个过程很棒,可以深入交流一些实现产品的方法,同时也是对目标需求的再一次“清洗”和过滤,找到本质的东西。对于工程原型,我们的推荐做法如下:工程师使用所有标准的控件和API来完成目标需求,开发完成APK原型。完成后,我们再使用这个原型,不断进行UE Test,尽早发现功能点和产品交互的缺陷,尽早修改。同时,设计师在这一阶段会预先开始做一些UI Style的方案准备。

  ▲图 - 5 老版的Gfan Mobile原型设计

  阶段三,视觉

  项目进入视觉阶段后,设计师会提出几种UI Style 方案,根据我们的目标和产品设计意图,从体验的细节上强调重点。UI Style确定后,设计师会出UI Sheme,把UI方案拆卸成各个组件,供工程师使用。 我们也会反复的去进行UE Test,从视觉层面寻找更多UE问题。在手持端,用户打开一个APP,第一眼的感觉就能决定这个App的去留。因此这一阶段,产品经理和设计师会反复的讨论和斟酌,确定一个合理的视觉方案。

  ▲图 - 6 aHome 4 几套UI style方案

  阶段四,测试

  测试,是个艰难的过程。Android和iPhone的很大区别在于,有太多的预装设备,每个设备无论是屏幕尺寸、系统配置、还是按键、ROM版本等,存在太多不统一的地方。比如ROM的差异很有可能导致一个在HTC机器上运行顺利的App,在Droid 机器上直接Force Close。所以产品发布前,内部会发布多个Alpha版本,由专门的团队做严格测试。

  作为产品经理我自己也会每天体验,发现问题就写入Bug报告。这个阶段也是开发者们很痛苦的阶段,都说bug是永远存在的,但是我们在尝试建立一套测试流程,尽可能多的去测试各种机型和ROM环境。项目组成员也会不断进行UE Test,模拟用户可能的行为,不断去反思产品目标和细节体验。

  我们不断的循环这个过程,把每个产品当做孩子一样细心地调教,慢慢培养成人们真正需要并喜欢的产品,我想,这也是产品团队每一个成员的最大理想和愿望。

  总结

  移动互联网在飞速发展着,但普通用户对它的认识还处在蒙昧状态。 我们有太多可以去创造的东西,变化太多,想法太多,但是有一些始终不变的东西,就是具有创造性的团队和这些人不断努力的过程。所以,请记住我们的目标,与合适的人一起工作,用专业的过程去实现我们对产品不懈的追求与梦想。

0
相关文章