如何為傳統型應用程式設計絕佳的使用者體驗

注意

此設計指南是針對 Windows 7 所建立,但尚未針對較新版本的 Windows進行更新。 大部分的指導方針仍適用主體,但簡報和範例不會反映 我們目前的設計指導方針

絕佳的傳統型應用程式功能強大,同時簡單。 透過仔細平衡的功能選取和呈現,您可以達成強大和簡單。

強大:

screen shot of spelling and grammar dialog box

功能強大且簡單:

screen shot of list of possible spelling revisions

理想的Windows型應用程式既強大又簡單。 當然,您希望應用程式功能強大且當然想要簡單,但可以達成這兩者嗎? 這些目標之間有自然的壓力,但該壓力遠不可理解。 您可以透過仔細平衡的功能選取和呈現來達成強大和簡單。

讓應用程式更強大?

就軟體而言,「電源」真正代表什麼意思? 如果應用程式已滿滿功能,則應用程式可能會被視為功能強大,並嘗試讓所有使用者都能擁有大量功能。 這類設計不太可能成功,因為未設定目標的功能集不太可能滿足任何人的需求。 這不是我們之後的電源類型。

當應用程式具有下列特性的正確組合時,應用程式就很強大:

  • 使。 應用程式滿足其目標使用者的需求,讓他們能夠執行他們無法執行的工作,並有效地達成其目標。
  • 高效率。 應用程式可讓使用者執行具有生產力層級和規模的工作,且之前無法執行。
  • 多才多藝。 應用程式可讓使用者在各種情況下有效地執行各種工作。
  • 直接。 應用程式感覺就像是直接協助使用者達成其目標,而不是採取不必要的步驟。 快捷方式、鍵盤存取和宏等功能可改善直接性感。
  • 彈性。 應用程式可讓使用者完成、更精細地控制其工作。
  • 經過整合。 應用程式與 Microsoft Windows緊密整合,可讓它與其他應用程式共用資料。
  • 進階: 此應用程式在競爭解決方案中找不到令人令人不動、創新、最先進的功能。

其中一些特性取決於使用者的認知,而且與使用者的目前功能相對。 被視為強大的功能可能會隨著時間而改變,因此現今的進階搜尋功能可能會在明天很常見。

所有這些特性都可以合併到我們的能力定義中:

當應用程式可讓目標使用者有效率地實現其完整潛在能力時,應用程式就很強大。

因此,電源的最終量值是生產力,而不是特徵數目。

不同的使用者需要協助,以不同的方式達成其完整潛力。 哪些功能可讓某些使用者危害他人的多樣性、直接性和控制。 設計良好的軟體必須適當地平衡這些特性。 例如,專為非專業而設計的桌面發佈系統可能會使用精靈來引導使用者完成複雜的工作。 這類精靈可讓目標使用者執行他們無法執行的工作。 相較之下,適用于專業人員的桌面發佈系統可能會著重于直接性、效率及完整控制。 對於這類應用程式的使用者,精靈可能會受到限制且令人感到沮喪。

如果您只執行一件事...

瞭解目標使用者的目標,並製作一個功能集,讓他們能夠以生產力達成這些目標。

如何簡化使用者體驗?

我們會定義簡單性,如下所示:

簡單性是減少或消除以使用者為目標之設計的屬性,並考慮不必要。

實際上,透過選取正確的功能集並以正確的方式呈現功能,即可達成簡單性。 這可減少真實和認知的實體。

簡單性取決於使用者認知。 請考慮自動傳輸的效果取決於使用者的觀點:

  • 對於一般驅動程式 (目標使用者) ,自動傳輸可免除手動齒輪移位和換車的需求,讓汽車更容易駕駛。 手動齒輪移位和換車對於駕駛工作而言並不重要,因此會移除它們以達到簡單性。
  • 對於專業賽車車駕駛而言,直接控制傳輸是競爭不可或缺的。 自動傳輸會對汽車的效能造成負面影響,因此不會將其視為簡化。
  • 對於機械性而言,自動傳輸是更複雜的機制,因此比手動傳輸更容易修復或維護。 不同于機械,目標使用者非常熟悉這種內部複雜度。

雖然不同的使用者以不同的方式將自動傳輸視為成功,因為它可消除對目標使用者之知識、技能及投入的需求。 對於一般驅動程式而言,自動傳輸是一項絕佳的功能,因為它只會運作。

簡單性與使用方便性

簡單起見,在正確套用時,會導致方便使用。 但簡單且容易使用的概念並不相同。 當使用者可以自行順利執行工作,而不需要在適當的時間內發生困難或混淆時,就能輕鬆使用。 有許多方式可以達成容易使用,而且簡單性—減少 unessential— 只是其中一種。

不論其複雜程度為何,所有使用者都想要以最少的不必要工作完成工作。 所有使用者,甚至是進階使用者,主要是為了完成工作,而不是瞭解電腦或您的應用程式。

簡單性是達到方便使用,且方便使用等號使用的最有效方式。 複雜且難以使用的功能只是不會使用。 相較之下,執行其函式的簡單、簡潔設計是一個好用的快樂。 他們會叫用正面的情緒回應。

例如,請考慮 Microsoft Windows XP 中的無線網路支援。 Microsoft 可能已新增精靈,以逐步引導使用者完成設定程式。 這種方法會導致容易使用,但無法簡化,因為精靈 () 新增了非必要功能。 相反地,Microsoft 設計了無線網路來自動設定本身。 使用者最終不會關心設定詳細資料,只要其「正常運作」可靠且安全。 無線網路技術中的這種電源和簡單性組合,導致其受歡迎度和快速採用。

如果您只執行一件事...

使用最簡單的設計來啟動您的設計程式,以妥善執行工作。

如果您對目前的設計不滿意,請從移除所有 unessential 元素開始。 您會發現保留的內容通常相當好。

在維護電源的同時取得簡單性

設計原則

為了簡單起見,請一律針對 可能設計,而不是可能。

可能

根據可能的結果,設計決策會導致複雜的使用者介面,例如登錄編輯程式,其中設計會假設所有動作都可能相同,因此需要相等的工作。 因為可能的話,所以在設計決策中不會考慮使用者目標。

可能

根據可能的設計決策可能會導致簡化、目標和工作型解決方案,其中可能案例會獲得焦點,而且需要最少的工作才能執行。

簡單設計原則

若要取得簡單性,請專注于可能的內容;減少、隱藏或移除不太可能的專案;並消除不可能的內容。

使用者將執行的動作比他們可能執行的動作更與設計相關。

設計技術

若要在維護電源時取得簡單性,請選擇 正確的功能集、找出 正確位置的功能,並減少使用這些功能 的工作 。 本節提供一些可達成這些目標的常見技術。

選擇正確的功能集

「達到完美,而不是新增更多內容時,

但當沒有離開任何專案時。」 — Antoine de Saint-Exupery

下列設計技術可讓使用者取得所需的功能,同時透過實際減少或移除來達成簡單:

  • 判斷使用者所需的功能。 透過目標、案例和工作分析瞭解使用者的需求。 判斷一組可實現這些目標的功能。
  • 移除不必要的專案。 移除不太可能使用的元素,或有較佳的替代方案。
  • 移除不必要的備援。 有數種有效方式可執行工作。 為了達成簡單起見,請做出硬式決策,並選擇最適合目標使用者,而不是提供所有使用者,並選擇選項。
  • 讓它自動「正常運作」。 元素是必要的,但要讓它運作的任何使用者互動都不是因為有可接受的預設行為或設定。 為了達成簡單起見,讓它自動運作,並完全隱藏使用者,或大幅降低其暴露程度。

簡化簡報

「簡化消除不必要的方法的能力

因此,可能需要說話。」 — Hans Auxmann

使用下列設計技術來保留能力,同時透過減少或移除的認知來達成簡單:

  • 結合應該結合的內容。 將支援工作的基本功能放在一起,讓工作可以在一個位置執行。 工作的步驟應該具有統一的簡化流程。 將複雜的工作分成一組簡單、清楚的步驟,讓「一」位置可能包含數個 UI 介面,例如精靈。
  • 分隔應該分隔的內容。 並非所有專案都可以在單一位置呈現,因此一律有清楚、妥善選擇的界限。 讓支援核心案例的功能集中且明顯,並隱藏選擇性功能,或讓它成為周邊功能。 分隔個別工作,並提供相關工作的連結。 例如,與操作相片相關的工作應該與管理相片集合相關的工作清楚分隔,但應該可從彼此輕鬆存取。
  • 排除可以排除的內容。 請列印您的設計,並醒目提示用來執行最重要的工作的專案。 甚至醒目提示 UI 文字中的個別字組,以傳達有用的資訊。 現在請檢閱未醒目提示的內容,並考慮從設計中移除它。 如果您移除專案,會發生任何錯誤嗎? 如果沒有,請將其移除!
  • 一致性、設定性和一般化通常是理想的品質,但可能會導致不必要的複雜度。 檢閱您的設計,以瞭解一致性 (的誤判工作,例如具有備援文字) 、一般化 (,例如當兩個時區足夠) 時,具有任意數目的時區,以及可設定性 (,例如使用者不想要變更) 的選項,以及消除可以消除的專案。
  • 將元素放在正確的位置。 在視窗中,元素的位置應該遵循其公用程式。 基本控制項、指示和說明都應該以邏輯順序排列在內容中。 如果需要更多選項,請按一下形箭號或類似的機制,以在內容中公開它們;如果需要詳細資訊,請在滑鼠暫留上顯示資訊提示。 將較不重要的工作、選項和說明資訊放在個別視窗或頁面的主流程之外。 視需要顯示其他詳細資料的技術稱為漸進式洩漏。
  • 使用有意義的高階組合。 相較于個別元素,選取及操作相關元素群組通常更簡單且更可調整。 高階組合的範例包括資料夾、主題、樣式和使用者群組。 這類組合通常會對應至使用者目標或意圖,而從個別元素看不見。 例如,高對比黑色色彩配置背後的意圖遠比黑色視窗背景更明顯。
  • 選取正確的控制項。 設計項目是由您用來表示它們的控制項所組成,因此選取正確的控制項對於有效率的呈現至關重要。 例如,Microsoft Word所使用的字型選取方塊會顯示字型預覽以及最近使用的字型。 同樣地,Word 顯示可能就地拼字和文法錯誤的方式,比對話方塊替代方式更簡單,如本文開頭所示。

減少工作量

「簡單事項應該很簡單。

複雜事項應該可行。」—Alan Kay

下列設計技術可減少使用者的工作:

  • 讓工作可供探索且可見。 所有工作,特別是經常執行的工作,都應該在使用者介面內立即找到。 執行工作所需的步驟應該可見,而且不應該依賴記憶。
  • 在使用者的網域中呈現工作。 複雜的軟體需要使用者將其問題對應至技術。 簡單的軟體會藉由呈現自然的內容來為其進行對應。 例如,紅眼縮小功能會直接對應到問題空間,而且不需要使用者考慮色調和漸層等詳細資料。
  • 將領域知識放入程式中。 使用者不應該需要存取外部資訊,才能成功使用您的應用程式。 領域知識的範圍可以從複雜的資料和演算法,只讓其清楚瞭解哪種類型的輸入有效。
  • 使用使用者瞭解的文字。 製作完善的文字對於與使用者的有效通訊非常重要。 使用使用者熟悉的概念和詞彙。 完全說明以純語言詢問的內容,讓使用者可以做出智慧且明智的決策。
  • 使用安全、安全、可能的預設值。 如果設定的值適用于大部分的使用者,而且該設定既安全又安全,請使用它做為預設值。 只有當需要時,使用者才會指定值。
  • 使用條件約束。 如果有許多方式可以執行工作,但只有一些正確,請將工作限制為那些正確的方式。 使用者不應被允許進行可立即防止的錯誤。

簡單性並不表示簡單

「一切都應該盡可能簡單。

但較不簡單。」—Albert Einstein

我們相信,簡單性對於有效、想要的使用者體驗至關重要,但一律可以花太多時間。 簡單性的本質是減少或消除 unessential。 移除基本功能只會產生不良的設計。 如果您的「簡化」會導致使用者感到挫折、混淆、不滿意或無法順利完成工作,則您已移除太多工作。

簡單性表示您有更多心力

「我只讓這個字母更久,因為我有

不是縮短的時間。」—Laise Pascal

在保留電源的同時取得簡單性,通常需要大量的內部複雜度。 設計軟體通常會比設計隱藏它的軟體更容易,後者需要對目標使用者及其目標有絕佳的瞭解。 移除功能需要專業領域,因為決定要新增真正不實用的非經常性功能。 簡單性需要進行硬式設計選擇,而不是讓所有專案都設定。 複雜軟體通常來自對使用者有誤解:他們重視未使用的功能或無法理解的過度複雜功能。

功能強大且簡單

Power 全都關於啟用您的使用者,並讓他們提高生產力。 簡單起見,就是以正確的方式移除 unessential 和呈現功能。 藉由瞭解目標使用者並達到功能與簡報的正確平衡,您可以設計Windows型應用程式來執行兩者。