Skip to content

Instantly share code, notes, and snippets.

@Cee
Last active August 29, 2015 14:24
Show Gist options
  • Save Cee/216403f94e110f14b4c1 to your computer and use it in GitHub Desktop.
Save Cee/216403f94e110f14b4c1 to your computer and use it in GitHub Desktop.
HCI
  • 什麼是人機交互

    1. HCI:Human-Computer Interaction,有关交互式计算机系统的设计、评估、实现以及与之相关现象的学科。
    2. UCD:User-Centered Design
    3. Usability
    4. 人機交互的研究內容:人、计算机和他们之间相互联系的方式(交互)。
    5. HCI 的重要性:
      • 市場角度:用戶期望簡單易用的系統,對設計差的容忍差
      • 企業角度:降低產品開發成本和後續成本,提高員工生產效率
      • 用戶角度:獲得較高的主觀滿意度,減少時間金錢生命損失
    6. 相關領域:藝術、哲學、工程科學、人類科學
    7. 領域:
      • 交互和界面设计的关系,交互是不是界面设计? 不是
      • UCD
      • Usability
  • 人機交互的歷史

    1. 幾大階段
      • 批處理階段
      • 終端/命令行字符階段
      • 圖形界面(WIMP,window,icon,menu,pointing device)
        • GUI:Graphical User Interface 直接操縱
      • 多媒体用户界面
      • 旧的交互形式作为特例保存下来,因為還有人在用
    2. 人機交互和軟件工程:
      • 功能為中心和用戶為中心
      • 前者是对后者的促进和补充:完善系統功能
      • 結合困難:
        1. 價值觀不同:SE 傾向性 HCI 主觀靈活性
        2. 方法論:SE 形式化 HCI 非形式化
  • 人機交互的基礎知識

    1. 交互範型和形式:Form
      • 命令行:節省資源,快速完成任務/基於回憶(recall memory)
      • 菜單驅動:容易糾錯,基於識別(recognition)/導航不夠靈活,占用空間高
      • 基於表格:簡化數據輸入/佔用大量屏幕空間
      • 直接操縱:自由 捕獲 終止
      • 隱喻:直觀,無需學習/不具有擴展性,可能有不同的聯想
      • 問答:詢問用戶,記憶要求低,適合新手/有效輸入,乏味
      • 自然語言交互
    2. 信息處理模型
      • 人類處理機:感知、認知、動作處理器(大头娃娃模型)
        • 人的記憶特性:感覺記憶(遺忘) 短時記憶(遺忘) 長時記憶(衰退)
      • 格式塔心理學:研究人是如何感知一个良好组织的模式的,而不是将其视为一系列相互独立的部分
        • 相近性原则、相似性原则、连续性原则、完整性和闭合性原则
        • 用户在感知事物的时候总是尽可能将其视为一个“好”的型式
      • 人的認知特性:感覺記憶,短時記憶
    3. 交互輸入設備
      • 文本輸入設備:鍵盤、手寫輸入、語音輸入
      • 定位設備:WIMP 鼠標 觸控板 指針杆 觸摸屏
      • 圖像輸入設備:掃描儀 數碼相機 傳真
      • 顯示設備:
        • CRT:色彩豐富 高清晰度 低成本/輻射 大空間
        • 液晶:低輻射 體積小/貴 側面失真 響應慢 壽命短
        • 等離子:可視角度比液晶大 更好的色彩質量和對比度/壽命短 殘像
        • 發光二極管:耗電小 反應快 壽命長 體積小/貴
        • 電子墨水
    4. 交互框架
      • 作用:
        1. 提供理解或定义某种事物的一种结构
        2. 能够帮助人们结构化设计过程
        3. 认识设计过程中的主要问题
        4. 还有助于定义问题所涉及的领域
      • 执行/评估活动周期 EEC 模型 Execution-Evaluation Cycle
        • 单个目标可对应多个意图
        • 七個階段,一個圈:(外部世界 → )感知系統狀態 → 解釋系統狀態 → 評估輸出 → 形成目標 → 形成意圖 → 明確動作 → 執行動作
        • EEC 模型可解释为什么有些界面的使用存在问题
          1. 执行隔阂
            • 用户为达目标而制定的动作与系统允许的动作之间的差别(“保存文件”举例)
          2. 评估隔阂
            • 系统状态的实际表现与用户预期之间的差别
        • 意义
          1. 如何才能够使用户简单地确定哪些活动是被允许的
          2. 如何确定系统是否处于期望的运行状态等问题
  • 交互设计目标与原则

    1. 可用性目標和度量:
      • 易学性:找一些未使用過的用戶,統計學習使用系統達到某種熟練程度的時間
      • 易记性:对非频繁使用用户进行测试最能体现系统的易记性
      • 高效率:對於有經驗的和無經驗的,發現績效水平不提高的時候
      • 少出错:在用户执行特定任务时通过统计这种操作的次数
      • 主观满意度:可以1-5或1-7的Likert度量尺度或语义差异尺度作为打分标准
    2. 用户体验目标:感觉 主觀
    3. 简易可用性工程
      • 可用性度量:设计图标 对每一个可用性属性,定义出可度量的标准
    4. 四项主要技术
      • 用户和任务观察:直接和潜在用户接触
      • 场景(scenario):简便易行的原型工具,可以是纸质也可以是简单的 RAD 原型
      • 简化的边做边说(thinking aloud):让用户在执行一组任务时讲出他们的所思所想。需要不断提示用户。
      • 启发式评估:用多个人来评估,5 名专家能够发现约 80% 的可用性问题。
    5. 交互设计规则
      • 启发式原则:
        1. 系统状态的可见度 进度条
        2. 系统和现实世界的吻合 取钱
        3. 用户享有控制权和自主权 撤销
        4. 一致性和标准化 道路标示
        5. 避免出错 日期
        6. 依赖识别而非记忆 定制样式
        7. 使用的灵活性和高效性 快捷键
        8. 审美感和最小化设计 遥控器
        9. 帮助用户识别、诊断和恢复错误 press key
        10. 帮助和文档 帮助菜单
  • 交互設計過程

    1. HTA:層次化任務分析
    2. 主要問題:用戶、需求、候選方案、決策
    3. 生命週期
  • 交互需求定義

    1. 需求:具體明確無歧義的
    2. 產品特性:功能、物理條件、使用條件的不同
    3. 用戶特性:人物的差異(年齡文化健康体验水平)
      • 新手用戶
      • 中間用戶
      • 專家用戶
    4. 用戶建模:
      • 人物角色:Personas 誰會使用系統
      • 建模過程:拼湊 組織 細節 求精
    5. 需求獲取、分析和驗證
      • 獲取:場景和觀察
        • 人物角色+场景剧本→需求
        • 由场景生成故事板(Storyboard)
      • 任務分析:HTA(層次化任務分析,hierarchical task analysis)
        • 把任务分解为若干子任务,再把子任务进一步分解为更细致的子任务。之后,把他们组织成一个“执行次序”,说明在实际情形下如何执行各项任务
        • 文字和圖形化描述
      • 需求驗證:
        • 原型:低/高保真原型
  • 交互系统的设计

    1. 設計框架:High Level,使用 Storyboard
    2. 軟件設計的考慮
      • 让软件友好和体贴
      • 加快系统的响应时间
      • 减轻用户的记忆负担
      • 减少用户的等待感
      • 设计好的出错信息
    3. 简化交互设计策略
      • 删除、组织、隐藏、转移:遙控器
      • 可能会考简化设计策略中几种策略的应用方式
      • 技术使用过程中注意的问题(可能简答题)
    4. 卡片分類:根據事物分類,導航/表格設計
  • 可視化設計

    1. 窗口和菜單
      • 多文檔界面
      • 單文檔界面
      • 標籤文檔界面
      • 菜单应该按语义及任务结构来组织,访问系统功能的工具
    2. 對話框
      • 典型的辅助性窗口
      • 模态对话框/非模态对话框 是否凍結
      • 屬性/功能/進度/公告/警告/确认對話框:绝不要用临时对话框作为错误信息框或确认信息框!
      • 标签对话框/扩展对话框/级联对话框
      • 设计原则:
        1. 把主要的交互操作放在主窗口中
        2. 视觉上区分模态与非模态对话框
        3. 不要用临时对话框作为错误信息框或确认信息框
        4. 不要堆叠标签
    3. 控件:命令控件 选择控件 显示控件 文本输入控件
    4. 工具欄:
      • 圖標設計:相似 示例 象徵 任意
  • 交互設計模型和理論

    1. 預測模型:能够预测用户的执行情况,但不需要对用户做实际测试
      • GOMS 模型:
        • Goal Operator Method Selection
        • 目標 操作 方法 選擇規則
        • 分治的思想
      • 击键层次模型(KLM 屬於 GOMS)
        • K:按下按鈕 选一般
        • P:使用鼠標或其他設備指向某一位置
        • P1:按下鼠標/按鍵
        • H:手放回鍵盤/設備
        • D:用鼠標劃線
        • M:心理準備
        • R(t):系統響應時間
        • 放 M 啓發式規則:
          1. 在每一步需要访问长时记忆区的操作前放置一个 M
          2. 在所有K和P之前放置M:K -> MK; P -> MP
          3. 删除键入单词或字符串之间的M:MKMKMK -> MKKK
          4. 删除复合操作之间的M (如, 选中P和点击P1):MPMP1 -> MPP1
    2. 状态转移网络:動態轉移圖
      • 状态转移网
      • 三態模型:
        • 无反馈运动(状态0)
        • 跟踪运动(状态1)
        • 拖动运动(状态2)
    3. 語言模型:
      • BNF 表達式
        • ::= 定義為
        • + 序列
        • | 選擇
    4. 系統模型:
      • Z 標記法
        • Shape_type ::= Line | Ellipse | Rectangle
        • Shape_type×R×R×Point
  • 评估的基础知识

    1. 評估的優點:能儘早修復錯誤,大大縮短開發時間
    2. 評估的目標:評估系統功能的範圍和可達性/交互中的用戶的體驗/確定系統的某些特定問題
    3. 評估的原則:依賴於用戶/選擇代表性的用戶/在真實的實際工作中進行
    4. 評估的範型:快速评估 可用性测试 实地研究 预测性评估
    5. 評估技術:觀察用戶 詢問用戶意見 詢問專家意見 測試用戶的執行情況 基於模型理論
    6. 評估方法的選擇:
      • 不同方法的試用階段
        1. 快速評估:非正式地向用户或顾问了解反馈信息 任何階段
        2. 可用性測試:評估出錯次數和時間 密切控制之下
        3. 實地研究:理解情形的影響 工作環境
        4. 預測性評估:通過對用戶的了解 無用戶參與
      • 評估方法的組合
        1. 访谈+问卷调查
        2. 启发式评估(不需要用户参与,只是找人)+边做边说
    7. DECIDE 评估框架:开始目标问题,选择任务,確定技術,找人,道德问题,收集分析数据。
      1. 决定评估需要完成的总体目标(确定目标)
      2. 发掘需要回答的具体问题(发掘问题)
      3. 选择用于回答具体问题的评估范型和技术(选择评估范型和技术):折衷权衡!
      4. 标识必须解决的实际问题,如测试用户的选择(明确实际问题)
      5. 决定如何处理有关道德的问题(处理道德问题):協議書 IRB
      6. 评估解释并表示数据(评估、解释并表示数据)
    8. 小規模試驗多次:問題分級
  • 觀察用戶

    1. 觀察方式:
      • 真實環境
      • 受控環境
      • 实验室观察(測試和觀察區)
      • 现场观察 超市收銀
    2. 觀察框架:G&L 框架
      • 關注事件的上下文、人員和技術(人 行為 時間 地點 原因 方式)
    3. 觀察記錄方式:
      • 紙筆記錄
      • 音視頻記錄
      • 日志和交互记录
    4. 分析
      • 定性分析
      • 定量分析
  • 詢問用戶和專家

    1. 目的:
      • 了解用戶的需要:問用戶
      • 不知道把握:問專家
    2. 訪談(問卷形式):有目的的對話
      • 開放/結構化/半結構化/集體
      • 原則:避免過長 避免複合句 避免誘導 避免無法理解 中立
      • 焦點小組:
        • 人數:6﹣9 個典型用戶
        • 多維度用戶
        • 保持不離題
      • 問卷調查:
        • 明確具體
        • 一般化到具體
        • 無看法答案選項
    3. 启发式评估
      • 由可用性專家組成
      • 步骤
        • 彻底检查界面
        • 将界面与启发式规则进行对比
        • 列举可用性问题
      • 分類
        • 不同作用因素:頻率 影響 持續時間
        • 嚴重性等級劃分
      • 準備 評估 分析 彙總
      • 编号 问题描述 严重等级 修复等级 违反规则 改进建议
      • 3-5名评估专家
  • 用戶測試

    1. 設計:
      • 折衷
      • DECIDE 測試框架
    2. 過程
      • 定义目标和问题:
        1. 开展一个测试的原因 用户在少于5秒的时间内,能够导航到正确的3级菜单
      • 选择参与者(怎么选择参与者,计划在哪里找多少参与者,不要是空架子)
        1. 典型用戶
        2. 4﹣5 位
        3. 男女比例
      • 设计测试任务(设计测试任务很重要,不能引导用户,不能使用用户听不懂的语言)
        1. 簡單複雜的任務
        2. 5﹣20分鐘
        3. 先簡單來增強信心
      • 明确测试步骤(不需要写完整的脚本,测试步骤可以省略)测试脚本中涵盖什么内容。
        1. 進度表和說明
        2. 配置設備
        3. 小規模測試
        4. 可以詢問遇到了什麼問題
        5. 控制時間
        6. 繼續任務
      • 数据搜集与分析(打算收集什么数据,怎么分析)
        1. 如何度量
        2. 定量度量:時間 錯誤數 錯誤類型 翻閱文檔的個數 完成任務的用戶數
    3. 準備:
      • 計劃時間表
      • 腳本
      • 示範性測試
    4. 數據分析:自變量 因變量
  • 用户为中心的设计 UCD

    1. 重要性
    2. 形式
    3. 上下文询问法:用戶知道研究人員
    4. 為何
      • 影响产品的创新性
      • 可操作性受到时间、预算和任务规模的限制
      • 忽视了人的主观能动性和对技术的适应能力
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment