人机交互 - 快速指南



人机交互简介

人机交互(HCI)以前被称为人机研究或人机交互。它涉及计算机系统以及与之相关的、供人类使用的现象的设计、执行和评估。

HCI 可用于所有可能安装计算机的学科。下面列出了一些可以以独特重要性实施 HCI 的领域:

  • 计算机科学 - 用于应用程序设计和工程。

  • 心理学 - 用于理论应用和分析目的。

  • 社会学 - 用于技术与组织之间的交互。

  • 工业设计 - 用于交互式产品,如手机、微波炉等。

HCI 领域的世界领先组织是 ACM - SIGCHI,它代表计算机协会 - 人机交互特别兴趣小组。SIGCHI 将计算机科学定义为 HCI 的核心学科。在印度,它作为一种交互提案出现,主要基于设计领域。

目标

本课程的目的是学习设计用户友好界面或交互的方式。考虑到这一点,我们将学习以下内容:

  • 设计和评估交互系统的方法。

  • 通过认知系统和任务模型缩短设计时间的方法。

  • 交互系统设计的程序和启发式方法

历史演变

从最初的批处理计算机到以用户为中心的设计,出现了一些重要的里程碑,如下所述:

  • 早期计算机(例如 ENIAC,1946 年) - 硬件技术的改进带来了计算能力的大幅提升。人们开始思考创新想法。

  • 视觉显示单元 (1950 年代) - SAGE(半自动地面环境),美国的一个防空系统使用了最早版本的 VDU。

  • Sketchpad 的开发 (1962 年) - Ivan Sutherland 开发了 Sketchpad,并证明计算机可以用于数据处理以外的目的。

  • 道格拉斯·恩格尔巴特提出了编程工具包的概念 (1963 年) - 较小的系统创建了更大的系统和组件。

  • 文字处理软件和鼠标的引入 (1968 年) - NLS(在线系统)的设计。

  • 个人电脑 Dynabook 的引入 (1970 年代) - 在 Xerox PARC 开发了Smalltalk

  • 窗口和 WIMP 界面 - 在一个桌面上同时执行多个任务,在工作和屏幕之间切换,顺序交互。

  • 隐喻的概念 - Xerox Star 和 Alto 是第一个使用隐喻概念的系统,这导致了界面的自发性。

  • 本·施奈德曼引入的直接操纵 (1982 年) - 首次用于 Apple Mac PC (1984 年),减少了语法错误的可能性。

  • 凡尼瓦尔·布什引入超文本 (1945 年) - 用来表示文本的非线性结构。

  • 多模态 (1980 年代后期)。

  • 计算机支持的协同工作 (1990 年代) - 计算机介导的通信。

  • 万维网 (1989 年) - 第一个图形浏览器(Mosaic)出现在 1993 年。

  • 普适计算 - 目前 HCI 领域最活跃的研究方向。基于传感器的/上下文感知计算,也称为无处不在的计算。

HCI 在印度的根源

从 80 年代后期开始,一些突破性的创作图形传播设计师开始对 HCI 领域感兴趣。其他人则通过设计 CD-ROM 标题程序跨越了门槛。有些人通过为网络设计和提供计算机培训进入该领域。

尽管印度在提供成熟的 HCI 课程方面落后,但印度的设计师除了创造力艺术表现力之外,还将设计视为一种解决问题的活动,并更愿意在需求尚未得到满足的领域工作。

这种对设计的渴望经常促使他们进入创新领域并通过自学获取知识。后来,当 HCI 前景出现在印度时,设计师采用了可用性评估、用户研究、软件原型设计等技术。

HCI 指南

施奈德曼的八条黄金法则

美国计算机科学家本·施奈德曼总结了一些关于设计的隐含事实,并提出了以下八条一般准则:

  • 力求一致性。
  • 满足普遍可用性。
  • 提供信息反馈。
  • 设计对话以产生闭环。
  • 防止错误。
  • 允许轻松撤消操作。
  • 支持内部控制中心。
  • 减少短期记忆负荷。

这些准则对普通设计师和界面设计师都有益。使用这八条准则,可以区分好的界面设计和坏的界面设计。它们对实验性评估识别更好的 GUI 有益。

诺曼的七项原则

为了评估人与计算机之间的交互,唐纳德·诺曼在 1988 年提出了七项原则。他提出了七个阶段,可用于转换困难的任务。以下是诺曼的七项原则:

  • 利用世界知识和头脑知识。

  • 简化任务结构。

  • 使事物可见。

  • 正确映射(用户心智模型 = 概念模型 = 设计模型)。

  • 将约束转化为优势(物理约束、文化约束、技术约束)。

  • 为错误设计。

  • 如果其他方法都失败了 - 标准化。

启发式评估

启发式评估是一种系统的方法,用于检查用户界面是否存在可用性问题。一旦在设计中检测到可用性问题,就会将其作为持续设计过程的一个组成部分加以解决。启发式评估方法包括一些可用性原则,例如尼尔森的十项可用性原则。

尼尔森的十项启发式原则

  • 系统状态的可见性。
  • 系统与现实世界的匹配。
  • 用户控制与自由。
  • 一致性和标准。
  • 错误预防。
  • 识别而非回忆。
  • 使用的灵活性和效率。
  • 美观和简约的设计。
  • 帮助、诊断和错误恢复。
  • 文档和帮助

尼尔森提出的上述十项原则在评估和解释启发式评估人员在审核界面或产品时遇到的问题方面起到了清单的作用。

界面设计指南

本节介绍了一些更重要的 HCI 设计指南。一般交互、信息显示和数据输入是三种 HCI 设计指南类别,下面将对其进行解释。

一般交互

一般交互指南是全面的建议,重点关注一般说明,例如:

  • 保持一致性。

  • 提供有意义的反馈。

  • 要求对任何重要的非平凡操作进行身份验证。

  • 授权轻松撤消大多数操作。

  • 减少操作之间必须记住的信息量。

  • 追求对话、动作和思想的熟练程度。

  • 原谅错误。

  • 按功能对活动进行分类,并相应地建立屏幕地理位置。

  • 提供上下文相关的帮助服务。

  • 使用简单的动作动词或短动词短语来命名命令。

信息显示

HCI 提供的信息不应不完整或不清楚,否则应用程序将无法满足用户的需求。为了提供更好的显示,制定了以下指南:

  • 仅显示适用于当前上下文的那些信息。

  • 不要用数据给用户带来负担,使用允许快速集成信息的演示布局。

  • 使用标准标签、标准缩写和可能的颜色。

  • 允许用户保持视觉上下文。

  • 生成有意义的错误消息。

  • 使用大小写、缩进和文本分组来帮助理解。

  • 使用窗口(如果可用)对不同类型的信息进行分类。

  • 使用模拟显示来描述更容易与此表示形式集成的信息。

  • 考虑显示屏幕的可用地理位置并有效地利用它。

数据输入

以下指南侧重于数据输入,这是 HCI 的另一个重要方面:

  • 减少用户需要执行的输入操作数量。

  • 维持信息显示和数据输入之间的一致性。

  • 让用户自定义输入。

  • 交互应该灵活,但也应调整到用户首选的输入模式。

  • 禁用在当前操作上下文中不合适的命令。

  • 允许用户控制交互流程。

  • 提供帮助以协助所有输入操作。

  • 移除“米老鼠”输入。

交互系统设计

本章的目的是学习交互系统的设计和开发的所有方面,这些系统现在已成为我们生活中重要的一部分。这些系统的设计和可用性会影响人们与技术之间关系的质量。Web 应用程序、游戏、嵌入式设备等都是该系统的一部分,该系统已成为我们生活中不可或缺的一部分。现在让我们讨论一下该系统的一些主要组成部分。

可用性工程的概念

可用性工程是软件和系统开发过程中的一种方法,它包括从过程开始就获得用户参与,并通过使用可用性需求和指标来确保产品的有效性。

因此,它指的是抽象、实施和测试硬件和软件产品的整个过程的可用性功能特性。从需求收集阶段到产品的安装、营销和测试,所有这些都属于此过程。

可用性工程的目标

  • 使用有效 - 功能性
  • 使用高效 - 效率
  • 使用无错误 - 安全
  • 易于使用 - 友好
  • 使用愉快 - 愉悦体验

可用性

可用性包含三个组成部分——有效性、效率和满意度,用户利用这三个组成部分在特定环境中实现目标。让我们简要了解一下这些组成部分。

  • 有效性——用户实现其目标的完整程度。

  • 效率——有效实现目标时使用的资源能力。

  • 满意度——工作系统对其用户的易用性。

可用性研究

基于实验评估的人、产品和环境之间交互作用的系统研究。例如:心理学、行为科学等。

可用性测试

根据用户需求、能力、前景、安全性和满意度,对既定可用性参数进行的科学评估称为可用性测试。

验收测试

验收测试,也称为用户验收测试 (UAT),是一种由用户执行的测试程序,作为在与供应商签署最终协议之前的最后检查点。让我们以手持式条形码扫描仪为例。

假设一家超市从供应商处购买了条形码扫描仪。超市召集了一个收银员团队,让他们在模拟商店环境中测试设备。通过此程序,用户将确定产品是否满足他们的需求。在他们从供应商处收到最终产品之前,需要用户验收测试“通过”。

软件工具

软件工具是一种程序化软件,用于创建、维护或以其他方式支持其他程序和应用程序。HCI 中一些常用的软件工具如下:

  • 规范方法——用于指定 GUI 的方法。尽管这些方法冗长且模棱两可,但易于理解。

  • 语法——程序能够理解的书面指令或表达式。它们提供了完整性和正确性的确认。

  • 转换图——可以在文本、链接频率、状态图等中显示的节点和链接集。它们难以评估可用性、可见性、模块化和同步性。

  • 状态图——为同时进行的用户活动和外部操作开发的图表方法。它们提供与界面构建工具的链接规范。

  • 界面构建工具——有助于设计命令语言、数据输入结构和小部件的设计方法。

  • 界面模型工具——用于快速绘制 GUI 草图的工具。例如:Microsoft Visio、Visual Studio .Net 等。

  • 软件工程工具——提供用户界面管理系统的扩展编程工具。

  • 评估工具——评估程序正确性和完整性的工具。

HCI 和软件工程

软件工程是研究软件的设计、开发和维护。它与 HCI 联系在一起,使人机交互更加生动和互动。

让我们看看软件工程中用于交互式设计的以下模型。

瀑布模型

Waterfall Model

交互系统设计

Interactive System Design

软件工程瀑布模型的单向移动表明,每个阶段都依赖于前一个阶段,反之则不然。但是,此模型不适用于交互式系统设计。

交互式系统设计表明,每个阶段都相互依赖,以实现设计和产品创建的目的。这是一个持续的过程,因为需要了解的东西太多,用户也一直在变化。交互式系统设计师应该认识到这种多样性。

原型设计

原型设计是另一种类型的软件工程模型,它可以具有预计系统的所有功能范围。

在 HCI 中,原型设计是一种试用和部分设计,可帮助用户在不执行完整系统的情况下测试设计理念。

原型的示例可以是草图。交互式设计的草图稍后可以制作成图形界面。请参见下图。

Prototyping

上图可以被视为低保真原型,因为它使用手动程序(如在纸上进行草图绘制)。

中保真原型涉及系统的一些但并非所有过程。例如,GUI 的第一个屏幕。

最后,高保真原型在设计中模拟了系统的所有功能。此原型需要时间、金钱和劳动力。

以用户为中心的设计 (UCD)

收集用户反馈以改进设计的过程称为以用户为中心的设计或 UCD。

UCD 缺点

  • 用户参与被动。
  • 用户对新界面的感知可能不合适。
  • 设计师可能会向用户提出错误的问题。

交互式系统设计生命周期 (ISLC)

下图中的阶段会重复进行,直到找到解决方案。

图表

Interactive System Design Life Cycle

GUI 设计与美学

图形用户界面 (GUI) 是用户可以在计算机系统中操作程序、应用程序或设备的界面。这是图标、菜单、小部件、标签存在以供用户访问的地方。

GUI 中的所有内容都以一种易于识别且赏心悦目的方式排列这一点非常重要,这体现了 GUI 设计师的美学意识。GUI 美学为任何产品提供个性和标识。

印度工业中的 HCI

在过去的几年里,印度的大多数 IT 公司都在招聘 HCI 相关活动的设计师。即使是跨国公司也开始从印度招聘 HCI 人才,因为印度设计师在建筑、视觉和交互设计方面证明了自己的能力。因此,印度的 HCI 设计师不仅在国内,而且在国外也崭露头角。

尽管可用性一直存在,但该职业在过去十年中蓬勃发展。并且由于新产品频繁开发,耐用性预测也看起来非常乐观。

根据对可用性专家的估计,印度只有 1000 名专家。总体需求约为 60,000 人。在该国所有设计师中,HCI 设计师约占 2.77%。

HCI 类比

让我们举一个大家都能理解的常见类比。电影导演是一个凭借经验可以从事剧本创作、表演、剪辑和摄影的人。他/她可以被认为是负责电影所有创作阶段的唯一负责人。

类似地,HCI 可以被视为电影导演,其工作部分是创意性的,部分是技术性的。HCI 设计师对所有设计领域都有充分的了解。下图描述了这种类比:

HCI Analogy

交互设备

多种交互式设备用于人机交互。其中一些是已知的工具,一些是最近开发的,或者是一些未来需要开发的概念。在本章中,我们将讨论一些新的和旧的交互式设备。

触摸屏

触摸屏的概念在几十年前就被预言了,但平台是最近才获得的。如今,许多设备都使用触摸屏。在仔细选择这些设备后,开发人员会自定义其触摸屏体验。

制造触摸屏最便宜且相对简单的方法是使用电极和电压关联。除了硬件差异外,即使使用相同的硬件,仅软件就可以在一种触摸设备与另一种触摸设备之间带来重大差异。

随着创新设计以及新的硬件和软件的出现,触摸屏未来很可能得到大规模发展。可以通过在触摸与其他设备之间进行同步来进行进一步开发。

在 HCI 中,触摸屏可以被视为一种新的交互式设备。

手势识别

手势识别是语言技术中的一门学科,其目标是通过数学程序理解人类的动作。目前,手势识别是重点关注的领域。这项技术是面向未来的。

这项新技术实现了人与计算机之间的高级关联,无需使用任何机械设备。这种新的交互式设备可能会取代键盘等旧设备,并且对触摸屏等新设备也很重要。

语音识别

将口语短语转录成书面文本的技术称为语音识别。此类技术可用于高级控制许多设备,例如打开和关闭电器。只需要识别某些命令即可完成转录。但是,这对于大型词汇表来说可能没有好处。

此 HCI 设备帮助用户实现免提移动,并使基于指令的技术与用户保持最新。

键盘

键盘可以被视为我们今天都知道的原始设备。键盘使用一组键/按钮作为计算机的机械设备。键盘上的每个键都对应一个书面符号或字符。

这是人与机器之间最有效和最古老的交互式设备,它为开发更多交互式设备提供了思路,并在自身方面也取得了进步,例如计算机和手机的软屏键盘。

响应时间

响应时间是指设备响应请求所需的时间。请求可以是数据库查询到加载网页的任何内容。响应时间是服务时间和等待时间的总和。当响应需要通过网络传输时,传输时间成为响应时间的一部分。

在现代 HCI 设备中,安装了多个应用程序,并且大多数应用程序同时运行或根据用户的使用情况运行。这使得响应时间更加繁忙。响应时间的所有增加都是由等待时间的增加引起的。等待时间是由于请求的运行以及其后的请求队列造成的。

因此,设备的响应时间越快越好,为此,现代设备中使用了先进的处理器。

设计流程与任务分析

HCI 设计

HCI 设计被认为是一个解决问题的过程,其组成部分包括计划用途、目标区域、资源、成本和可行性。它决定了产品相似性以平衡权衡的要求。

以下几点是交互设计的四个基本活动:

  • 识别需求
  • 构建替代设计
  • 开发设计的交互式版本
  • 评估设计

以用户为中心的方法的三个原则为:

  • 尽早关注用户和任务
  • 经验测量
  • 迭代设计

设计方法

自人类与计算机交互领域诞生以来,涌现出各种阐述人机交互技术的方法论。以下是几种设计方法论:

  • 活动理论 - 这是一种HCI方法,描述了人机交互发生的框架。活动理论提供推理、分析工具和交互设计。

  • 以用户为中心的设计 - 它将用户置于设计的中心位置,让他们有机会与设计师和技术人员合作。

  • 用户界面设计原则 - 容错性、简单性、可见性、可供性、一致性、结构反馈是界面设计中使用的七大原则。

  • 价值敏感设计 - 这种方法用于开发技术,包括三种类型的研究:概念性、经验性技术性

    • 概念性研究致力于理解使用技术的投资者的价值观。

    • 经验性研究是定性或定量的设计研究,展示了设计师对用户价值观的理解。

    • 技术性研究包括在概念性和经验性研究中使用技术和设计。

参与式设计

参与式设计过程将所有利益相关者都纳入设计过程,以便最终结果满足他们期望的需求。这种设计应用于各个领域,例如软件设计、建筑、景观建筑、产品设计、可持续性、平面设计、规划、城市设计,甚至医学。

参与式设计不是一种风格,而是关注设计的过程和程序。它被视为一种消除设计师设计责任和起源的方式。

任务分析

任务分析在用户需求分析中发挥着重要作用。

Task Analysis

任务分析是了解用户和抽象框架、工作流程中使用的模式以及与GUI交互的按时间顺序实现的过程。它分析用户划分任务并对其进行排序的方式。

什么是任务?

有助于实现有用目标的人为行为,目标指向系统,这就是任务。任务分析定义的是用户而不是计算机的执行。

层次任务分析

层次任务分析是将任务分解成可以利用逻辑执行顺序进行分析的子任务的过程。这将有助于以最佳方式实现目标。

“层次结构是元素的组织,根据先决条件关系,描述了学习者必须采取的体验路径,才能实现层次结构中较高位置的任何单一行为。(Seels & Glasgow,1990,第 94 页)”。

分析技术

  • 任务分解 - 将任务分解成子任务并按顺序排列。

  • 基于知识的技术 - 用户需要了解的任何说明。

“用户”始终是任务的起点。

  • 人种学 - 在使用情境中观察用户的行为。

  • 协议分析 - 观察和记录用户操作。这是通过验证用户的思维来实现的。让用户大声思考,以便理解用户的思维逻辑。

工程任务模型

与层次任务分析不同,工程任务模型可以正式指定,并且更有用。

工程任务模型的特征

  • 工程任务模型具有灵活的表示法,可以清晰地描述可能的活动。

  • 它们有组织的方法来支持需求、分析和在设计中使用任务模型。

  • 它们支持将现成的设计解决方案循环用于应用程序中发生的问题。

  • 最后,它们允许自动工具访问以支持设计周期的不同阶段。

ConcurTaskTree (CTT)

CTT 是一种用于建模任务的工程方法,由任务和运算符组成。CTT 中的运算符用于描述任务之间的时间顺序关联。以下是 CTT 的关键特征:

  • 关注用户希望完成的操作。
  • 层次结构。
  • 图形语法。
  • 丰富的顺序运算符集。

对话设计

对话是两个或多个实体或系统之间交互的构建。在 HCI 中,对话在三个层次上进行研究:

  • 词汇级 - 此级别处理图标的形状、实际按下的键等。

  • 语法级 - 此级别描述交互中输入和输出的顺序。

  • 语义级 - 在此级别,处理对话对内部应用程序/数据的影响。

对话表示

为了表示对话,我们需要正式的技术,它有两个目的:

  • 它有助于更好地理解提议的设计。

  • 它有助于分析对话以识别可用性问题。例如,可以回答“设计是否真正支持撤销?”等问题。

形式化的介绍

我们可以使用许多形式化技术来表示对话。在本章中,我们将讨论三种形式化技术,它们是:

  • 状态转换网络 (STN)
  • 状态图
  • 经典的Petri网

状态转换网络 (STN)

STN 最为直观,它知道对话从根本上来说表示从系统的某个状态到下一个状态的转换。

STN 的语法包括以下两个实体:

  • 圆圈 - 圆圈表示系统的状态,通过给状态命名来标记。

  • 弧线 - 圆圈通过弧线连接,弧线表示导致从弧线起始状态转换到结束状态的动作/事件。

STN 图

STN Diagram

状态图

状态图表示复杂的反应系统,它扩展了有限状态机 (FSM),处理并发,并向 FSM 添加了内存。它还简化了复杂系统的表示。状态图具有以下状态:

  • 活动状态 - 底层 FSM 的当前状态。

  • 基本状态 - 这些是单个状态,不包含其他状态。

  • 超状态 - 这些状态由其他状态组成。

说明

对于每个基本状态 b,包含 b 的超状态称为祖先状态。当超状态处于活动状态时,如果其子状态中只有一个处于活动状态,则该超状态称为 OR 超状态。

让我们看看一个投币后分配瓶子的机器的状态图构建。

StateChart

上图解释了整个自动售货机的过程。在投入硬币后按下按钮,机器将在装瓶和分配模式之间切换。当所需的请求瓶可用时,它会分配瓶子。在后台,运行另一个过程,其中任何卡住的瓶子都会被清除。步骤 4 中的“H”符号表示为将来访问而将过程添加到历史记录中。

Petri 网

Petri 网是活动行为的简单模型,它具有四个行为元素,例如:位置、转换、弧线和标记。Petri 网提供图形化的解释,便于理解。

  • 位置 - 此元素用于表示反应系统的被动元素。位置用圆圈表示。

  • 转换 - 此元素用于表示反应系统的活动元素。转换用正方形/矩形表示。

  • 弧线 - 此元素用于表示因果关系。弧线用箭头表示。

  • 标记 - 此元素会发生变化。标记用小的实心圆圈表示。

视觉思维

自古以来,视觉材料就以绘画、素描、地图、图表、照片等形式辅助沟通过程。在当今世界,随着技术的进步和进一步发展,为视觉信息(如思维和推理)提供了新的潜力。根据研究,视觉思维在人机交互 (HCI) 设计中的应用尚未完全开发出来。因此,让我们学习支持 HCI 设计中意义建构活动的视觉思维理论。

在网络信息设计方面,人们发现了一套用于讨论视觉思维的初始术语,其中包括视觉直接性、视觉推动力、视觉阻抗以及视觉隐喻、类比和联想等概念。

因此,在设计过程中,此设计过程非常适合作为一种逻辑和协作的方法。让我们简要讨论一下这些概念。

视觉直接性

这是一种推理过程,有助于理解视觉表示中的信息。选择该术语是为了突出其与时间相关的特性,它也作为设计在多大程度上促进了推理的指标。

视觉推动力

视觉推动力被定义为一种刺激,旨在增强对表示的上下文方面的参与度。

视觉阻抗

它被认为是视觉直接性的反面,因为它阻碍了表示的设计。在推理方面,阻抗可以表示为较慢的认知。

视觉隐喻、联想、类比、溯因和融合

  • 当使用视觉演示来理解一个想法,将其解释为另一个熟悉的想法时,这被称为视觉隐喻。

  • 视觉类比和概念融合类似于隐喻。类比可以定义为从一个特定事物到另一个事物的推论。概念融合可以定义为来自不同情况的元素和重要关系的组合。

HCI 设计可以通过使用上述概念获益匪浅。这些概念在支持 HCI 中使用视觉程序以及在设计过程中都具有实用价值。

直接操纵编程

直接操纵已被誉为一种良好的界面设计形式,并受到用户的欢迎。此类过程使用多种来源获取输入,并最终使用内置工具和程序将其转换为用户所需的输出。

“直接性”被认为是主要促成操纵编程的现象。它有两个方面。

  • 距离
  • 直接参与

距离

距离是决定用户目标与系统提供的解释水平之间差距的界面,用户与之交互。这些被称为执行鸿沟评估鸿沟

执行鸿沟

执行鸿沟定义了用户目标与实现该目标的设备之间的差距/鸿沟。可用性的主要目标之一是通过消除障碍并遵循步骤来最大程度地减少用户对预期任务的干扰,从而缩小这一差距,这将阻止工作流程。

评估鸿沟

评估鸿沟是用户从设计中的系统中解释出来的期望的表示。根据唐纳德·诺曼的说法,当系统以易于获取、易于解释并与用户对系统思考方式相匹配的形式提供有关其状态的信息时,鸿沟很小。

直接参与

它被描述为一种编程,其中设计直接处理用户呈现的对象的控制,并使系统更易于使用。

对执行和评估过程的审查阐明了使用系统的努力。它还提供了最大程度地减少使用系统所需的心理努力的方法。

直接操纵的问题

  • 尽管响应的即时性和目标转换为操作使某些任务变得容易,但并非所有任务都应该很容易完成。例如,重复性操作最好通过脚本而不是通过即时性来完成。

  • 直接操纵界面难以管理变量,或从一类元素中说明离散元素。

  • 直接操纵界面可能不准确,因为其依赖于用户而不是系统。

  • 直接操纵界面的一个重要问题是,它直接支持用户认为的技术。

项目呈现顺序

在人机交互中,可以根据任务或应用程序的要求计划呈现顺序。应注意菜单中项目的自然顺序。呈现顺序的主要因素包括:

  • 时间
  • 数字排序
  • 物理属性

当没有与任务相关的安排时,设计人员必须选择以下方案之一:

  • 术语的字母顺序
  • 相关项目的组合
  • 最常用的项目优先
  • 最重要的项目优先

菜单布局

  • 菜单应使用任务语义进行组织。
  • 宽而浅的菜单应优于窄而深的菜单。
  • 位置应通过图形、数字或标题显示。
  • 子树应使用项目作为标题。
  • 项目应有意义地组合。
  • 项目应有意义地排序。
  • 应使用简洁的项目。
  • 应使用一致的语法、布局和技术。
  • 应允许提前输入、跳过或其他快捷方式。
  • 应允许跳转到上一个菜单和主菜单。
  • 应考虑在线帮助。

应为以下组件定义一致性指南:

  • 标题
  • 项目放置
  • 说明
  • 错误消息
  • 状态报告

表单填写对话框

适用于多个数据字段的输入:

  • 完整的信息应对用户可见。
  • 显示应类似于熟悉的纸质表单。
  • 应提供一些针对不同类型条目的说明。

用户必须熟悉:

  • 键盘
  • 使用Tab键或鼠标移动光标
  • 错误纠正方法
  • 字段标签含义
  • 允许的字段内容
  • Enter键和/或Return键的使用。

表单填写设计指南:

  • 标题应有意义。
  • 说明应易于理解。
  • 字段应进行逻辑分组和排序。
  • 表单应具有视觉吸引力。
  • 应提供熟悉的字段标签。
  • 应使用一致的术语和缩写。
  • 应提供方便的光标移动功能。
  • 应提供单个字符和整个字段的错误纠正功能。
  • 错误预防。
  • 应显示不可接受值的错误消息。
  • 可选字段应清楚标记。
  • 应提供字段的解释性消息。
  • 应显示完成信号。

信息检索与可视化

数据库查询

数据库查询是从数据库检索信息的主要机制。它包含预定义格式的数据库问题。许多数据库管理系统使用结构化查询语言 (SQL) 标准查询格式。

示例

SELECT DOCUMENT#
FROM JOURNAL-DB
WHERE (DATE >= 2004 AND DATE <= 2008)
AND (LANGUAGE = ENGLISH OR FRENCH)
AND (PUBLISHER = ASIST OR HFES OR ACM)

当用户能够查看和控制搜索时,他们的表现会更好,满意度也会更高。因此,数据库查询在人机交互中提供了大量帮助。

以下要点阐明了文本搜索的用户界面的五阶段框架:

  • 制定 - 表达搜索

  • 启动操作 - 启动搜索

  • 审查结果 - 阅读消息和结果

  • 细化 - 制定下一步

  • 使用 - 编译或传播见解

多媒体文档搜索

以下是主要的多媒体文档搜索类别。

图像搜索

在普通的搜索引擎中执行图像搜索并不容易。但是,有一些网站可以通过输入您选择的图像来进行图像搜索。大多数情况下,使用简单的绘图工具来构建搜索模板。对于复杂的搜索(如指纹匹配),会开发特殊的软件,用户可以在其中搜索机器中预定义的独特特征数据。

地图搜索

地图搜索是另一种形式的多媒体搜索,其中在线地图通过移动设备和搜索引擎检索。尽管复杂的搜索(如经纬度搜索)需要结构化的数据库解决方案。使用高级数据库选项,我们可以检索各个方面的各种地图,例如城市、州、国家、世界地图、天气图、路线等。

设计/图表搜索

一些设计软件包也支持设计或图表的搜索。例如:图表、蓝图、报纸等。

声音搜索

也可以通过数据库的音频搜索轻松进行声音搜索。不过,用户应清楚地说出要搜索的单词或短语。

视频搜索

Infomedia 等新项目有助于检索视频搜索。它们提供视频或视频帧分割的概述。

动画搜索

随着Flash的普及,动画搜索的频率有所增加。现在可以搜索特定的动画,例如移动的船只。

信息可视化

信息可视化是对概念数据的交互式视觉表示,它增强了人类的理解。它源于人机交互研究,并被用作各个领域的关键组成部分。它允许用户同时查看、发现和理解大量信息。

信息可视化也是一种假设结构,通常在正式检查(如统计假设检验)之后进行。

高级过滤

以下是一些高级过滤程序:

  • 使用复杂的布尔查询进行过滤
  • 自动过滤
  • 动态查询
  • 分面元数据搜索
  • 示例查询
  • 隐式搜索
  • 协同过滤
  • 多语言搜索
  • 视觉字段规范

超文本和超媒体

超文本可以定义为包含具有即时访问权限的超链接的文本。任何提供对另一段文本的引用的文本都可以理解为两个信息节点,引用构成链接。在超文本中,所有链接都是活动的,单击时会打开新的内容。

另一方面,超媒体是一种信息媒介,它包含不同类型的媒体,例如视频、CD等,以及超链接。

因此,超文本和超媒体都指的是一个链接信息系统。文本可能引用链接,这些链接也可能包含视觉或媒体。因此,超文本可以用作通用术语来表示文档,该文档实际上可能分布在多个媒体上。

网站设计的对象-动作界面模型

对象-动作界面 (OAI) 可以被认为是图形用户界面 (GUI) 的下一步。此模型侧重于对象优先于操作。

OAI 模型

OAI 模型允许用户对对象执行操作。首先选择对象,然后对对象执行操作。最后,结果将显示给用户。在此模型中,用户不必担心任何语法操作的复杂性。

对象-动作模型为用户提供了优势,因为他们由于直接参与设计过程而获得了一种控制感。计算机充当表示不同工具的媒介。

面向对象编程

面向对象编程范式 (OOPP)

面向对象编程范式在人机交互中发挥着重要作用。它具有不同的组件,这些组件获取现实世界中的对象并在其上执行操作,从而在人与机器之间进行实时交互。以下是 OOPP 的组件:

  • 此范式描述了一个现实生活系统,其中交互发生在现实对象之间。

  • 它将应用程序建模为一组相互交互的相关对象。

  • 编程实体被建模为一个类,表示相关现实世界对象的集合。

  • 编程从现实世界对象和类的概念开始。

  • 应用程序被划分为多个包。

  • 包是类的集合。

  • 类是类似现实世界对象的封装组。

对象

现实世界中的对象具有两个共同特征:它们都具有状态和行为。让我们看下面的图片示例来了解对象。

Objects OOP

在上图中,“狗”对象既有状态又有行为。

对象将其信息存储在属性中,并通过方法公开其行为。现在让我们简要讨论面向对象编程的不同组件。

数据封装

通过对象的方法隐藏类的实现细节,称为数据封装。在面向对象编程中,它将代码和数据绑定在一起,并保护它们免受外部干扰。

公共接口

软件实体在单台计算机或网络中相互交互的点称为公共接口。这有助于数据安全。其他对象可以通过仅使用那些通过公共接口暴露给外部世界的那些方法来更改对象的状态。

类是一组具有共同方法的对象。它可以被认为是创建对象的蓝图。

类处于被动状态,不相互通信,但用于实例化相互通信的对象。

继承

继承通常是指获取属性的过程。在 OOP 中,一个对象继承另一个对象的属性。

多态性

多态性是指多个类使用相同方法名称并重新定义派生类的方法的过程。

示例

Polymorphism Example

用户界面设计的面向对象建模

面向对象的界面将用户与现实世界联系起来,用于设计目的的操作软件对象。让我们看一下图表。

OOM of User Interface Design

界面设计力求在交互任务和操作的帮助下成功实现用户目标。

在为界面设计创建 OOM 时,首先进行用户需求分析。设计指定每个对话框所需的结构和组件。之后,开发界面并根据用例进行测试。示例:个人银行应用程序。

然后分析为每个用例记录的过程序列以查找关键对象。这将生成一个对象模型。关键对象称为分析对象,任何显示这些对象之间关系的图都称为对象图。

人机交互总结

在本教程中,我们已经学习了人机交互的基本方面。从这里开始,我们可以参考完整的参考书籍和指南,这些书籍和指南将深入介绍该主题的编程方面。我们希望本教程能帮助您理解主题,并对该主题产生兴趣。

我们希望未来看到HCI设计领域出现新的职业,这些职业将借鉴现有的设计实践。未来的HCI设计师肯定会采用许多如今属于专家领域的技能。对于现有的专家实践,我们希望他们能够像过去其他人一样不断发展。

未来,我们希望重塑软件开发工具,使编程对人们的工作和爱好更有用。我们也希望将软件开发理解为一项协作工作,并研究软件对社会的影响。

广告