2012年3月22日 星期四

[嘴炮軟體] 可用性(usability)

這篇不談測試、數據、程式…等這些資訊相關的玩意兒,單純聊一下可用性

可用性 (usability) 是什麼玩意兒?很重要嗎?可以吃嗎?不考慮它會死人嗎?
ISO對usability做出以下定義[1][2]:

The extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency, and satisfaction in a specified context of use.
(這個也可以定義?不知道該說嚴謹還是無聊)

簡單來說,可以將它視為使用者用某樣工具達到一個特定目標的容易程度,即對操作介面感受到的有效性(是否能夠達到使用者的目的)和效率(達到目的所能減少的時間)
看吧~ 使用者介面 (User interface)。
根據研究和分析,可用性包含了以下幾個因素[4]:

  • Learnability: 使用者在第一次用就能學會的容易程度
  • Memorability: 經過一段時間之後再重新使用這UI還能熟練操作的容易程度
  • Efficiency: 使用者能用這個UI多快完成任務
  • Errors: 包括使用者有多容易出錯、錯誤有多嚴重、以及有多容易從錯誤中回復回來
  • Satisfaction: 使用者用這個UI時會覺得愉快的程度

上面的list直接引用第4篇的ref,該文裡有針對上面列出的因素進行說明和提出案例,裡面寫得很詳細,值得一看!

總之,它可能不是一套軟體、系統的核心技術,但是會直接影響到使用者的喜好厭惡。

---可用性理論雜七雜八分隔線---

知名的大公司做出來的產品,肯定都對可用性下過一番苦心。

說到這個總少不了扯一下Apple,賈伯斯對這個東西就真的很會。
我覺得與其說他會設計,倒不如說他很重視使用者在操作的當下所得到的感受,講得難聽一點,某些程度來講算是掌握使用者的情緒。只要能保證使用者在操作產品的當下心情是愉悅的,就一定能賣!
另一個直覺想到的就是微軟。雖然微軟做出來的產品好不好一直飽受爭議(看看那IE56789精美的相容性),但是不得不承認他們在做使用者介面真的做得不錯。
至少,電腦一開機進到桌面以後,不需要經過什麼訓練就能直接操作OS或其它軟體,做一些基本的操作都可以很直覺,包括像他們的Office系列,要用、要學都可以快速上手。
主觀認為,Linux的桌面開發了好一段時間,才有一點像樣的成果,前幾年的Linux就算有桌面也不是很容易使用....(這裡不要扯"Unix系列操作command line和open source coding才是王道",我沒有說Linux功能不強,但是桌面和相關軟體的可用性比不上微軟是事實)

其實我個人對可用性的標準沒有真的很高,稍微摸一下,能夠操作一些基本的功能,能滿足普羅大眾的需求,就差不多有80分了。所以,大部分的套裝軟體,能賣錢的、能存活的,就我主觀上、時代經驗的客觀上,可用性應該都不會差。
想想看,如果你接觸到一個功能很強大,但是讓你摸不著頭緒該如何使用的軟體系統,你會不會想立刻讓它從你的桌面上消失?如果你還有其它可能滿足你需求的替代品,你會不會拿用替代品來玩玩,然後讓那個強大但是每次使用胃都會痛一次的東西從你的記憶裡刪掉。


連操作都不討喜的軟體,沒有人喜歡使用,怎麼會賣錢?一天到晚做出這種軟體的公司,怎麼會存活?

不過這句話在台灣軟體產業界就會活生生被打臉。
在台灣,使用者介面設計師這種行業超級少,需求量比起一般的程式設計師,還要少少少少。我不確定到底是軟體廠商不知道可用性的重要,還是根本連可用性這三個中文字 (the word "usability") 都不會寫,搞到後來都是一般的工程師在畫畫面(還稱不上是設計咧!)

使用者介面設計之類的學問,歷史大概和極限編程差不多悠久,還有很多實務上的高手和學術界對此做了非常精闢中肯的分析和指引。我總覺得台灣長久以來對軟體 + 電腦的觀念就一直停留在自動幫人完成複雜作業的機器,使用者介面感覺就都是勘用就好,停留在台灣早期"國難當頭、一切從簡,有就好!"的風格,又他媽的跟簡約風那懂有質感的風格不一樣。
結果當然就變成剛拿到開發出來的軟體的時候都不會用。有些時候是連點出來那個畫面是要做什麼的都不曉得,有些是看到那個畫面後直覺地去操作,結果得不到想要的結果,無論如何,這都是可用性沒考慮清楚所產生出來的結果。
最機掰的是使用者還習慣了。



謎之音如是說:再教育訓練就好啦~


嗯,去你媽的。
軟體做出來,是為了滿足使用者的需求。做了一套使用者都不會用的軟體有個屁用?
軟體做出來是讓使用者用的,不是做出來教他們怎麼用。
所謂的教育訓練,應該是把一些軟體系統裡的細節講清楚說明白,而不是講一些核心功能面的東西。
你有看過一個拍賣網站有在做教育訓練教你買東西的嗎?你有看過facebook有派人去你家教你怎麼在你的friend list裡加入你的朋友嗎?你有看過Google開發的相關軟體有在特別發表什麼演講來說明Gmail還是Google Map怎麼操作嗎?
以上例子都沒有所謂的教育訓練,那你會用嗎?
希望你不是那個在我facebook裡看到這篇文,又常常講"再教育訓練就好啦~"的人材。

---抱怨結束的分隔線---

在約耳趣談軟體一書裡,約耳有提到他的約耳測試12步驟中的最後一個「走廊使用性測試」(hallway usability)[6],指的就是在走廊上隨意抓五~十個路人進來試用你做出來的程式,並且觀察他們在操作系統時所遇到的問題。如此做法,可以抓出約90%的可用性問題。
還放出一個網址讓人免費查閱他自己寫的線上使用介面設計書[7],真是貼心!

其實保持著一個重點,做出來的UI就不會太差。"Eating one's own dog food" (吃自己的狗食) 就是把自己實際去操作產出來的系統。自己的感受如何,用戶的感受絕對會更為負面,所以要是如果自己的狗食都無法說服自己,怎麼拿你產出來的狗食去餵你的客戶? (哦幹這句話好髒)

在約耳續談軟體一書中,約耳又提到一個Beyond usability的東西:社會性介面 (social interface) [3]。書裡有很多例子,設計、行銷上也做了一些概略性的說明。我對這個方面還不很了解,我得再多看一些書和例子,做一些冥想才有辦法想通。只知道,這個東西沒做好,usability做得再好,軟體一樣會失敗,而這個,牽涉到的不是資訊產業會搞的東西,而是社會學人類學等社會科學;要做的研究不是書上翻一翻,上網查一查就搞得出來的,而是要走出門,去到不同的人群裡訪談研究不同族群之間的差異。

很有趣,不是嗎?跟人有關的東西就有理工科完全無法預期的變數,對此,社會科學反而是可以依賴的研究技術。(不然你用工程的角度來告訴我為什麼簡訊這種比電話還難用100倍的東西會受歡迎)
台灣學術界、產業界都不甚重視社會科學,認為研究出來的東西對產業界沒有幫助。事實上,只要和人、族群等有關的議題,社會科學都能提供比科技產業還要更可靠的研究技術和成果。社會科學提供的幫助很隱晦,不這麼直覺,但是只要用對方法,絕對有效,而且效果非凡。
不久的未來,我將引入這套技術,作為軟體開發方向的決策參考,讓社會科學能夠得到更多的重視。為了台灣的產業,也為了我的摯愛。

ref:
[1] Usability from Wikipedia
[2] 易用性 from Wikipedia
[3] 約耳續談軟體
[4] [HCI] 談人機介面設計與Usability
[5] 要求手繪 Logo 字體的迷思!怎麼讓現成字體也很有個性 by evenwu from T客邦
[6] 約耳趣談軟體
[7] User Interface Design For Programmers

3 則留言:

Unknown 提到...

我最近在弄兩個操作介面很難很難用的軟體...

一個視窗要自己用正方形三角形畫出來
一個是給完全不會寫程式的人做的寫程式軟體

超難用...但是控制器實在賣太好,不用他們的介面軟體也不行!!!!!牽扯到利益問題跟綁定問題就很不爽,工控成本第一,只要是夠便宜的控制器,根本不管你寫軟體的好不好用

Unknown 提到...

說到這個.....你們不能直接跟上游的軟體開發廠商聯絡,請他們直接授權核心的使用權限給你們嗎?

Unknown 提到...

有阿,它們的核心權限都要錢
一個動態檔要幾萬幾萬跳
Library也是幾萬幾萬跳

客戶不會願意買的,要不然就不會在工廠玩真人無雙....