易用性是必要的,但不是全部#

多年來,許多自封的權威一直在鼓吹軟體**易用性(usability)**的重要性。Joel 自己也寫過《User Interface Design for Programmers》。但他指出一個殘酷的事實:

  • 如果一個應用程式具備重要功能且使用者真的需要,即使程式難用得令人髮指,它仍然會大受歡迎
  • 反過來,如果一個應用程式對任何人都毫無用處,再好的介面也是白搭

在許多人心目中,易用性屬於「可有可無的選項」。在以內容為主的網站上,不管介面再怎麼難用,都已經可以用了。

超越易用性:社會化界面#

Joel 真正要討論的是軟體設計的下一個層次——當你做好了使用者界面,接下來的問題是設計社會化界面(social interface)

什麼是社會化界面?#

  • 20 世紀 80 年代,「易用性」被發明出來,當時的軟體全部是人與機器的互動
  • 但互聯網催生了一種新的軟體:論壇、社會化網絡、分類廣告、電子郵件——這些都是人與人之間的中介
  • 社會化界面比易用性設計更重要:如果社會化界面一塌糊塗,即使有世界上最好的使用者界面,軟體也活不了

成功與失敗的社會化界面#

成功案例#

  • 短訊息(SMS):介面糟糕到極點,但在社交方面極為成功,極大改善了青少年的社交生活
  • eBay:最初被人嘲笑「網上隨便把錢送給陌生人」,但它利用**網絡效應(network effect)先行者優勢(first-mover advantage)**取得了巨大成功

失敗案例#

  • 某些社會化網絡工具自動獲取你的通訊錄,然後向每個人發送邀請加入的郵件——完全不考慮人際關係的微妙

設計社會化軟體的原則#

使用者界面的設計目標是幫助使用者成功操作;社會化界面的設計目標是幫助人與人之間的社會關係成功運作,即使這意味著必須冒犯某個特定的使用者。

防禦性設計 vs. 社會化設計#

  • 防禦性設計(Defensive Design):告訴使用者哪些事不對,應該怎樣糾正——這在社會化軟體中太天真
  • 社會化設計:不要顯示錯誤信息,假裝系統接受了使用者的不當行為,但暗中讓它失效(例如接受垃圾廣告帖但不讓其他人看到)

避開攻擊最好的方法之一就是讓它看上去好像獲得了成功——這是裝死戰術在軟體中的表現。這種方法不會 100% 有效,但 95% 的情況下是有效的。

一個新領域#

社會化界面設計還處於嬰兒期。Joel 期待未來軟體公司會雇用**人類學家(anthropologist)人種學家(ethnographer)**來參與社會化界面的設計,就像 20 世紀 80 年代易用性設計剛興起時那樣令人興奮。