今天也是在修 app 的一些UI的細節。
最近做事的時候,發現自己卡在同一個死胡同裡的時間減少許多。我很習慣會讓思維發散出去,一直讓可能性無限分岔,最後收不回來。簡單來說,就是想像的速度遠大於實踐的速度,而每次從想像裡跳脫回現實的時候,總會不知道該怎麼向前,因為每一步的前進,都可能會再岔出更多的可能性。最近在出現這種壞習慣的時候,我會試著停在原地,停下所有的動作,就讓腦袋在那邊運作,然後我會拉回來,我知道怎麼讓思維的支線再倒退回主線上面,然後我會想起來我原本的主要任務。不然就是我會離開座位,到旁邊走走,玩個手遊,轉換一下心情。轉換心情很重要,有時候一直陷在問題,只是不斷地浪費時間在一個很小的思維領域裡打轉,盯著一棵樹,忘了自己身在整座森林。
有時候離開再回來以後,就能突然發現:啊對,這問題就是這樣。例如說,啊對,我就只要複製一整排相同大小和位置icon,在上面疊一個dummy的元素就好了,這樣就不會動到其他東西讓它整個歪掉了(非常specific的一個例子,我好懶得解釋那是什麼意思)。
但這種神一般的解法(自己講)是沒辦法在只盯著一棵樹的時候浮現的,總是要先退一步,讓腦袋有時間呼吸,然後切換視角,用新的框架來看待問題。
雖然說不斷的做出行動很重要,但中間穿插著休息,讓思維有空間透透氣,也是很重要的。別像個直男一股腦地瘋狂向前衝(啊是乾直男)。
第二件事。
我應該在前幾天有提到故事的「結構」這件事情。結構真的超重要,在任何有一定規模的東西裡面都很重要,不管是文字創作的故事,還是一個 app 的大架構。
(最近一直在劇烈地混雜文組和理組的世界)
我最近寫的 app 是用 Model–view–viewmodel 架構,講白話一點,就是把UI和邏輯運行分離開來,方便管理。UI端就是純粹把從viewmodel拿到的資料拿來顯示,沒有複雜的邏輯,而如果從UI端收到的東西,也不會馬上幹嘛,而是統一先傳到 viewmodel 那邊,再來想辦法處理。
好這都不是重點。
我想說的是,其實要做出一個好的作品,或是要運行一個系統,底下的結構都扮演著一個重要的角色。結構明確、扎實、合理的話,依附在結構上面的那些細節其實都可以很輕易的抽換成其他東西。
而這個所謂的「結構」,也有無限的想像空間。它可以像是我上面說的,是一個app的組成結構,或像是故事劇情推展的結構。但它也可能是一個組織、或一間公司,組織裡面可能會有領導團隊,負責決策事情的方向,也有付出勞力的一群勞工,它們之間的運作其實也可以類比成我上面說的,一個 app 裡面不同端在處理不同的事情。