可用性與使用者體驗

過於複雜難以使用的軟體,往往不會被使用。因為我們希望盡可能多的人能夠受益於其獨特的安全性,Qubes OS 的可用性與使用者體驗是重中之重!

我們要求為 Qubes OS 進行開發的任何人閱讀本指南,以更好地理解我們努力實現的使用者體驗。我們也要求他們查閱我們的視覺風格指南以了解其他設計相關資訊。


易於使用

理想的使用者體驗是友善的,它吸引新使用者探索介面。在這個過程中,他們可以自然地發現如何使用軟體。以下是一些指南,將幫助您設計實現此目標的使用者介面。

redx 介面不應該

  • 要求使用者在*開始*做事之前進行大量組態

  • 使其能夠以不可復原的方式破壞提供的功能或操作

  • 執行危及安全性和資料的操作

  • 用過多的資訊和認知負荷壓垮使用者

也許錯誤最常見的原因是複雜性。如果有一個組態設定會顯著影響使用者的體驗,請選擇一個安全且智慧的預設值,然後將此設定藏在「進階設定」面板中。

checkmark 介面應該

  • 讓發現功能和可用操作變得容易

  • 提供對已發現功能的一些理解

  • 提供輕鬆撤銷錯誤的能力

  • 為設定選擇智慧的預設值

在讓軟體易於使用的過程中,注意`認知負荷 <https://en.wikipedia.org/wiki/Cognitive_load>`__ 至關重要,它指出*「人類通常只能在短期記憶中保留七加減兩個資訊單元。」*確保您的介面不超過此短期記憶限制,可能是幫助使用者感到舒適而非不知所措的最重要因素。


易於理解

總是需要向使用者傳達資訊。在這些情況下,介面應旨在使這些資訊易於理解。以下是有助於實現此目標的簡單指南——這些都不是絕對的準則!

redx 避免使用縮寫詞

縮寫詞很簡潔,適合命令列工具的名稱。但它們不會讓圖形使用者介面對非技術使用者更直觀。在知道縮寫詞的含義之前,它就是亂碼。盡可能在您的介面中避免使用縮寫詞!

  • DVM - 可 disposable 虛擬機器

  • GUID - 全域唯一識別碼

  • PID - 程序識別碼

  • NetVM - 網路虛擬機器

儘管有這條規則,一些像 USB 這樣的縮寫詞由於已普遍使用超過十年而廣為人知。當 Universal Serial Bus 這樣的全稱更容易混淆使用者時,使用這些縮寫詞是好的。

checkmark 使用簡單詞彙

使用最少的詞彙來達到描述性,同時也能提供資訊。選擇盡可能廣泛理解的常見詞彙。有時,創造一個像 Qube 這樣的詞來描述 virtual machine 會讓使用者的生活輕鬆得多。

  • 使用 Disposable Qube 代替 DVMDisposable Virtual Machine

  • 使用 interface 代替 GUIGraphical User Interface

  • 使用 application number 代替 PIDProcess Identification Number

  • 根據上下文使用 NetworkingNetworking Qube 代替 NetVM


redx 避免使用技術詞彙

技術詞彙通常更精確,但它們往往*只*對技術使用者有意義,而對非技術使用者來說則令人困惑且無幫助。Qubes OS 中可能出現的技術詞彙範例有:

  • root.img

  • savefile

  • qrexec-daemon

這些都是曾在使用者的通知訊息中出現過的詞彙。每個詞彙都非常具體,但需要使用者理解虛擬化才能解讀。

checkmark 使用常見概念

全球有大量人口已經使用電腦一二十年,並形成了一些關於事物運作方式的心智模型。利用這些心智模型是巨大的收益。

  • 使用 disk space 代替 root.img,因為雖然不完全精確,但在上下文中有意義

  • 使用 saving 代替 savefile,因為前者是要完成的操作

  • 使用 Qubes 代替 qrexec-daemon,因為它能更好地提供正在發生的事情的上下文

這些詞更抽象且與使用者相關——它們幫助使用者根據已知概念(disk space)理解正在發生的事情,或開始形成對新事物(Qubes)的心智模型。


redx 避免不一致

根據術語在介面中出現的位置,很容易開始縮寫(或創造縮寫詞)像 Disposable Virtual Machine 這樣的長術語。

  • DVM

  • DispVM

  • DisposableVM

這種術語上的變化可能導致新使用者質疑或猜測這三種不同變體的含義,從而導致不行動或錯誤。

checkmark 保持一致

始終努力在介面以及文件和其他材料中保持一致。

  • 始終使用 Disposable Qube,因為它也符合其他標準。

透過在整個介面中使用相同的術語,使用者可以建立心智模型並與該術語建立關係,使他們感到有能力。


redx 避免重複詞彙

很容易在列表或選單中的項目前面加上 Domain 等詞彙以試圖達到描述性,例如:

Menu
- Domain: work
- Domain: banking
- Domain: personal

重複使用 Domain 一詞要求使用者為列表中的每個項目都讀取它,這增加了眼睛解析 work、banking personal 等相關詞彙的額外工作。這也影響了固定寬度行上的水平空間。

checkmark 建立群組與分類

將事物分組放在標題下更有效率,因為這讓眼睛更容易掃描項目的獨特性。(根據我們之前的範例:)

Domains
- Work
- Banking
- Personal

易於完成

最後,預期(和非預期)的情況通常需要使用者操作或輸入。讓解決這些情況變得盡可能容易,以完成操作。

redx 不要讓使用者陷入困境

考慮以下通知:

  • The disk space of your Qube "Work" is full

  • There was an error saving Qube "Personal"

與其顯示這類可解決的錯誤而忽略提供修復方法:

checkmark 提供可行的解決方案

錯誤訊息和限制(如前一個範例中的那些)可以透過新增按鈕或連結到有用的資訊來大幅改善。

  • 新增一個「增加磁碟空間」的按鈕

  • 新增一個名為「故障排除:儲存資料」的文件頁面連結

遵循這些原則,您將使不理想的情況對使用者來說更易於管理,而不是讓他們感到進退兩難。


checkmark 最小化重複步驟

有許多情況是使用者想要對多個檔案或資料夾執行操作。然而,為了執行該操作,使用者必須重複某些步驟,例如:

  1. 從選單或按鈕點選「開啟檔案」

  2. 瀏覽檔案系統

    • 點選資料夾一

    • 點選資料夾二

    • 點選資料夾三

    • 點選資料夾四

  3. 選擇正確的檔案

  4. 完成對檔案的操作

如果使用者需要在同一個目錄中開啟多個檔案,點選瀏覽檔案系統這個細微的操作可能會變得顯著。我們可以透過變更流程來減輕部分工作:

  1. 從選單或按鈕點選「開啟檔案」

  2. 記住上次開啟的資料夾/檔案系統

  3. 選擇正確的檔案

  4. 完成操作

顯然,消除像瀏覽檔案系統這樣簡單的事情可以為使用者節省相當多的時間。或者,新增像「開啟多個檔案」這樣的按鈕或選單項目可能更好,因為記住和使用相關的快速鍵通常是只有進階使用者才會做的事!


GNOME、KDE 與 Xfce

QubesOS 1 至 4.1 版本提供的桌面 GUI 是 KDEXfce。我們目前正在遷移到使用 GNOME。我們知道有些人偏好 KDE,但我們相信 GNOME 對一般的非技術使用者來說更容易使用。Xfce 將始終受到支援,技術使用者將始終可以選擇使用 KDE 或其他桌面環境。

這項變更意味著您應該為新的 GUI 使用 GTK 而非 Qt。

所有這三個提及的桌面環境都有各自的`人機介面指南 <https://en.wikipedia.org/wiki/Human_interface_guidelines>`__,我們建議您熟悉您正在開發的平台。


進一步學習與啟發

學習設計直觀的介面和軟體是一項專業技能,可能需要多年培養,但如果您有興趣進一步了解,我們建議以下資源: