为日渐成熟的Android设计
Nielsen 最近的研究数据表 明,Android 系统的设备已经在数量上超过 iOS 系统了,所以并不难看出 Android 市场的繁荣正如日中天:有 4.8 亿的用户正在使用 Android 设备,每天有 100 万个新的设备被激活。这意味着,每三个星期,新激活的 Android 设备数几乎等于整个澳大利亚的人口数。
为了适应 Android 市场的快速增长,知名的 App 也以越来越快的步伐发布 Android 系统版本,例如 Instagram 的 Android 版本仅 仅在 10 天之内就获得了 4000 的下载安装。尽管这个平台的扩张空前地快速,但绝大部分的 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 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: