發現matplotlib不太適合用來畫輸出結果之後,決定暫時丟在一旁,另外找看看有沒有更合用的。在這同時,也順便想想,輸入介面該怎麼設計。
一說到輸入介面,就想到UX (user experience)這時髦的玩意兒。當然啦,看到UX就免不了懷疑,這UI (user interface)哪去了?他們不是都會一起出現的嗎?雖然常看到他們一起出現,但他們可不是形影不離的一對兒,說得文謅謅有學問一點,UI是UX的一個子集。也就是說,UI所考慮、處理的問題,都包含在UX裡頭;而有些UX考慮、處理的問題,並未涵蓋在UI中。那為什麼他們在徵才廣告中,總是形影不離的?一個可能的原因,是分不清這兩者的差別,以為是同一件事;另一個更可能的原因,是老闆希望你能「校長兼撞鐘」,而且啊,只有領「撞鐘」的那一份薪水 :P。
提到UX,就不免想到那個已經用了好幾年,但還是常常會搞錯的Garmin導航。搞錯什麼呢?事情是這樣的:在畫面中,有指示接下來幾個交流道的距離。剛開始用的時候,很直覺的,就把最上面的那個,認為是距離最近、最快到達的交流道。可是仔細看看,它怎麼是倒過來的啊?!最下面那一個,才是距離最近、最快到達的交流道!
「這到底是怎麼回事?怎麼會順序顛倒?機器壞了?還是有什麼地方可以設定調整?」一連串的問號,一連串的疑惑。「先找找是不是有什麼地方可以設定好了。」一面嘀咕,一面就把所有可以設定的地方翻找了一遍。
「咦?!沒有可以設定的地方!該不會是因為買車送的,功能很陽春,所以沒這功能?上官網找看看有沒有這方面的說明好了。」
在官網翻找了半天,其他型號的機器介紹中,也沒看到可以調整這部分顯示順序的功能,倒是看到了設計理念的說明。原來,既然在左邊的地圖畫面中,車子是位於下方,越下面的地點,代表離車子越近,那右邊顯示的交流道應該也要如此。好吧!這理由可以接受。可是,還是很不習慣啊!
什麼原因會直覺地認為,顯示在越上面的交流道,距離越近、越快到達?其他人也是如此嗎?是原本人的天性就是如此認知,還是因為長期使用電腦所養成的習慣認知?這是個有趣的問題,也是個想了好久,但還是想不出一個能讓人滿意的解釋的問題。不過就在寫到這兒的時候,又有了新的想法。
人在看網頁的時候,視線會由上而下、由左而右,大致上循著Z字形的方式移動,而捲動畫面時,會讓原本隱藏在下面的東西向上浮現。換句話說,越上面的東西越早接觸到,這是長期使用電腦後養成的習慣認知。所以在看導航畫面時,也就會認為越上面的訊息,代表距離越近、越早到達。這是原本的想法,只是這想法沒辦法解釋:為什麼在看左邊地圖的時候,不會覺得彆扭,反而很習慣越下面的地方,代表離車子越近?
那新的想法呢?能合理解釋這種不一致的感覺嗎?來看看下面這幾張圖:
答案應該很清楚了。如果是以透視圖的方式呈現,那很自然的就會和看地圖時一樣,認為越下面的地點離自己越近;但如果就是單純的把幾個方塊堆疊在一起,那看起來就像是在看平面的文字一樣,也就會習慣地認為,越上面的地點離自己越近。換句話說,在看導航時,因為左右兩邊資訊呈現的方式不同,所以就很自然的以不同的方式來理解,也才會有對於地點遠近的認知,產生不一致的現象。
「哈!多年來的疑惑,終於解開了!這Garmin這麼大的廠,怎麼就沒注意到這個咧?!看看那張導航畫面的圖,實在是喔……咦?!啊!有耶!」就在內心一陣得意時,赫然發現,人家有用立體的方式來呈現啊!仔細看看那三個綠色方塊,有利用大小、陰影、遮蓋等方式來做出透視的效果。除了這些,下邊還有一塊被「到達時間」擋住一半的灰色色塊,看起來就像是一條路的模樣。
好嘛!這一切的一切,就只是因為自己眼睛業障重所造成的,使用者自己要看清楚啊!
等等!這UX是user experience,現在產品的設計沒發揮預期的效果,user的experience不好,那該扣分的是user還是user experience?答案很明顯囉~~~
不過話又說回來,為什麼會沒有察覺到那個透視效果呢?這應該跟使用情境有關。想想看,導航是在什麼樣的情境底下使用的?用個吸盤掛架掛在前檔風玻璃上,在時速100的高速公路上,駕駛人分心快速瞄一下畫面,找到並讀取想知道的資訊。在這樣的情境底下,距離遠、畫面小、看的時間短,駕駛人能一眼就察覺那個透視效果嗎?其實「這樣的設計,效果好嗎?」這樣的疑問經常會在心中浮現。因為日常生活中,實在是有太多這樣的例子了。就好像每次看到無障礙坡道時,都會想:「這樣子的坡度,身障的朋友有辦法自己坐著輪椅爬上去嗎?如果是我自己呢?有辦法嗎?」答案通常是否定的。
既然現有的設計不是那麼理想,那可以怎麼改善呢?這問題很好解決,可是很讓人頭大。怎麼說呢?要讓透視感加大,調整那幾個方塊的大小或排列方式就可以了,只是在這樣做的同時,原本已經夠小夠難辨認的字體,可不能再縮小了,再小可能就看不清楚了。既然如此,那為什麼不把螢幕畫面加大就好了?有了大畫面,愛怎麼調整就怎麼調整,連字體都可以放大,UX絕對大大的加分,現在各車廠的新車,那個駕駛座儀表板、中控台的面板尺寸,不就是一個比一個大,而且越來越大嗎?是這樣沒錯啦!可是越大尺寸的面板,代表要越多「小朋友」才買得起。「小朋友」可是絕大多數user心中最不柔軟的那一塊啊!
總之,在設計輸入介面時,應該要好好的思考UX的問題。還好,Game of Life需要輸入的東西不多,而且設定是在電腦上跑,螢幕畫面的大小不成問題。更重要的是,user就是設計的人,很好說話 😁。話雖如此,也不能太馬虎,輸入介面,大概就設計成下面這樣子:
畫完之後突然想到:為什麼很自然的就把universe放在左邊?推測可能的原因:是因為慣用右手。在真實世界中,東西放左邊比較不會被右手擋住視線,所以雖然在電腦螢幕上,沒有視線被右手擋住的問題,但還是很自然的會把程式執行的結果展示在左邊。那左撇子怎麼辦?簡單!就設計成使用者可以自由調整各個元件擺放位置,這樣不就皆大歡喜了嗎?現在很多軟體就是這麼設計的。
「可是……」正打算結束這篇隨筆時,眼前突然出現一幅畫面,畫面中,user正瞪著螢幕。只見他移動滑鼠,把一個在右邊的按鈕挪到左邊,歪著頭想了想,又挪回右邊,過沒多久,又拿起按鈕,挪向左邊,遲疑了一下,再把按鈕重新放回右邊,同時一臉哀怨喃喃自語:「選擇太多……選擇障礙……」。
天啊!唉!這user可真難伺候啊~~~