时光紧张,先记一笔,后续优化与完善。
为了适应Android市场的快速增长,知名的App也以越来越快的步伐宣布Android系统版本,例如Instagram的Android版本 仅仅在10天以内就取得了1000万的下载安装。尽管这个平台的扩张空前地快速,但绝大部份的App质量其实不尽如人意。在Google Play很少有像在iTunes Store一样多高质量的App,部份的原因可能是由于Android在过去几年中快速度过其青春期,而导致混乱和不稳定,于是很多计划师为了避免这种混乱而倾向于选择iOS平台。
当然很多系统的问题被夸大其词,其中一些Android的问题在新版本中已不复存在,针对仍然存在的一些问题,本文提供了一些处理方案,同时也为将要开始计划巨大的Android应用的你提供一些提议。
第一部份:青春期症状
很多App的表示不如预期是因为平台的不成熟。即使Android具有一个强大的试验场合——为制造商和开发者提供了非常自由和开放的环境去发明他们想要发明的App或功能,但并没有很多人违心在一个如沙盒(Sandbox)的环境上去任务。不过如今,这个沙盒已逐渐生长为可以承载巨大计划的基本了。接上去的一些例子将为你展示Android如何从青春期变得成熟:
- Google自己的App缺乏一致性
其实不是良久以前,几乎所有Google家自己的Android App几乎每一个看起来都不太一样:
上图分别是Google在2010年蒲月计划的Action bar模式提议,但在Android2.3版本中的Gallery(相册)应用就忽视了这种计划标准;最下方是在2011年重新计划的该应用Action Bar,不难看到Google自己花了一年多的时光才开始遵循自己的计划指引。
- 在Android开发社区中,缺乏以用户为中央的计划理念
由于自身缺乏一致性,Google并没有给开发者建立一个准确模范,正是因为这种缺乏一致性的计划指导和模式标准,导致了平台上用户休会较差。好的 计划是以人为本的,它利用技术帮人们告竣他们的目标。Google其实不像另一个极端Apple一样,在最开始反复和开发者强调用户休会的主要性。
- 在不同设备以及不同的系统版本之间,有着明显的一致性休会差异
硬件制造商常常定制自己的系统UI和硬件按钮,这就形成了设备的碎片化,使得测试和质量控制非常困难,在不同设备上计划一致休会的App变得几乎不可能。
上图可以看到在不同的设备上,连Home键按钮的位置全都不一样。在这个快速增长和不断变更的市场中,对独立开发者来讲很难准确的测试应用程序。因 此,大多数的应用在实在的应用情景下其实不像原先被计划的一样好用,或者索性缺乏好的计划休会。这些应用仍然在市面上,但不意味着我们也要做这样的应 用,Android已在很多方面失掉了改善,足以支持你为广大用户计划一个有一致性休会的App。
第二部份:Android正在变得成熟
Android明天的用户休会比以往任何时候都更加强大,这使得App开发者和计划师更轻易做出好的应用。当然一些早期问题仍然存在,但大部份问题 变得更容易处理,有些已被完全处理了。其中一个很主要的遗留问题是Android市场上仍然很缺乏巨大的App,但是在一个高速生长的系统平台上,计划师 和开发者会很违心去实验处理这些问题。
以下几点是一个日渐成熟Android系统为大家提供的:
- 更好的应用搜索
早期的应被搜索被关键字所限制,并且会直接呈现所有搜索结果;新版的Google应用商店提供了功能分类和员工推荐,从而提升了发现应用的途径。如下图所示,新的应用商店提供了更多发现最新最酷应用的方式。
- 恰当的Android计划指引
之前,Google并没无为每一个应用必须的基本元素提供一些指导方向。自从创建了计划指引,就为应用的计划师和开发者提供了小的计划决策的判断根据,于是乎我们终究可以专一于发明App的代价,并确保在不同设备上的一致性休会,下图是一个网格计划列表实例中的计划指引节选。
- 去除了菜单和搜索硬件按钮
Google开始去除了设备上的硬件按钮,使全部硬件和软件以更加优雅和便捷的方式被应用。
上图是Google的Nexus 4手机,已去除了搜索按钮和菜单按钮。当然各式各样的Android设备仍然寻在,例如LG还在生产具有菜单键的手机,但在某种程度上这种多样性也是为什么Android应用程序能够怀才不遇的主要原因。
- 碎片化其实不全是坏事
碎片化也许是Android遗留问题中对计划师和开发者的最大挑战,但这一点也构建了Android的DNA,成为平台休会永久的一部份。这种多样性为计划人员提供了契机去使App取得在寰球范围内尽可能多的用户数量。学会适应这个碎片化的环境也会使你成为一个更好的计划师或开发者,因为你会须要更加普遍的知识和更加高明的技术技巧。所以比起可能取得的胜利来讲,这是一个值得追求的挑战。下面的部份将重点介绍如何做可以使你的App取得更大的胜利。
下一页开始正式呈文好的Android应当怎样计划。
第三部份:创建胜利Android App的小贴士
- 意识Android
要懂得Android,应当先晓得如何应用Android系统,并且懂得这个系统的用户。最好的方法也许就是买一些不同产家、不同屏幕尺寸甚至不同 系统版本的设备来休会。这不仅会帮助你意识用户的多样性,也可以更好的测试你的App。为你的App选择最好的支持设备,可从Google获得最新的统计 数据,选择一个符合你要求的设备。另外,一些独立呈文,如 OpenSignal’s August 2012 report也能够帮助你进行设备选择。
要记住的是,Android系统的更新是由服务提供商控制的,所以,如Google家的Nexus系列就能够更早取得最新的系统版本。于是,具有一 台最新的Nexus设备常常可以让你最先休会平台的最新宣布版本。你也可以通过购买二手设备来勤俭成本,但要在购买前确保它能够运行你须要的 Android版本(很多旧设备的系统不支持更新)。
- 遵循计划指引
遵循计划指引将帮助你创建一个感觉更加像“原装”的应用,当然这仅仅是值得这么做的其中一个原因。计划指引还可以帮助你失掉以下好处:
- 便于App适应于几乎任何设备
- 使应用程序应用起来更Android
- 提供用户熟悉习气的UI
- 使App开发过程更加轻易
- 增加应用程序在Google Play市场取得推荐的机会
遵循Android的导航模式,应用平台原生的导航元素一样能够有利于创建一个跨多终端一致的休会。
上图是联系人列表在iOS和Android两个系统的界面。为了应用平台原生元素,将搜索和新建联系人操作放置在了底部Action bar上,而不是像iOS中在上部。当然,在跨设备计划时,自定义App碰到的难度会更大,所幸有Google提供的新版计划指引,使得新系统的 Android App看起来和4.0版本前创建的应用大为不同。
- 理解Android的表面和感觉
众所周知Google在为了其所有的产品提供一个一致的视觉休会上已投入了非常多的努力,Android当然是其中之一,Android 4.0引入了自己的风格:简略,平面,清洁(simple, plain, clean)——重视功能本身而不是形式感。
这虽然在一定程度上为开发者和计划师提供了更大的自由度,但同时还是要考虑到Android视觉风格的精巧的地方:用更少来抒发更多(saying more with less)。这说明了:简略地从iOS系统复制款式和元素也许不再好使。在宣布一个应用旧风格或者包括其他平台特征的视觉元素的全新App的时候,可能会 形成用户的恶感或负面效果——微软就发生过这样一个例子。浏览Android Niceties是掌握Android风格和找到灵感的好方法。下图是Google的Search App,很好的表示了Android系统的表面风格和感觉。
还有一个区分你的App的好办法是通过它的图标。与iOS不同,Android的程序图标可以采用任何外形或是形式,用户爱好漂亮特别的图标,甚至会因此很乐意在不常用到的情况下将你的程序图标放置在首屏上。更多的图标计划指引,参照Icongraphy。下图是一些图标的例子。
- 为不同的设备计划
当计划App的时候,首先要确保它能够在大部份的设备上畸形的运行。记住,不仅要适用于不同的屏幕尺寸和屏幕方向,也要注意适用于低亮度的屏幕或者 是对比度较差的屏幕,以及速度慢的低配置机器。比如一些便宜的机型只有低分辨率的并且对比度较低的屏幕,这时太小的文字很难被清晰的显示,过大的文字又会 显示不下。这时就要避免低对比度的文字和视觉元素损害用户休会。以下就是一个自适应不同屏幕尺寸文字显示的计划例子。
还有一些事件可能要注意:
- 应用对比较强的文字和元素颜色,比如在主要的元素上避免应用白色或者浅灰色,因为可能在较差的屏幕上会看不见。
- 在不同亮度的环境下,不同的屏幕亮度(低亮度、高亮度、主动亮度)设置下检查计划稿。
- 即使在应用标准尺寸的时候,要确认文字和UI元素在小屏幕或低分辨率屏幕上的显示足够大;你可以独自为这些屏幕设置特别的文字或视觉元素显示尺寸。
为多样性计划的一个很好的案例,详见Sebastian de With 呈文the Alarm App创作过程的文章。
- 应用Density-independent(分辨率自适应)定义布局
确保UI元素在不同分辨率的Android设备上看起来差不多大小是提供一致性休会里很主要的一部份。这看起来是一件非常费劲的任务,其实大可不必 通过庞杂的像素运算来得出每一个按钮或字体在每一个特定的屏幕上如何显示,可以让设备帮你处理这个问题。如下图所示,是一个标准的图标在不同分辨率设备上的显 示效果:官方推荐的按钮尺寸是48像素,在从低到高的4个不同分辨率级别下系统主动处理了显示效果。
通过Density-independent pixels (DPs)的方式定义尺寸,你须要确保在每一个屏幕上显示的视觉元素的物理尺寸一致。具体的设置方式,请查阅Use Density-Independent Pixels。下图是实际应用中被证明很好用的一个各视觉元素的尺寸设置提议。
- 为不同的分辨率计划
为了在几乎所有的Android设备上显示清晰,须要满足四个分辨率:低分辨率(LDPI),中分辨率(MDPI),高分辨率(hdpi)和超高分辨率(xhdpi)。一般从640×960屏幕分辨率开始,然后缩小以适应其他分辨率屏幕,如下图所示。
MDPI和XHDPI的显示分辨率与苹果iPhone的普通屏和视网膜屏刚好一致。所以,如果你的App有iPhone版本,可以直接应用它的布局 排版,甚至可以简略地在iPhone上测试计划效果。当然不要忘了Android特有的表面和感觉。不可忽视的是,一个叫做XXHDPI的标准已被添加 到下一代移动设备中作为支持,这些设备将有大约480 DPI的屏幕。尽管当初还不存在这样的设备,但因为XXHDPI标准目前被应用在如今应用XHDPI的10 英寸平板设备的启动图标上,比如Nexus 10。所以也许须要在计划各视觉元素时提早做好准备将你的HDPI拓展至200%的XXHPI。
- 考虑不同的系统版本
很多Android设备将不能够升级到最新的操作系统了,并且新的系统常常也须要良久的时光才能全面占领市场。随着设备的更新换代,用户会逐渐不满 足于过时的应用图标和控件款式。因此,须要尽可能提供最新的休会,如果你打算支持应用程序运行在旧的平台,为这些设备创建一个独自的版本。
- 为App提供拓展组件和壁纸
善于利用Android的一些特别优势,比如组件(widgets)、壁纸(live wallpapers)和消息通知(notifications)。组件可以让用户在不运行App的时候接收更新,消息推送则可以帮助提升版本更新的安装 量。Google为计划师和开发者提供了各种方便通知用户的方式。下图是一些例子,上方是音乐播放器的快速组件,可以让用户方便地进行音乐播放最常用的操 作。下方是一个日历应用的组件,让用户可以在首屏桌面上快速滚动查看日程安排。
Android用户非常喜欢定制他们的设备使其看起来个性化,所以这些组件或是墙纸就会给用户很大的弹性空间来做这些事件。
- 测试你所支持的设备
在应用商店中最为罕见的负面评价莫过于在某些承诺的机型上App不能畸形运行。所以确保你的程序能够畸形运行在最为风行的目标设备上,并且只在你测试过的机型上宣布App。否则,就有可能会形成部份用户失望,甚至赐与差评。
- 同时为平板设备计划
尽管Android的平板电脑其实不如他的竞争对手iPad火爆和风行,但是如果你的目标就是做一个真正跨多终端的Android应用,那就必须同时考虑Android平板了。官方计划指引为平板的UI和界面提供了多窗格布局(multi-pane layouts)的计划指引,以满足碎片化设备的统一化休会。平板和手机一样应用一样的图形库,但须要特别考虑平板应用的情景。比如说,相比于手机,人们 通常把平板举得离自己眼睛更远,并且输入并没有那么精确。所以平板的UI须要更大的字体,更大的按钮和更多的留白。当然,最后别忘了通过平板应用的质量检查表(Tablet App Quality Checklist)测试一下你的应用。
综上所述,也许可以给Android一个机会!为Android计划在一开始看起来似乎布满挑战,但是通过以上 这些方法和提议,将为一个出色用户休会的真正巨大的应用取得一个精良的开端。所认为这个日渐成熟同时新兴的平台做计划是一件风趣和不断学习的过程,在这个 寻找创建巨大App的过程中你也许会掌握一系列的新技术,并发现很有代价的经验。最后,带来一些激起灵感的很不错的Android App
*文章翻译自Designing For A Maturing Android
文章结束给大家分享下程序员的一些笑话语录:
很多所谓的牛人也不过如此,离开了你,微软还是微软,Google还是Google,苹果还是苹果,暴雪还是暴雪,而这些牛人离开了公司,自己什么都不是。
---------------------------------
原创文章 By
android和设备
---------------------------------