投递人 itwriter 发布于 2011-06-28 21:08 [收藏] « »

从Android诞生的那天起,这个可爱的小机器人凭借的开源的力量,硬是把iOS挤下市场占有率第一的宝座。虽然数字占优,但大众的心理中,iOS始终才是最佳体验的移动平台。

诚然,iOS成功的将界面做到了所见即所得的精简化,极致地把手机硬体键减少到一个,从而将用户可操作的范围项,控制在一个很小的空间内,有效降低了用户的学习成本。但是,既然飘在外向出手三分诺维斯基依然可以与邓肯一样定义为这个世界上最优秀的大前锋,Android为什么不可以与iOS一样定义 为这个世界上最优秀的移动平台系统呢?

Android虽然存在多种硬体键设计,在可操作范围项,他控制得没有iOS那么精简,比如他可以在不同的界面中使用不同的Menu选项进行操作,比如一个应用可以同时跑多个进程和多个服务。但是,如果你能好好利用他,Android同样可以提供另外一种优秀的体验。

阿智写了一篇文章叫做《与其盲目抄袭,不如先研究彻底》,说的是国内缺乏对Android的研究,导致国产的Android应用整体质量不高。设计师们在Android上面大量的山寨了其他平台上的UI元素和设计方法,最终导致Android成为山寨大集合,用户体验的黑洞。这其中,不妨某些我们耳熟能详的产品。

这里所收集的,就是一些缺乏对Android深刻研究,照搬其他平台的UI元素,或者是土鳖的强奸用户的一些设计方法,写出这些的本意不是进行指责,而是希望让大家警醒。毕竟,山寨是我们都不想去做的事情。

1. 返回在左上角

clip_image001

在手机界面中有两种返回:返回上一个界面,返回上一层级的界面。Android应用里,界面上并不出现返回的按钮,而是统一通过硬体Back键完 成。因此无论怎样,在Android界面上出现任何的返回按钮(当然也包括生搬硬套iOS的返回按钮在左上角的这种形式),都是不正确且不合理的。

当然,也是存在例外的,比如在一个设置向导(Wizard)内。

clip_image002

2. 常驻通知栏

clip_image003

在Android系统里,通知栏包含两类信息,Ongoing与Notifications(某些还包括快捷功能开关和程序运行的列表Rom不在此讨论范围内)。他们的差异是,Notifications属于各种应用的新信息的通知,如新短信,新邮件等。他可以直接被清除,Ongoing则表示当前 正在运行的一些程序或者功能,且不可以直接被清除。

但是我们得留意的是,Ongoing上显示的应该是那些用户必须了解,且可能给用户使用手机带来影响的程序和功能,如正在播放音乐,正在通话中,正在上传下载等。若你的应用无论是退出还是运行状态,对用户并不存在什么影响。那就完全不用通过常驻通知栏的方式告知用户,交给系统管理你的应用的进程 (Process)即好。

3. 退出需要确认

clip_image004

首先我们得理解Android界面的堆栈机制,如图所示,用户的每次操作活动(activity)都会保存起来,当使用Back键时,如系统会自动杀死之前的活动。

clip_image005

但若当前已经是在应用的根界面了,使用Back键,这个应用的进程的所有自动被挂起,后台服务除外。它并不消耗CPU资源,但会占一些内存。 Android与Java类似,系统有一个规则来回收内存,进行内存调度有个阀值,只有低于这个值系统才会从一个列表中,从后向前彻底关闭应用的进程。这样设计的好处是,他能够方便用户在多任务切换时,最大限度的提高速度,因为进程只是被挂起而已。

从系统设计的角度上看,退出需要确认甚至说是一个流氓的行为。而从防止用户误操作的角度上看,这也是一个谬论。因为按Back键时,进程会被挂起,用户并不存在信息损失等风险,即使是误操作,按照Android的堆栈机制,用户也可以非常轻松地恢复应用。你一定没见过iOS按Home键之后,给你来 个确认退出框吧?

4. 检查更新设置

clip_image006

我深刻理解开发者这么做的原因:Android系统中应用更新都由Market进行推送,而使用Market的前提是,手机绑定了Google帐 号。问题的关键在于,某些厂家的Android手机并不要求用户绑定Google帐号,他们自己甚至也推出应用商场,想分一杯羹。

这可苦了Android应用开发者,为了能够让不同的用户即时获取更新信息,他们不得不在自己的应用内增加检查更新功能,随即,就产生了检查更新的设置。

但是请各位开发者思考一下,您真的有必要给用户这个设置吗?你的应用真的可能每日都会更新吗?也许你只要设定一个默认的某周检查一次更新即好。

5. 没有分享

clip_image007

分享功能属于Android的一大特色,只需两个客户端支持,用户即可在任意两个本地的客户端中进行信息的分享,如把微博保存到本地的Evernote应用中,在图库中挑选一张图片通过WhatsApp发送给朋友。

Android的分享功能,能够任意地本地两个客户端,他能够更加高效的满足用户不同的任务流程。比如拍照分享,Android可以使用Camera 360拍照后设置各种滤镜,直接起本地任意微博客户端发送至微博。先拍照,再分享,也符合用户的操作习惯。

对比起来iOS则比较麻烦,要么开发者麻烦地把滤镜功能做到微博客户端中,要么用户麻烦地先拍照设置滤镜保存至图库,然后在发微博界面从图库中进行挑选。

Android的分享机制,反而能够有效的避免客户端功能膨胀,帮助开发者节省工作量的同时,也切合和用户多种使用场景。真正的实现了,让一个应用只解决用户一个问题的理念,这不得不说是iOS的笑话。

6. 没有焦点状态

clip_image008

某些Android手机带有轨迹球等输入设备,用户可以滚动轨迹球定焦于界面的某个控件上。这能有效帮助某些触摸障碍的用户。更加重要的是,随着 Android@Home的发布,Android系统将有可能出现在冰箱,洗衣机等家电设备上,并且是通过有五维导航键的方式进行控制,这就显得焦点状态变得额外重要了。

更加可以预见的一点是,Android目前还没有像iOS上的Voice Over那样,提供无障碍访问的解决方案,假设一旦提供了,轨迹球就能够给更多盲人用户带来更好的移动设备体验。

7. 大量缓存图片

clip_image009

Android没有像iOS那样,彻底去除了文件的概念,所以,如果你的应用如果没有处理好缓存文件的话如图片,这些图片就大量的积压在系统的Gallery中,严重拖慢速度。对于这种问题,只需要把缓存图片改为Gallery无法识别的类型即好。

8. 没有Move to SDcard

clip_image010

如果你的应用大小超过5M,如果不提供Move to SDcard功能就实在过意不去,因为毕竟还有大量的用户只有250M以下的机身内存空间。当然,Google的地图应用一直都还是霸占着多大12M的机身内存。

无论如何,Android是一个优秀的手机平台,我也像热爱iOS那样热爱着这个手机系统。我也时刻相信,虽然Android的开发成本过大,但只要正确理解其系统设计理念,Android的应用依然可以非常优秀。

 
来自: 互联网的那点事
Udacity 博客园专属学费优惠 新浪微博 分享至微信
标签: Android

24小时阅读排行

    最新新闻

      相关新闻

        回到页首