设计用户界面

本部分详细介绍了一些与为Windows应用程序设计 UI 相关的任务。

简介

UI 设计可以分为三个基本元素:功能、美学和性能。

应用程序开发期间的主要重点是功能。 应用程序是否可用? 它是否允许用户完成任务? 但是,功能只是故事的一部分。

美学描述如何显示和呈现内容,以及向用户传达事物的样式。 美学非常主观,比功能要求和性能指标更难以量化。 美学通常归因简单选择(颜色如何相互补充或 UI 元素如何传达其含义),这通常影响人们对某种事物的感受,并影响他们使用它的成功程度。

性能不仅通过速度,而且可靠性来衡量。 如果应用程序看起来和感觉很好,易于使用,但反复崩溃,它可能不会非常成功。 应用程序必须为用户提供对其可靠性的完全信任。

下面是一些设计阶段任务,这些任务可为Windows应用程序的成功 UI 做出贡献。

功能要求

在设计阶段的早期考虑以下建议,以优化尽可能广泛的受众的用户体验:

  • 遵循 UI 设计准则。

    熟悉Windows用户体验交互指南,并经常将其称为应用程序 UI 的设计、实现和测试。

  • 确保 UI 可访问。

    请务必从产品生命周期的开头将辅助功能集成到 UI 设计中。 由于辅助功能开发的一部分需要注意体系结构级别,因此改造辅助功能可能极其昂贵。 有关详细信息,请下载 工程软件辅助功能电子书

  • 支持国际市场。

    Windows包括支持Windows应用程序中许多区域性和书面语言的技术。 如果应用程序面向国际市场,请务必从项目开头的 UI 设计中包含国际化支持。 有关详细信息,请参阅Windows应用程序的国际化

用户分析

设计成功接口的关键步骤是在编写任何代码之前,基本了解用户需要和想要的应用程序。 请记住,应用程序的潜在用户已经以某种方式执行其工作,应尽可能充分地理解现有工具和过程。 不要在完全考虑这些问题的情况下进行设计。

最简单的最非正式的方法是与产品的预期用户交谈。 直接从源获取信息-避免使用经理或高管作为实际消费者的代理。 请考虑让一小群开发人员和项目经理在其工作场所对用户进行非正式访问,在那里有机会讨论他们的工作方式,并收集他们当前工具面临的问题的详细信息。

请记住,不要提出主要或有偏见的问题,因为这将直接影响用户反馈的质量和有效性。 在此阶段撰写问题时,请记住以下事项:

  • Who用户吗? 他们拥有哪些技能和知识?
  • 我们可以使用哪些不同的数据源来了解他们的体验?
  • 他们将使用产品完成哪些目标和任务?
  • 我们做出哪些假设以及如何验证它们?
  • 我们拥有哪些数据源? (可用性研究和启发式评估是开始的好地方。)

问题语句

收集所有用户反馈后,将其分析和提取到相关问题和要求中。 尝试避免此时考虑解决方案。 确保问题得到完全识别,而不仅仅是症状。

从用户角度 () 每个问题或要求,撰写一个句子问题语句列表通常很有帮助。 例如,“将编辑框宽度调整为 15 个字符”不是问题。 但是,“键入长期搜索词太难了”是一个有效的问题陈述。 差异是戏剧性的。 尝试不同时定义解决方案和问题:通常实际问题丢失。 在此示例中,可能有多种其他方法可以解决搜索词问题,包括更改编辑框的大小。 始终记住备用解决方案。

下面是问题语句的其他示例:

  • 很难从网站的一个部分导航到另一个部分。
  • 用户必须等待太长的时间才能加载软件。
  • 我们的安全错误消息难以理解。
  • 注册页存在过多的问题,用户通常会放弃它。
  • 在网站索引上查找特定产品太难完成。

如果问题陈述足够广泛,则可能有许多创新和创造性的方式来解决这些问题。

优先级

获取项目列表并按优先级对项进行排名的行为定义发布。 如果没有明确的优先事项,团队可能会争论应该做什么,以及应该削减什么事情。 在研究完成时,涉及设置优先级的工作应该更容易,但它总是一个挑战。

设置优先级需要至少三个条件进行评估:计划、团队和业务。 项目可能有一个预定义的计划集,这会限制可以完成的工作的大小和规模。 可能需要重写一半的代码库的问题不应在小型发布周期内尝试。

团队的化妆和性质定义可以完成哪些类型的工作。 团队还有其他哪些承诺? 团队是否有设计师或可用性工程师? 团队具有哪些 Web 或 UI 设计技能? 最后,最重要的是业务注意事项。 此项目的收入目标是什么? Who竞争对手吗? 解决某些问题有什么优点? 可以伪造哪些伙伴关系? 在确定列表的优先级之前,还应识别任何其他注意事项。

确定优先级后,问题语句列表会设置产品的方向,并确保开发面向正确的领域。

概念设计

通常,UI 未在概念设计阶段得到解决。 但是,此阶段确实需要一个全面的业务模型,其中包含完整的用户配置文件和使用情况方案,这对于成功的用户体验至关重要。

逻辑设计

逻辑设计阶段是在开发支持概念设计的初始原型时。

此阶段还确定了在开发期间使用的特定硬件和软件技术,这可以确定最终产品中 UI 的功能。 有关详细信息,请参阅 用户界面技术

除了开发工具外,还应识别应用程序要面向的各种硬件要求和外形规格。

物理设计

物理设计阶段确定如何为逻辑设计中标识的特定硬件和外形规格实现 UI 设计。

在此阶段,硬件或外形规格限制可能会对需要对设计进行重大优化的 UI 引入意外约束。