使用了一段時間的Mac,一直好奇為什么Mac的系統和程序共用菜單欄。
剛開始想到理由
1:因為頂欄一直都在,共用菜單欄可以利用空間,使程序窗口的內容顯示最大化;
2:這種操作模式像很早以前的圖形界面,那時候系統和程序都是全屏幕運行,頂欄都為菜單欄,而Mac延續了這種傳統。
后來在讀《人本界面》時想到了一個更加專業的理由來解釋這種設計(《人本界面》作者Jef Raskin是Macintosh早期的設計者)。
“這樣的設計是讓用戶不去區分系統和程序操作的差別,系統和程序盡量處在同一種模式中。所以使系統和程序共用菜單欄,并且盡量保持系統和程序菜單項的一致性。或者說把桌面當成內容編輯的區域,用戶切換程序重要的是切換內容,固定的菜單欄讓人也更專注內容而不是操作?!?/b>
Jef Raskin這么說的時候還只是圖形界面發展的初期,那時候顯示的空間有限,剛從字符界面發展到初級的圖形界面,系統和程序的操作也都比較簡單,所要使用的命令和操作方式相近。但是后來程序和系統越來越復雜,各種程序的使用模式和功能也越來越多樣,為什么還保持這樣的界面設計?
共用菜單欄出現的問題:
1:內容與操作的分離,當程序不是縮放到滿屏運行時,內容與菜單的距離比Windows中菜單跟隨窗口要大,根據費茨定律,操作的效率也低,并且中間還隔著可能是花花綠綠的桌面背景,也導致從內容到菜單的分心和干擾。解決這個問題的辦法就是所有程序都縮放到滿屏運行,這樣達到菜單和內容距離最近,且沒有干擾。但是Mac使程序滿屏都沒有一個固定的操作,提供的縮放操作對有些程序是滿屏,而有些卻不是(Finder)或者也不能(系統偏好設置)。
2:程序切換與菜單切換可見性矛盾,當程序最小化而沒有關閉時,菜單依然為該程序的菜單,而不是馬上回到系統菜單或最上層程序的菜單。假如該程序之前有程序也打開在桌面上,會讓人誤解菜單應該為桌面上可見程序的菜單,而對菜單進行操作并不是針對你眼前看到的程序窗口,而是已經最小化了那個程序。用戶需要點擊當前看到的程序窗口,才能把菜單激活為對應的程序菜單。菜單變化不是隨著程序窗口可見性變化而變化,造成視覺和操作上的誤解。
3:而對于從狀態欄打開的程序窗口,即使是處于激活狀態,也不會使菜單欄變化。因為這類窗口沒有菜單欄,打開窗口并不會激活新的菜單。
4:菜單可用性問題,如果還沒有登錄進入程序,打開程序就會出現菜單,如果菜單都不能操作的話,出現有什么意義呢?讓人看到滿條的50度灰!
總結:
1:Mac頂欄的設計繼承了80年代界面的設計,隨著系統和程序的發展,繼續采用這樣的設計在實際中的利弊可能需要重新進行權衡。
2:這樣設計最大一個優點是可能讓人專注于內容的而不是操作,但是用戶要在操作和內容之間切換的時候,明顯影響了操作效率和連貫性。并且引發了程序和系統之間各種狀態切換和可見性的問題。