# 新型应用 - 新型应用的可用性做法
作者:[Rachel Appel](https://msdn.microsoft.com/zh-cn/magazine/mt149362?author=Rachel+Appel) | September 2015
![](https://box.kancloud.cn/2016-01-08_568f81ed853d2.jpg)
可用性是应用程序开发的一个重要因素,但往往会被忽视。开发人员往往会将可用性留给 UX 专家和 UI 设计人员。但是,有一些可用性技巧(或大或小)可供开发人员使用,为他们带来很大影响。
主要动机是开发实际易于使用的软件。这意味着常用命令非常醒目,并且随时可用。对于不太常用的命令,通过几次单击即可使用。我们将回顾几个可用性技巧,这些技巧可帮助您构建出色的新型应用。
很多开发人员不喜欢“最佳做法”这个术语。 它似乎暗示有问题的做法是执行某些操作的唯一方式,但您知道并非如此。有很多做法在大多数方案中非常适用,大量的技巧不一定会正常运行。这就是大多数人不愿意使用术语“最佳做法”的原因。 相反,我会使用术语“良好做法”。 这些做法可能谈不上更好,但是总的来说和其他做法一样适用。然而这并不意味着您应该在每种方案中都应用这些做法。
通常,不好的做法的缺陷非常明显。这些做法是设计或开发技术,对于它们来说有更好的方法来执行相应操作。当糟糕的做法显示在令人沮丧的软件中时,可以很容易发现。您每次抓狂大都因为无法使用软件,而错误的做法则是罪魁祸首。
## 良好的可用性实践
第一个无疑也是最重要的可用性做法是可访问性。软件越易于访问,就越易于使用。对于几种类型的用户来说,可访问性是一项挑战。您必须考虑听力受限或无听力者、视觉障碍者、行动不便者和认知障碍者。开发合并了可访问设计的网站和应用相对较容易。很多技术包括对 HTML 或 CSS 的小幅修改。有关可访问设计技巧的更多详细信息,请参阅我的专栏“设计和开发可访问的新型应用”([msdn.microsoft.com/magazine/dn913189](https://msdn.microsoft.com/magazine/dn913189))。
常用命令应该突出显示。不要让您的用户苦苦寻找信息。相反,使用 Visual Studio 快速启动等功能,让用户通过键入名称或命令的同义词来搜索命令。将快速启动功能添加到常规菜单和导航中。与此同时,不能让用户过于费劲地执行任务。当用户无法轻松地完成任务时,将面对障碍停止不前,并消极地在应用商店中查看应用。
一致性是构建优秀软件的关键。在应用本身以及应用及其操作系统之间使用一致性美学。每个人都可以告诉您,尝试在 Android 或 Windows 设备上使用试图展现 iPhone 应用的相似外观和行为的应用,这种体验是多么令人沮丧。人们购买设备的部分原因是喜欢其样式。保留主机操作系统的样式模式,然后添加自己的风格。这意味着您需要单独的代码库,但您仍可以在应用之间共享后端代码。
一致的导航也很重要。在整个网站或应用中使用相同的导航样式。作为优秀的导航设计的一部分,确保用户可以快速访问他们常用的命令。每次用户启动时,可以通过记录来确定这些命令。确保窗体中的按钮和控件等元素具有一致的标签。如果您正在编写一部小说,获取同义词库和混合同义词可以提升您的文章质量。在软件中,对相同的操作或字段使用替换字词或词组只会困惑用户。
每个人都已经有太多的登录名。其副作用是很多用户为其所有的资源使用相同的密码。这就是安全专家想要提醒您不要做的事情。然后,开发人员通过让您坚持编写自己的安全基础结构,而不使用 OAuth、Microsoft 或 Google 等受信任的安全提供程序,从而设计出鼓励此类不良行为的网站。Facebook 或 Twitter 身份验证都优于您自己创建的身份验证。
尽可能让用户进行选择。虽然您可以创建自己的登录系统,但是您必须维护该系统,并且负责监视数据是否曾遭到破坏。与受信任的提供商协作即可将责任转移给他们。他们拥有整个团队来维护和确保用户数据的安全。将安全问题交给安全专家,这种做法可以为您留出时间成为业务专家的,从而解决您的软件业务问题。
正确的默认设置对访问性大有助益。虽然现在已是 2015 年,但是很多网站和应用仍强制您输入城市和省份,而不是要求提供邮政编码并自动填写详细信息。对于用户来说,输入较小的数字序列非常容易,而从较小的下拉列表中的大量项中进行选择则比较困难。请参阅我的专栏“新型应用开发的移动先行方法” ([msdn.microsoft.com/magazine/dn948114](https://msdn.microsoft.com/magazine/dn948114)),了解有关使用移动先行设计构建软件的更多详细信息。
响应性 UI 可以向上和向下扩展,以适应特定设备的外形规格和功能。显然,针对设备量身定制软件对于用户来说是一件好事。响应性 UI 往往能够移动先行。与传统软件相比,移动先行设计往往更便于使用。有关构建响应性 UI 的更多信息,请参阅“使用 CSS 为 WinJS 应用构建响应性新型 UI”([msdn.microsoft.com/magazine/dn451447](https://msdn.microsoft.com/magazine/dn451447))。
简约设计是新型应用的另一个特点。用户将会摒弃包含大量很少使用的选项的应用。他们会根据情况使用直观和提供选项的应用。在 Windows 8 和更高版本的应用中,您可以使用当用户在应用中进行操作时可以隐藏的应用栏,然后根据需要显示选项。
## 糟糕的可用性做法
很多网站和应用都包括要求用户两次输入电子邮件的窗体。如果用户无法获取正确的电子邮件,为什么所有人都会认为他将正确输入地址、城市、省份或其他信息? 为什么不复制所有这些字段?
要求用户重新输入电子邮件令人不快。这是因为人类是习性动物。类似于其他习惯,容易出现键入和拼写错误。用户同样有可能在两个框中出现相同的拼写错误。
“验证码”这个概念非常难得。网站或应用将显示包含数字、字词或词组的图像。然后,用户输入该数字、字词或词组。通常,图像中的数字、字词或词组在某种程度上会被遮盖,因此计算机无法识别该图片。问题是,目前 AI 系统可以执行图像识别并轻松地识别验证码。讽刺的是,大多数人觉得难以识别。当查看模糊的图案时,肉眼和计算机并无区别。有时,看上去不错的想法最终可能并非如此。
无限滚动和自动页面刷新也会出现问题,对于依赖屏幕文本阅读等辅助技术的用户尤其如此。虽然 Facebook 以及 Twitter 最近在无限滚动方面做得很棒,但是当新内容出现并将旧内容挤到一旁时,仍然有很多问题。如果您正要实现这些功能,请考虑尝试替代输入和可访问设备。
即使是操作熟练的用户,极小的关闭按钮也会令其抓狂。通常,拥有触屏设备的用户甚至无法使用这些按钮,因为极小的区域无法响应点击操作。如果关闭按钮非常醒目,情况就不会那么糟糕。但是,很多对话框只包含一个按钮用于继续,而无法返回。响应性新型应用始终提供简便的方法执行后退操作。
糟糕的格式编排是精美网站设计的梦魇。很多用户在窗体中看到一个电话号码字段时,会心生畏惧。您永远不会知道将要进行哪种恼人的身份验证。此字段是否需要提供国家/地区代码? 我是应该随数字输入括号和短划线,还是只输入数字? 通常,用户会尝试输入他们认为格式正确的数字,将会弹出一个模式对话框提示警告消息,然后中断他们的工作流。
与令人生畏的电话号码字段类似的是 URL 字段。很多 URL 不会自动以 http:// 格式填入。除非您单击提交,验证失败且窗体字段自动重置,否则这些相同的网站和应用从不会告诉您需要填写 http://。
关于窗体故障有一系列不良做法。窗体存在的全部原因是为了捕获数据。然而,开发人员通常使显示的窗体难以理解且混乱。如果您忘记输入某些内容或某些内容输入错误,则尝试填充不断需要清除其数据的窗体非常令人恼火。很多网站和应用还在继续着这样的情形。完成这些操作需要花费两倍的时间。
如果您的应用尝试赚钱,这不是一个值得一试的好方法。您将阻止用户进行购买。应用执行类似于清除窗体的操作的可能性越大,填写窗体所花的时间也就越多。花的时间越多,开发人员决定清除信任用户的窗体的可能性越大。
另一种窗体故障是指没有实现正确的默认设置。您的用户主要都是来自您的国家/地区吗? 然后默认设置为该国家/地区,但同时也显示其他国家/地区。这同样适用于省份、邮政编码或任何特定字段的最常用的值。如果已部署您的应用,则可以检查数据库是否存在这些值。如果仍处于开发阶段,请询问您的用户。尽管一个默认的网站似乎从来不会错过要查看的新闻稿或产品信息,但也会设置相关选项来接收这些内容。
许多网站和应用未提供正确的搜索功能。一些网站和应用根本不提供搜索功能。Search Engine Watch 表明,多达 92% 的 Web 用户至少随时会使用一个搜索引擎。
在易于使用的摘要中以清晰一致的方式呈现搜索结果。将广告放在搜索结果或内容的周围,而不是其顶部。当用户在一组搜索结果内看到广告,他们可能认为已到达搜索结果的结尾而离开,因为找不到任何内容。
UI 设计在审美方面要注意以下几个事项。我喜欢将它们称为“UI 障碍”。 这包括很多内容:需要放大才能阅读的极小字体、广告过多或广告中包含广告。许多网站和应用依赖广告收入,因此广告是相当棘手的问题。但是,如果广告中包含广告(这种情况确实存在),这堪称灾难。
另一种流行的可用性反模式是按钮颜色和布局。通常,旨在表示执行操作或继续操作的按钮以鲜红色显示。此颜色指示停止或取消操作。这类似于交通灯,绿色、黄色和红色分别表示“继续”、“注意”和“停止”。
## 其他可用性做法
导航属于“其他可用性原则”,因为有些导航类型有助于简便操作,而有些则不然。在设计导航方案时,应保持清晰一致。通常,最好使用主机操作系统模式。对于用户来说,可以更轻松地维护应用和操作系统之间的一致性。这尤其适用于新用户或不怎么使用技术的用户。不过,这仍适用于在模式一致性基础上喜欢快捷方式的经验丰富的用户。
通常,选项卡式菜单更适用且更易于导航。但是,如果选项卡行数过多,导航将变得非常困难。虽然桌面应用非常适合传统的下拉式菜单结构,但 Web 应用和本机设备应用通常需要不同的方案。例如,Windows Phone 通过提供较大的易于点击的区域来启动应用或导航,使用动态磁贴来增强用户体验。
据技术媒体网站 TechCrunch 报道,汉堡包菜单显著降低了应用或网站的参与度。如果您选择汉堡包菜单,则需要及时了解使用情况统计信息。有关导航可用性基础知识的更多信息,请参阅“在 Windows 应用商店应用程序中导航的基础知识”([msdn.microsoft.com/magazine/dn342878](https://msdn.microsoft.com/magazine/dn342878))。
## 总结
一般说来,越易于访问的软件,其可用性也越高。通过实现微小的更改,就可以增加 20% 的用户群。从行业标准来说,这是一个巨大的数字,而且任何一个称职的经理(甚至是“尖头发老板”级别的领导)都会为之振奋。因此,结合可访问性和更好的可用性的绝佳方法是自行尝试使用可访问性技术。蒙住自己的眼睛并尝试通过屏幕阅读器来使用页面。使用语音设备。
虽然此处一些做法被列为“良好”或“糟糕”,但并没有对号入座。您始终可以打破不良做法的常规,使内容更具可用性。即使是良好的做法也极易出错。询问用户喜欢什么,但不能总是相信他们,因为他们有时可能是错误的。监视应用使用情况是了解应用实际上正在执行的操作的良好方式。使用您的最佳判断力。
* * *
Rachel Appel *是一位顾问、作家、导师和前 Microsoft 员工,在 IT 行业有 20 多年的经验。她常在 Visual Studio Live!、DevConnections、MIX 等顶级行业大会上发言。她的专业是开发侧重于 Microsoft 系列开发技术和开放式 Web 并且符合业务和技术需要的解决方案。有关 Appel 的详细信息,请访问她的网站 [rachelappel.com](http://rachelappel.com/)。*
- 介绍
- 云连接移动应用 - 借助身份验证和离线支持构建 Xamarin 应用
- 崛起 - 自由 Internet 广播
- Microsoft Azure - 云中的容错问题和解决方法
- 最前沿 - 适合常见应用程序的事件源
- Azure 深入了解 - 跨云平台创建统一的 Heroku 式工作流
- 借助 C++ 进行 Windows 开发 - Windows 运行时中的高级类型
- 编译器优化 - 借助按本机配置优化来简化代码
- 数据点 - 再探 JavaScript 数据绑定(现在包含 Aurelia)
- 云安全 - 借助 Azure 密钥保管库保护敏感信息的安全
- 测试运行 - 借助人工尖峰神经元进行计算
- 开发运营 - 在 Microsoft 堆栈上启用开发运营
- 孜孜不倦的程序员 - 如何成为 MEAN: Node.js
- 新型应用 - 提升新型应用的易用性的做法
- 别让我打开话匣子 - Darwin 的照相机
- 编辑寄语 - 汽车 Internet 发生故障