Human Computer Interface 简明教程

Human Computer Interface - Quick Guide

Human Computer Interface Introduction

人机界面 (HCI) 以前称为人机研究或人机交互。它处理人机系统的设计、执行和评估以及相关现象。

HCI 可用于所有学科中,只要有可能安装计算机。以下列出了一些能够以显著重要性实施 HCI 的领域−

  1. Computer Science ——用于应用程序设计和工程。

  2. Psychology ——用于理论和分析目的。

  3. Sociology − 人机互动技术和组织之间的交互。

  4. Industrial Design − 互动产品,比如移动电话,微波炉等。

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

Objective

学习本学科的目的是了解设计用户友好界面或交互的方式。基于这一点,我们将学习以下内容:

  1. 设计和评估交互式系统的方法。

  2. 通过认知系统和任务模型减少设计时间的方法。

  3. 交互式系统设计的程序和启发法。

Historical Evolution

从执行批处理的早期计算机到以用户为中心的,以下是几个里程碑:

  1. Early computer (e.g. ENIAC, 1946) − 硬件技术的发展带来了计算能力的大幅提升。人们开始思考创新理念。

  2. Visual Display Unit (1950s) − SAGE(半自动地面环境),美国的一个防空系统,使用了最早版本的 VDU。

  3. Development of the Sketchpad (1962) − Ivan Sutherland 开发了 Sketchpad,并证明计算机可以用于更多的数据处理工作。

  4. Douglas Engelbart introduced the idea of programming toolkits (1963) − 较小的系统创建了更大的系统和组件。

  5. Introduction of Word Processor, Mouse (1968) − 设计 NLS(在线系统)。

  6. Introduction of personal computer Dynabook (1970s) − 开发 Xerox PARC 中的 Smalltalk。

  7. Windows and WIMP interfaces − 同时在台式机上同时运行多种作业,在工作和屏幕之间切换,顺序交互。

  8. The idea of metaphor − Xerox 星和 Alto 是首个使用隐喻概念的系统,这使界面更具自发性。

  9. Direct Manipulation introduced by Ben Shneiderman (1982) − 首次在 Apple Mac PC(1984 年)中使用,减少了语法错误的可能性。

  10. Vannevar Bush introduced Hypertext (1945) − 表示文本的非线性结构。

  11. Multimodality (late 1980s).

  12. Computer Supported Cooperative Work (1990’s) − 计算机介导的通信。

  13. WWW (1989) −第一个图形浏览器(Mosaic)于 1993 年推出。

  14. Ubiquitous Computing −目前 HCI 中最活跃的研究领域。基于传感器/上下文感知计算,也称为普适计算。

Roots of HCI in India

一些开创性的创作和图形交流设计师自 80 年代末开始对 HCI 领域表现出兴趣。其他人则通过设计 CD-ROM 标题的程序跨过了门槛。其中一些人通过为网络设计和提供计算机培训进入了该领域。

尽管印度在提供既定的 HCI 课程方面一直落后,但印度的设计师除了创造力和艺术表现外,还认为设计是一种解决问题的活动,并且更喜欢在需求尚未得到满足的领域工作。

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

Guidelines in HCI

Shneiderman’s Eight Golden Rules

美国计算机科学家 Ben Shneiderman 巩固了一些关于设计的隐含事实,并提出了以下八条一般准则−

  1. Strive for Consistency.

  2. Cater to Universal Usability.

  3. Offer Informative feedback.

  4. 设计对话以产生闭合。

  5. Prevent Errors.

  6. 允许轻松地逆转操作。

  7. 支持控制的内部轨迹。

  8. 减少短期记忆负荷。

这些准则对普通设计师和界面设计师都有利。使用这八条准则,可以将好的界面设计与不好的界面设计区分开来。它们有利于在实验评估中识别更好的 GUI。

Norman’s Seven Principles

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

  1. 同时利用世界中的知识和头脑中的知识。

  2. Simplify task structures.

  3. Make things visible.

  4. 正确获取映射(用户心智模型=概念模型=设计模型)。

  5. 将限制转化为优势(物理限制、文化限制、技术限制)。

  6. Design for Error.

  7. 当所有其他方法都失败时−标准化。

Heuristic Evaluation

启发式评估是一种检查用户界面可用性问题的系统方法。一旦在设计中检测到可用性问题,它们将作为持续设计过程的组成部分得到处理。启发式评估方法包括一些可用性原则,例如尼尔森的十项可用性原则。

Nielsen’s Ten Heuristic Principles

  1. Visibility of system status.

  2. 系统与现实世界的匹配性。

  3. User control and freedom.

  4. Consistency and standards.

  5. Error prevention.

  6. Recognition rather than Recall.

  7. 灵活性和使用效率。

  8. Aesthetic and minimalist design.

  9. 错误的救助、诊断和恢复。

  10. Documentation and Help

上文提到的尼尔森十大原则在启发式评估员审计界面或产品时,可用作评估和解释问题的一个检查清单。

Interface Design Guidelines

本节介绍了一些更为重要的 HCI 设计准则。以下解释了 HCI 设计准则的三种类别:通用交互、信息显示和数据输入。

General Interaction

通用交互准则是一些全面建议,其关注于通用指令,例如:

  1. Be consistent.

  2. Offer significant feedback.

  3. 询问任何非关键性严重动作的认证。

  4. 授权轻松撤销大多数动作。

  5. 减少动作中必须记住的信息量。

  6. 在对话、动作和思考中追求能力。

  7. Excuse mistakes.

  8. 按功能对活动分类并相应地建立屏幕地理。

  9. 提供语境相关的帮助服务。

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

Information Display

HCI 提供的信息不应不完整或不明确,否则该程序将无法满足用户的要求。为提供更好的界面显示,准备了以下准则:

  1. 仅显示适用于当前语境的信息。

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

  3. 使用标准标签、标准缩写和可预测颜色。

  4. 允许用户保持视觉语境。

  5. Generate meaningful error messages.

  6. 使用大小写、缩进和文本文档编组来帮助理解。

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

  8. 使用模拟显示来表征信息,这种信息能更容易与此表达形式集成。

  9. 考虑显示屏的可操作地理,并高效使用它。

Data Entry

以下准则着重于作为 HCI 的另一个重要方面的数据录入——

  1. 降低用户所需输入操作的次数。

  2. 维持信息显示和数据输入之间的稳定性。

  3. 允许用户自定义输入。

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

  5. 停用在当前操作环境中不合适的指令。

  6. 允许用户控制交互流程。

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

  8. Remove "mickey mouse" input.

Interactive System Design

本章的目标是了解交互式系统(现已成为我们生活中重要组成部分)的设计和开发的各个方面。这些系统的设计和可用性对人们与技术的关系质量产生影响。Web 应用程序、游戏、嵌入式设备等都是该系统的一部分,该系统已成为我们生活中不可或缺的一部分。现在让我们讨论该系统的一些主要组件。

Concept of Usability Engineering

可用性工程是软件和系统进展中的一种方法,它包含了用户从流程开始时的贡献,并通过使用可用性需求和指标来确保产品的有效性。

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

Goals of Usability Engineering

  1. 易于使用——功能

  2. 使用高效——高效

  3. 使用时无错误− 安全

  4. 使用方便− 友好

  5. 使用愉快− 令 人愉悦的体验

Usability

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

  1. Effectiveness − 用户实现其目标的完整性。

  2. Efficiency − 使用资源有效实现目标中使用的能力。

  3. Satisfaction − 工作系统对其用户来说的简便性。

Usability Study

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

Usability Testing

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

Acceptance Testing

验收测试,又称用户验收测试(UAT),是由用户当做在供应商处签字之前的一个最终检查点执行的一项测试程序。让我们以手持条形码扫描仪为例。

Software Tools

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

  1. Specification Methods − 用于指定 GUI 的方法。虽然这些方法冗长且模棱两可,但它们易于理解。

  2. Grammars − 程序可以理解的书面指令或表达式。它们为完整性和正确性提供了确认。

  3. Transition Diagram − 可以以文本、链接频率、状态图等形式显示的一组节点和链接。它们难以评估可用性、可见性、模块性和同步性。

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

  5. Interface Building Tools − 有助于设计命令语言、数据输入结构和小部件的设计方法。

  6. Interface Mockup Tools − 用于快速绘制 GUI 草图的工具。例如,Microsoft Visio、Visual Studio .Net 等。

  7. Software Engineering Tools − 提供用户界面管理系统的广泛编程工具。

  8. Evaluation Tools − 用于评估程序正确性和完整性的工具。

HCI and Software Engineering

Software engineering 是设计、开发和维护软件的研究。它与 HCI 接触以使人机交互更加充满活力和互动性。

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

The Waterfall Method

the waterfall model

Interactive System Design

interactive system design

软件工程的瀑布模型的单向移动表明每个阶段都取决于前面的阶段,而不是反过来。然而,此模型不适用于交互式系统设计。

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

Prototyping

原型设计是另一种可以使用投影系统的完整功能范围的软件工程模型。

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

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

prototyping

上图可以看作是 Low Fidelity Prototype ,因为它使用了手动程序,如在纸上绘制草图。

Medium Fidelity Prototype 涉及系统的部分程序,但不是全部程序。例如,GUI 的第一个屏幕。

最后,[ Hi Fidelity Prototype 将系统的所有功能模拟设计中。此原型需要时间、金钱和劳动力。

User Centered Design (UCD)

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

UCD Drawbacks

  1. Passive user involvement.

  2. 用户对新界面的感知可能不恰当。

  3. 设计师可能向用户提出不正确的问题。

Interactive System Design Life Cycle (ISLC)

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

[ Diagram

interactive system design life cycle

GUI Design & Aesthetics

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

GUI 中的每一项都是以用户可以识别且赏心悦目的方式进行排列,这一点非常重要,它体现了 GUI 设计者的审美意识。GUI 美学为任何产品提供了特色和特性。

HCI in Indian Industries

在过去的几年中,印度的大多数 IT 公司都在聘用设计师从事 HCI 相关活动。甚至跨国公司也开始在印度聘用 HCI 人员,因为印度设计师已证明他们在体系结构、视觉和交互设计方面的能力。因此,印度 HCI 设计师不仅在国内声名鹊起,而且在国外也表现突出。

即使可用性已经存在了很长时间,但在过去十年中,该职业也蓬勃发展。由于经常开发新产品,因此耐用性预后看起来也很不错。

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

HCI Analogy

让我们来举一个每个人都能理解的著名类比。电影导演是凭借其经验从事剧本写作、表演、编辑和电影摄影的人。他/她可以被认为是影片所有创意阶段的唯一责任人。

类似地,HCI 可以被视为电影导演,其工作一部分具有创造性,一部分具有技术性。HCI 设计师对所有设计领域都有深入的了解。下图描述了该类比 −

hci analogy

Interactive Devices

人机交互采用了几种交互设备。其中的某些是已知工具,而另一些是最近开发的,或者是在未来要开发的一个概念。在本章中,我们将讨论一些新旧交互设备。

Touch Screen

几十年前就开始预测触摸屏概念,但是该平台直到最近才获取。现在有许多设备使用触摸屏。仔细选择这些设备后,开发者自定义其触摸屏体验。

制造触摸屏最便宜并且相对容易的方法是使用电极和电压关联的那些方法。除了硬件差异之外,即使使用相同的硬件,软件本身也能给一个触摸设备带来重大的差异。

随着创新的设计以及新的硬件和软件,触摸屏未来可能大大发展。可以通过使触摸与其他设备同步进行进一步开发。

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

Gesture Recognition

手势识别是语言技术中的一个科目,其目标是通过数学过程理解人类运动。手势识别目前是关注领域。此技术基于未来。

此新技术使人与计算机之间的关联更为高级,其中不使用机械设备。此新交互设备可能终止旧设备(例如键盘),而且在触摸屏等新设备中使用也十分繁重。

Speech Recognition

口语转换为书面文本的技术是语音识别。此类技术可用在许多设备的高级控制中,例如接通和关闭电器。对于完整的转录,只需要识别某些指令。然而,这对于大词汇量来说没有任何益处。

此 HCI 设备可帮助用户实现双手自由移动,并使基于指令的技术针对用户保持最新。

Keyboard

键盘可被视为我们今天所熟知的原始设备。键盘使用一组键/按钮,作为计算机的机械设备。键盘中的每个键都对应于一个书写符号或字符。

这是人与机器之间最有效、最古老的交互式设备,在提出更多交互式设备方面给出了想法,并且自身也取得了进步,如计算机和移动电话的软屏幕键盘。

Response Time

响应时间是由设备响应请求所花费的时间。该请求可以是来自数据库查询到加载网页等任何内容。响应时间是服务时间和等待时间的总和。当响应必须通过网络传输时,传输时间将成为响应时间的一部分。

在现代 HCI 设备中,有多个已安装的应用程序,其中大多数应用程序可以同时运行,也可以根据用户的用法运行。这使得响应时间更加繁忙。响应时间的全部增加是由等待时间的增加造成的。等待时间是由于请求的运行及其后的请求队列造成的。

因此,设备的响应速度更快很重要,为此在现代设备中使用了高级处理器。

Design Process & Task Analysis

HCI Design

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

以下几点是交互式设计的基本活动 −

  1. Identifying requirements

  2. Building alternative designs

  3. 发展设计的互动版本

  4. Evaluating designs

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

  1. 早期关注用户和任务

  2. Empirical Measurement

  3. Iterative Design

Design Methodologies

自创立以来,出现了各种方法论,它们概述了人机交互的技术。以下是一些设计方法论 −

  1. Activity Theory − 这是描述人机交互框架的 HCI 方法。活动理论提供了推理、分析工具和交互设计。

  2. User-Centered Design − 它为用户提供了设计中心舞台,他们有机会与设计师和技术从业者合作。

  3. Principles of User Interface Design − 在界面设计中使用了七个原则:容错性、简单性、可见性、可辨别性、一致性、结构和反馈。

  4. Value Sensitive Design − 此方法用于开发技术,包括三种类型研究 − 概念、经验和技术。概念调查研究致力于理解使用技术的投资者的价值观。经验调查是定性或定量设计研究,显示了设计者对用户价值的理解。技术调查包含在概念和经验调查中使用技术和设计。

Participatory Design

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

参与式设计不是一种风格,而是专注于设计的过程和程序。它被视为一种由设计者取消设计问责制和起源的方法。

Task Analysis

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

task analysis

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

What is a TASK?

为有用的目标做出的有助于系统的操作就是任务。任务分析定义了用户的行为,而不是计算机的行为。

Hierarchical Task Analysis

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

Techniques for Analysis

  1. Task decomposition − 将任务分成子任务并按顺序排列。

  2. Knowledge-based techniques − 用户需要了解的任何指令。

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

  1. Ethnography − 观察用户在使用环境中的行为。

  2. Protocol analysis − 观察和记录用户的动作。这是通过认证用户的思维来实现的。让用户大声思考,以便了解用户的逻辑思维。

Engineering Task Models

与分层任务分析不同的是,工程任务模型可以正式指定,而且用途更广。

Characteristics of Engineering Task Models

  1. 工程任务模型具有灵活的符号,可以清楚地描述可能的活动。

  2. 他们有组织的方法来支持设计中对任务模型的需求、分析和使用。

  3. 他们支持可行的设计解决方案的回收利用,以解决在整个应用程序中发生的问题。

  4. 最后,他们让自动工具可用于支持设计周期的不同阶段。

ConcurTaskTree (CTT)

CTT 是一种用于对任务进行建模的工程方法,它由任务和操作员组成。CTT 中的操作员用于描述任务之间的顺序关联。以下是 CTT 的主要特征:

  1. 专注于用户希望完成的行动。

  2. Hierarchical structure.

  3. Graphical syntax.

  4. 丰富的顺序操作员集。

Dialog Design

对话是两个或更多存在者或系统之间交互的构建。在 HCI 中,对话在三个层面上进行研究 -

  1. Lexical − 本层处理图标形状、实际按下的键等。

  2. Syntactic − 本层描述交互中输入和输出的顺序。

  3. Semantic − 本层处理对话对内部应用程序/数据的影响。

Dialog Representation

为了表示对话,我们需要使用可用于以下两个目的的形式化技术 -

  1. 它有助于更好地理解拟议设计。

  2. 它有助于分析对话以识别可用性问题。例如,可以回答“该设计实际上是否支持撤消操作?”等问题。

Introduction to Formalism

有许多我们可用来表示对话的形式化技术。在本章中,我们将讨论其中三种形式化技术,即 -

  1. 状态转换网络 (STN)

  2. The state charts

  3. The classical Petri nets

State Transition Network (STN)

STN 是最自发的,它知道对话从根本上表示从系统的一个状态到下一个状态的进行。

STN 的语法包含以下两个实体 -

  1. Circles − 一个圆圈是指系统的一个状态,通过给状态命名来标记。

  2. Arcs − 圆圈通过弧线连接,弧线表示从弧线起始状态到弧线结束状态的转换产生的动作/事件。

STN Diagram

stn diagram

StateCharts

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

  1. Active state − 底层 FSM 的当前状态。

  2. Basic states − 这些是单个状态,不包含其他状态。

  3. Super states − 这些状态由其他状态组成。

Illustration

让我们看一看为插入硬币而分配瓶子的机器的状态图构建。

statechart

上面的图表解释了瓶子分配机的整个过程。在插入硬币后按按钮,机器将在瓶子填充和分配模式之间切换。当有所需的请求瓶子时,它会分配瓶子。在后台,另一个程序正在运行,其中任何卡住的瓶子都将被清除。第 4 步中的“H”符号表示向历史记录中添加了一个过程以供将来访问。

Petri Nets

Petri Net 是活动行为的一个简单模型,它有四个行为元素,如位置、转换、弧线和令牌。Petri Nets 提供了一个图形化的解释,便于理解。

  1. Place − 此元素用于表示反应系统的被动元素。一个位置由一个圆圈表示。

  2. Transition − 此元素用于表示反应系统的主动元素。转换由方块/矩形表示。

  3. Arc − 此元素用于表示因果关系。弧线由箭头表示。

  4. Token − 此元素是可以改变的。令牌由填充的小圆圈表示。

Visual Thinking

视觉材料以绘画、素描、地图、图表、照片等形式帮助人们进行交流的过程已经存在了很长时间。在当今世界,随着科技的发明和进一步发展,视觉信息提供了新的可能性,例如思考和推理。根据研究,在人机交互 (HCI) 设计中对视觉思维的掌握尚未完全被发现。因此,让我们学习支持 HCI 设计中感官活动中视觉思维的理论。

最初发现了一个关于视觉思维的术语,其中包括视觉直接性、视觉推动力、视觉阻抗以及视觉比喻、类比和联想等概念,这些概念在网络的信息设计中得到了应用。

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

Visual Immediacy

它是一个推理过程,有助于理解视觉表示中的信息。选择这个术语是为了突出它与时间相关质量,这也作为衡量设计促进推理是否流畅的指标。

Visual Impetus

视觉推动力被定义为旨在提高对表征的背景方面的参与度的刺激。

Visual Impedance

它被认为与视觉直接性相反,因为它阻碍了表征的设计。关于推理,阻抗可以表示为更慢的认知。

Visual Metaphors, Association, Analogy, Abduction and Blending

  1. 当视觉演示用于根据另一个熟悉的想法理解一个想法时,它被称为视觉比喻。

  2. 视觉类比和概念融合类似于比喻。类比可以定义为从一个特定含义到另一个含义的推论。概念融合可以定义为将不同情况中的元素和重要关系进行组合。

HCI 设计可以通过使用上述概念受益匪浅。这些概念在支持 HCI 中使用视觉程序以及在设计过程中都非常实用。

Direct Manipulation Programming

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

“直接性”被认为是一种对操作编程有重要贡献的现象。它有以下两个方面。

  1. Distance

  2. Direct Engagement

Distance

距离是一个决定了用户目标与系统提供的解释级别之间鸿沟的接口,用户使用该接口。这些被称为执行鸿沟和评估鸿沟。

The Gulf of Execution

执行鸿沟界定了用户目标与实现该目标的设备之间的差距/鸿沟。可用性的主要目标之一是通过消除障碍并采取措施最大程度地减少用户在分心执行预期任务时会阻碍工作流的障碍,从而缩小此差距。

The Gulf of Evaluation

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

Direct Engagement

它被描述为一种面向对象编程,其中设计直接负责用户呈现的对象控件,并且使得系统更易于使用。

对执行和评估过程的审查可以阐明使用系统的努力。它还给出了最小化使用系统所需的心智努力的方法。

Problems with Direct Manipulation

  1. 即使响应的即时性和目标与行动之间的转换使得一些任务变得容易,但并非所有任务都应轻松完成。例如,重复性操作可能最适合通过脚本完成,而不是通过即时性完成。

  2. 直接操作界面发现很难管理变量或从类中的元素说明离散元素。

  3. 直接操作界面可能不准确,因为依赖关系在于用户,而不是系统。

  4. 直接操作界面一个重要的缺陷是它直接支持用户想到的技术。

Item Presentation Sequence

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

  1. Time

  2. Numeric ordering

  3. Physical properties

当没有与任务相关的安排时,设计者必须选择以下前景之一:

  1. Alphabetic sequence of terms

  2. Grouping of related items

  3. 最常使用的项目排在第一位

  4. Most important items first

Menu Layout

  1. 应使用任务语义来组织菜单。

  2. 应该更喜欢宽而浅,而不是窄而深。

  3. 位置应通过图形、数字或标题显示。

  4. 子树应使用项目作为标题。

  5. 项目应有意义地分组。

  6. 项目应当有意义地安排。

  7. 应当使用简短的项目。

  8. 应当使用一致的语法、布局和技术。

  9. 应当允许向前键入、向前跳转或使用其他快捷方式。

  10. 应当允许跳转到上一个菜单和主菜单。

  11. 应当考虑在线帮助。

应当为以下组件定义一致性准则−

  1. Titles

  2. Item placement

  3. Instructions

  4. Error messages

  5. Status reports

Form Fill-in Dialog Boxes

适合多次输入数据字段−

  1. 用户应当可以查看到完整信息。

  2. 显示应当类似熟悉的纸质表格。

  3. 应当对不同类型的条目提供一些说明。

用户必须熟悉−

  1. Keyboards

  2. 使用 TAB 键或鼠标移动光标

  3. Error correction methods

  4. Field-label meanings

  5. Permissible field contents

  6. 使用回车键和/或返回键。

表单填写设计准则−

  1. Title should be meaningful.

  2. Instructions should be comprehensible.

  3. 字段应当按照逻辑分组并安排。

  4. 表单应当具有可视吸引力。

  5. 应当提供熟悉的字段标签。

  6. 应当使用一致的术语和缩写。

  7. 应提供便捷的光标移动功能。

  8. 应具备单个字符和整个字段的错误更正功能。

  9. Error prevention.

  10. 应填充不可接受值的错误消息。

  11. 应明确标注可选字段。

  12. 应提供字段的说明性消息。

  13. Completion signal should populate.

Information Search & Visualization

Database Query

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

Example

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

当用户可以查看和控制搜索时,他们的表现会更好,满意度也会更高。因此,数据库查询已经为人类计算机交互界面提供了大量的帮助。

以下几点是对文本搜索的用户界面进行说明的五阶段框架:

  1. Formulation − 表达搜索

  2. Initiation of action − 启动搜索

  3. Review of results - 阅读邮件和结果

  4. Refinement - 拟定下一步措施

  5. Use - 编制或传播洞察力

Multimedia Document Searches

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

在常见的搜索引擎中进行图像搜索并非易事。但有一些网站可以通过输入您选择的图像来完成图像搜索。通常,简单的绘图工具用于构建搜索用模板。对于指纹匹配等复杂的搜索,已开发出特殊的软件,用户可以搜索机器中预先定义的不同特性数据。

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

Design/Diagram Searches

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

也可以通过数据库的音频搜索轻松完成声音搜索。虽然用户应该清楚地讲出要搜索的单词或短语。

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

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

Information Visualization

信息可视化是概念数据交互式视觉插图,它增强了人们的理解。它源于人机交互领域的研究,并且作为一个关键组件应用于各个领域。它使用户能够一次查看、发现和理解大量的信息。

信息可视化也是一种假设结构,通常采用统计假设检验等形式化检查。

Advanced Filtering

以下是高级筛选过程:

  1. 使用复杂的布尔查询进行筛选

  2. Automatic filtering

  3. Dynamic queries

  4. Faceted metadata search

  5. Query by example

  6. Implicit search

  7. Collaborative filtering

  8. Multilingual searches

  9. Visual field specification

Hypertext and Hypermedia

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

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

因此,超文本和超媒体都指的是链接信息系统。文本可指向可能有视觉效果或媒体的链接。因此,超文本可用作通用术语来表示文档,而该文档实际上可能分布在多个媒体中。

Object Action Interface Model for Website Design

对象动作接口 (OAI) 可被视为图形用户界面 (GUI) 的下一步。此模型重点关注对象高于操作的优先级。

OAI Model

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

对象-动作模型为用户提供了优势,因为用户在设计过程中能够直接参与,获得一种控制感。计算机充当各种工具指示物。

Object Oriented Programming

Object Oriented Programming Paradigm (OOPP)

面向对象的编程范式在人机界面中起着重要作用。它具有不同的组件,这些组件采用现实世界的对象并对它们执行操作,从而使人机之间产生实时交互。以下是 OOP 的组件 −

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

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

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

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

  5. 应用程序被分成许多包。

  6. 类是一堆对象。

  7. 类是一组封装在一起的类似的现实世界中的对象。

Objects

现实世界中的对象有两种特征——它们都有状态和行为。让我们看看以下图片示例以了解对象。

objects oop

在上面的图表中,对象“狗”同时具有状态和行为。

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

Data Encapsulation

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

Public Interface

软件实体在单个计算机或网络中互相交互的点称为公共接口。这有助于保护数据。通过仅使用对外界公开的公共接口公开的方法,其他对象可以在交互中改变对象的状态。

Class

类是一组具有相互方法的对象。它可以看作用于创建对象的蓝图。

类是无源的,它们不相互通信,但可用于实例化相互交互的对象。

Inheritance

继承在一般情况下是获取属性的过程。在 OOP 中,一个对象继承另一个对象的属性。

Polymorphism

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

Example

polymorphism example

Object Oriented Modeling of User Interface Design

面向对象界面将用户与用于设计目的的真实世界操纵软件对象结合起来。让我们看下图表。

modeling of user interface design

界面设计努力通过交互任务和操纵来帮助用户成功实现目标。

在创建用于界面设计的 OOM 时,首先会对用户需求进行分析。设计指定了每个对话框所需的结构和组件。然后,根据用例开发和测试界面。例如——个人银行应用。

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

Human Computer Interface Summary

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

我们希望未来能看到人机交互设计方面诞生新的职业,并从中获得当前设计实践的帮助。明天的 HCI 设计师一定会采用许多技能,而这些技能是今天专家的领域。对于专家的当前实践,我们希望他们像过去其他人一样不断发展。

在未来,我们希望重新发明软件开发工具,让编程有助于人们的工作和业余爱好。我们还希望了解软件开发作为一项协作工作,并研究软件对社会的影响。