高效or災難?應用程序設計要“具體問題具體分析”

0 評論 4627 瀏覽 10 收藏 25 分鐘

應用程序設計沒有普適性原則,只有根據(jù)具體領域、具體情況來針對性地進行設計或者后期優(yōu)化。一個運行高效的應用程序用到另外一個領域可能就會成為一個災難性的應用。那么,如何有針對性地設計應用程序呢?

設計復雜的應用程序是一項具有挑戰(zhàn)性的任務。構建既具有支持復雜任務的深度,又具有明確如何完成工作的直觀性的應用程序是一個巨大的挑戰(zhàn)。

我們可能需要花了一整天的時間在我們的網(wǎng)絡和桌面應用程序設計課程上。但是,我們還可能需要花一個月的時間對我們在用戶研究中遇到的各種問題進行分類。

對于常見的應用程序設計問題提出一般性的建議是困難的,因為我們觀察到的許多問題都是針對特定領域的。

因此,我們的第一個建議是:與您的目標受眾進行用戶研究。

從任務分析和實地研究開始,以了解用戶的需求和工作流。

原型和測試低保真度的想法,以粗取你的應用的基本結構和它的功能,而不需要投入很多資源在想法上,你會修改或放棄從用戶那里學習。

迭代設計,并使用少量用戶測試每個更改。迭代次數(shù)越多,您的應用程序就越好。

盡管大多數(shù)應用程序可用性問題具有特定于特定領域的性質,但這里是我們經(jīng)??吹降目缧袠I(yè)的10個常見錯誤。

其中五個問題(#1、2、3、4和6)也包含在最初的文章中——它顯示了可用性指南是多么持久。最初的10條指南都是正確的,但是有5個錯誤比以前少了(謝天謝地);它們被另外5個問題(#5、7、8、9和10)所取代。

以下是我們列出的十大應用程序設計錯誤,這些錯誤既令人震驚,又司空見慣。

一、反饋差

提高應用程序可用性的最基本的準則之一是提供清晰的反饋:

  • 顯示用戶系統(tǒng)的當前狀態(tài)。
  • 告訴用戶他們的命令和動作是如何被解釋的。
  • 告訴用戶發(fā)生了什么。

保持安靜的應用程序會讓用戶猜測,通常情況下,他們會猜錯。

好的反饋會告訴用戶很多事情,例如:他們點擊的按鈕是否已經(jīng)被系統(tǒng)正確地解釋為“單擊”,系統(tǒng)現(xiàn)在會做些什么呢?當前選擇的或活動的是什么?

當應用程序被放入編輯模式以修改現(xiàn)有信息時,反饋變得非常重要。

用戶必須清楚地了解當前可編輯的內容,因為應用程序在編輯模式的范圍中將有所不同,例如:一些應用程序將合并數(shù)據(jù)表,其中單個單元格或行是可編輯的,而另一些應用程序將使整個表可以編輯。

正確、清晰的反饋可以傳達給用戶編輯的范圍;良好的反饋可以通過多種方式實現(xiàn),從使用不同的背景識別當前的可編輯區(qū)域到更改與編輯相關的按鈕,以清晰地顯示其功能。

/

在編輯模式下,這個來自Telerik.com的應用程序為當前可編輯的表格行添加一個灰色背景,更改單元格使其看起來像表單字段,并將“編輯和刪除”按鈕更改為“更新”和“取消”,并具有不同的布局和外觀。

在這種反饋中,改變按鈕的位置和顏色是一個額外的重要信號。因為如果用戶不集中注意力并依賴肌肉記憶,那么,在編輯之后點擊錯誤按鈕的可能性就會減少。這個級別的反饋清楚地表明了系統(tǒng)中發(fā)生了什么,以及它是如何響應用戶輸入的。

1. 沒有提示的進度條

缺乏反饋的一個變體是:當系統(tǒng)沒有通知用戶它需要很長時間才能完成一個操作時,用戶常常認為應用程序已經(jīng)壞了,或者他們開始點擊其他目標。

如果您達不到建議的響應時間限制,那么就說出來,并讓用戶了解進度指示器正在進行的操作。

  • 如果一個命令需要2到10秒的時間,那么顯示一個等待動畫,比如:“spinner”。這種類型的進度指示器告訴用戶,在正常的光標返回之前不要點擊任何其他的東西。
  • 如果一個命令花費超過10秒,那么可以設置一個明確的進度條,最好是一個百分比完成的指示器(除非您真的無法預測在操作完成之前還剩下多少工作)。

二、前后不一致

記住這個雙D法則:差異是困難的。

當用戶對事物的行為方式有了預期,或者他們可以在哪里訪問它,當人們試圖解決這個問題時,偏離這些期望會引起混亂、沮喪和增加的認知負擔。人類的頭腦渴望一致性。

有幾種類型的不一致在復雜的應用程序中特別常見,并導致甚至有經(jīng)驗的用戶完全迷惑:

  • 同一動作的不同詞語或命令。
  • 在許多不同的位置為同一功能放置控件。
  • 控件之間看起來相似(從用戶的角度來看),但在不同的位置被訪問(例如,一個控件在工具欄中,另一個在菜單中,第三個深度在首選項對話框中)。
  • 類似的工作流模式需要與界面的非常不同的部分進行交互。
  • 合法輸入數(shù)據(jù)的不一致規(guī)則:有時允許有一個條目,而在其他時候,它被標記為無效,沒有任何關于為什么發(fā)生的反饋。
  • 一個特性有時是可用的,有時并不是由于不明確的神秘原因。
  • 到處移動的用戶界面元素或控件,違反空間一致性。

在我們的研究中,一位建筑師有多年使用AutoCAD的經(jīng)驗,她很難理解為什么她可以或不能“??俊备鞣N浮動面板,以保持他們釘在屏幕的一面。

在同一個會議上,她多次嘗試讓一個浮動面板停靠在左側,但沒有效果。

結果是:由于隱藏的參數(shù)設置,這個特殊的面板無法停靠,但是這個約束并沒有明確地顯示給用戶。

這個隱藏的設置是為了讓高級用戶能夠以難以置信的程度定制界面。但是,由于反饋不充分,我們的研究參與者不明白為什么對接有時有效,有時沒有。即使對有經(jīng)驗的用戶來說,這種不一致性也是一個主要的挫折源。

/

AutoCAD并不總是允許我們的研究參與者“??俊泵姘宓狡聊坏囊粋?。即使是一個有經(jīng)驗的用戶也不能確定為什么這個特性在某些面板上起作用,而在另一些面板上不起作用。(原來這是一個關閉了這個面板的隱藏參數(shù)。)

三、錯誤信息

錯誤信息是一種特殊形式的反饋:它們告訴用戶有問題。

我們已經(jīng)知道錯誤消息的指導方針將近30年了,但是許多應用程序仍然違反它們。

最常見的違反準則的情況是:當錯誤消息只是簡單地說出一些錯誤,而沒有解釋給用戶為什么,以及如何修復問題。這樣的信息會使用戶陷入困境。

多年來,這個問題變得更加嚴重,這主要是由于網(wǎng)絡應用造成的:用戶會看到一個錯誤的地方,就再試一次。

錯誤信息,沒有關于錯誤原因,或如何修復錯誤的詳細信息。至少,過去的原生桌面應用曾經(jīng)告訴人們(通常是技術術語,外行人根本不可能理解)問題出在哪里。

/

模糊的東西從Quicken(左上)、Dropbox(右上)、IBM Verse(底部)發(fā)出了錯誤的錯誤信息:這些信息都沒有描述問題的性質,如何避免問題的細節(jié),以及用戶的工作是否在這個過程中丟失。

提供信息的錯誤消息不僅幫助用戶修復當前的問題,而且還可以作為一個可教的時刻。盡管人們不會花時間閱讀和學習應用程序的功能,但如果你清楚地解釋,他們會努力理解錯誤的情況,因為他們希望克服這個錯誤。

四、沒有默認值

默認值在許多方面對用戶有幫助。

最重要的是,默認值可以:

  • 通過將用戶從指定默認值(如果默認值是可接受的)中解放出來來加速交互
  • 通過提供適合問題的答案類型的例子進行教學
  • 引導新手用戶走向一個安全的或常見的結果,讓他們接受默認的,如果他們不知道還能做什么

默認值可以在重復的任務(例如多次填寫相同的表單)中節(jié)省大量的用戶工作。識別表單字段的關鍵值可以提高生產(chǎn)力和減少挫折感。您的分析可以幫助您理解對于特定領域是否有一個最常用的選項。

特別是:下拉菜單受益于一個有意義的默認值。

許多應用提供了選擇一個(即根本沒有選擇的值)作為默認選擇,迫使每個用戶與下拉菜單交互并選擇一個值。如果您預先選擇了一個選項(理想情況下是最常見的),那么至少有些用戶根本不必與該下拉列表交互。

對于數(shù)字表單字段,如果用戶很少偏離公共默認值(例如,對于數(shù)量字段),您可以使用步進器允許他們調整數(shù)字而不鍵入(但仍然允許用戶在需要時鍵入不同的值)。

步進機有兩個好處:它們降低交互成本,并為仍在學習系統(tǒng)的新用戶提供合理的起點。

Mint finance應用程序中的一個向導,它提取默認值,并提供向上和向下步進按鈕來更改默認值。

個人理財應用Mint有一個功能:可以幫助用戶找到符合他們需求的信用卡。

該向導使用了一個很好的默認值,自動導入用戶的平均月信用卡支出,并為用戶提供了一個修改這個數(shù)字的簡單方法,可以通過鍵入或使用遞增/遞減按鈕。

五、未標注的圖標

這是非常罕見的圖標站在自己的,大多數(shù)用戶能夠立即理解他們。

即使是看似通用的圖標(如漢堡菜單),用戶也并不像大多數(shù)用戶期望的那樣熟悉。

如果你的應用程序有獨特的圖標,情況會更糟。用戶理解這些獨特圖標,意味著什么的可能性非常小。

記住雅各布定律:“用戶大部分時間都花在其他網(wǎng)站上。”這意味著大多數(shù)圖標,除非旁邊有文本標簽,否則用戶將很難或不可能理解。

將圖標與文本標簽配對有四個好處:

  • 它增加了目標的大小(根據(jù)Fitts法則,它縮短了用戶訪問控件所需的時間)。
  • 它減少了識別命令的時間:兩個內存提示(圖標和文本)比一個要好。
  • 與前面相關,它還可以促進對接口的學習(通過使用同一個命令建立多個關聯(lián))。
  • 它可以幫助用戶在視覺上區(qū)分放置在另一個旁邊的幾個命令。

在我們最近的研究中,我們從各種各樣的桌面應用中選擇了一些沒有標注的圖標。這些都是不標準的圖標,都不能明確地表明它們的用途。你能猜出它們代表什么嗎?

我們的研究參與者表示:不能。

六、難以達到的目標

在人-計算機交互中,任何可以點擊(或點擊)的東西都稱為目標:所有活動的UI元素都是目標。

為了讓用戶獲得目標,他們必須能夠:識別目標;可靠地點擊它。

這兩個方面導致了現(xiàn)代app接口中的問題。

1.弱符號

“啟示”是指:你能對一個物體做什么。

例如:復選框提供打開和關閉的功能,滑塊允許向上或向下移動。

符號是一種視覺元素,它可以幫助你在開始使用它(或者感覺到它是一個物理設備而不是屏幕上的用戶界面元素)之前,通過查看對象來幫助你理解啟示。(這些概念在諾曼唐諾曼的《日常用品的設計》一書中討論。)

在用戶界面設計中,符號特別重要,因為所有的屏幕像素都提供點擊功能——即使你點擊后通常不會發(fā)生任何事情。

電腦屏幕上有很多可見的東西,用戶沒有時間玩掃雷游戲,他們四處點擊,希望找到可操作的東西。(例外:小孩子有時喜歡通過點擊周圍的方式來瀏覽屏幕。)

在現(xiàn)代應用中,最糟糕的缺陷之一是超平面設計。許多平面設計對目標的指示符都很弱——人們很難區(qū)分文字和按鈕,因為按鈕缺乏傳統(tǒng)的3D線索。

弱符號的常見癥狀有:

  • 用戶會問:“我在這里做什么?”
  • 用戶不會去接近一個會幫助他們的特性。
  • 大量的屏幕文本試圖克服這兩個問題。(更糟糕的是,在你完成幾個動作中的第一個動作之后,這些指令就會消失。)

2. 微小點擊目標

這里的一個相關的問題是單擊對象太小,以至于用戶忽略了并在活動區(qū)域之外單擊。

即使他們最初正確地感知到關聯(lián)的符號,用戶也經(jīng)常改變他們的想法,開始相信某些東西是不可操作的,因為他們認為他們點擊了它,但什么也沒有發(fā)生。(小點擊區(qū)是老用戶和運動技能殘疾用戶面臨的一個特殊問題。)

七、對情態(tài)動詞的濫用

許多應用程序使用模式窗口來實現(xiàn)與數(shù)據(jù)的交互——編輯現(xiàn)有項、添加新項、刪除甚至讀取有關項的其他詳細信息。

情態(tài)動詞出現(xiàn)在當前頁面的頂部,背景內容通常是暗淡的(假設變暗將減少干擾并幫助用戶專注于手頭上的任務)。不幸的是,這種設計選擇通過掩蓋用戶在填寫表單時,可能希望引用的信息來減少用戶的上下文。(

請注意,即使掩蓋窗口不包含編輯所需的信息,用戶也經(jīng)常會嘗試利用他們以前所做的工作,方法是復制和粘貼以前的輸入,甚至簡單地使用其他條目作為模板,以了解當前任務。)

具有覆蓋重要信息的模態(tài)的表格應用程序

在Airtable中,編輯表格行將打開一個模式,該模式將涵蓋表中的大部分信息,并阻止用戶引用該信息。

八、毫無意義的信息

長串的字母和數(shù)字,如數(shù)據(jù)庫中自動生成的ID,經(jīng)常用于唯一地標識應用程序中的項。

這些字符串對用戶來說是完全沒有意義的,但是它們通常顯著地顯示為表格的第一列,迫使人們?yōu)g覽第一列以查找他們關心的信息。

雖然這些無意義的索引在后端是重要的,但它們不應該是用戶必須參考的主要信息。特別是在信息密度高的屏幕中,提供一些人類可讀的信息作為主要的錨點,并將入侵檢測推到不那么突出的位置。

編碼信息的驚人應用常常出現(xiàn)在醫(yī)療應用、客戶關系管理系統(tǒng)(用戶常常必須為每次與客戶的銷售交互選擇代碼)、記帳軟件和企業(yè)應用程序中。

在所有這些應用程序中,對人類有意義的信息通過一個簡短的代碼進行總結,以使其更緊湊。一個短代碼可能比一個完整的句子更適合一個小的區(qū)域,但是卻給用戶帶來了更高的認知負荷。他們將需要翻譯編碼的信息,以理解它,我們的工作記憶是有限的。即使是受過高度訓練的專業(yè)人員也不可能記住每一個可能的代碼,并且仍然需要花費他們大量的精力來做這種心理翻譯。

包含編碼信息的表

該表的第一列具有無意義的ID信息,“網(wǎng)絡代碼”和“位置代碼”字段還包含用于表示緊湊空間中的復雜信息的編碼信息。位置名稱是唯一對人類有意義的專欄,要破譯其他的內容,人們必須依靠他們的記憶,或者他們必須參考一組代碼鍵。

九、垃圾抽屜菜單

如果您的應用程序有數(shù)百甚至數(shù)千個特性,那么,您必須將這些特性的控件放到某個地方。

此外,您需要對它們進行優(yōu)先級排序和組織,這樣用戶就可以很容易地找到并快速地訪問最重要的功能。

這種約束的一個后果往往是菜單溢出:最常用的操作顯示在工具欄中,最后一個項目標記為“更多的動作”或“工具”,或者最糟糕的是:主持所有其他不適合的操作。

這些菜單標簽的信息氣味很低,只不過是一個垃圾抽屜——可以把你無法歸類但又不想扔掉的東西放在那里的一個地方。

它們的出現(xiàn)通常是因為團隊有一個所需特性的列表,但是不知道在哪里放置它們,或者在遺留應用程序中。它不能刪除老的、很少使用的特性。

溢出菜單的問題在于:就像你家里的垃圾抽屜一樣,沒有人知道你可能在里面放了什么。

換句話說,它同時限制了特性的可發(fā)現(xiàn)性和可查找性,因為大多數(shù)用戶沒有任何理由去查看那些菜單。

一個神秘的菜單,標有省略號

可飛行臺:一個垃圾抽屜菜單標記。

幾乎沒有信息氣味,用戶將很難預測菜單中的內容。

垃圾抽屜菜單,僅標有“更多”字樣

Salesforce:一個標有更多標簽的垃圾抽屜菜單。

十、破壞性和確認行為的接近性

在銷毀工作(如丟棄)的操作旁邊放置“另存為”等操作是一種常見的設計決策,會給用戶造成很大的悲痛。

雖然這種布局在邏輯上常常是有意義的(例如:保存和刪除是有關系的,因為它們決定了項目的命運),但它也很容易點擊錯誤的按鈕或圖標——特別是在用戶匆忙、完成重復動作或有運動困難的時候。

這種以一個動作代替另一個動作的非故意行為被稱為滑點。

最后一步的向導,“取消”和“完成”按鈕緊挨著。

企業(yè)備份軟件Veeam采用了一個多步驟向導來建立一個新的備份作業(yè)。

在我們的研究中,一個用戶花了將近20分鐘來瀏覽這個向導,由于兩個按鈕的接近,幾乎點擊了最后一個摘要頁面上的“取消”,而不是“完成”。如果這個用戶點擊取消,20分鐘的工作就會丟失。

電子郵件應用中刪除圖標旁邊的“跟進標記”按鈕

Microsoft Outlook將“后續(xù)標記”按鈕放置在“存檔”和“刪除”圖標旁邊。

這些圖標服務于相反的用戶意圖,但他們是小的,放置密切,并很容易被用戶誤認為是匆忙。

摘要

應用程序是非常特定于領域的,因此對于一個行業(yè)來說,一個可用的、高效的、令人愉快的應用程序在另一個行業(yè)可能是一個徹底的災難。

創(chuàng)建一個可用的應用程序需要與您的用戶一起研究,以識別他們的工作流、他們需要的特性以及他們的心智模型和期望。

 

本文由 @小光蛋 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內容,請關注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!