Re: [請益] 寫UI到底難在哪裡

看板Soft_Job作者 (沉默是金。)時間14年前 (2011/05/07 13:45), 編輯推噓13(13026)
留言39則, 18人參與, 最新討論串15/16 (看更多)
※ 引述《scan33scan33 (亨利喵)》之銘言: : 身為一個曾經搞過一點Project裡面UI Design的小小弱雞來回一下。 : 首先我覺得「UI非常容易變動,因此程式要寫得很活,才動得了」很有道理。 : 一些經驗 : 1. 很多人拖拉按鈕畫圖最喜歡hardcode座標,也不寫個相對位置。 : 很多時候我們發現有人hardcode一個800*600的顯示,現在我們要再加一個圖。 : 把他原來的UI推上去,才發現他UI全部都要重改。 : 2. 寫2D座標系統的visulization程式。我們都知道要保有彈性。不過當客戶第一個月 : 說要zoom in/zoom out。第二個月說要可以轉來轉去。弟三個月就跟你說:我們來做 : 3D的好了。這如果當時code沒有寫好,沒一次改幾乎都是重新寫。 : 3. 說到跨語系偏好設定,我一定要講一個大家可能都欲過得問題。我們做數學運算的程式 : 常常要parse小數點之類的。我之前在某知名德國公司intern。有一天老闆就過來跟我講 : 說,有很多人complain說我們一個toolkit不能用。後來我們發現是一堆歐洲人不能用 : ,結果就知道原來歐洲小數點是逗號。結果因此最後我們來改了不少code... : 我覺得UI簡單的地方是,他技術上實在沒有什麼技巧性。 講到這個我就要忍不住要跳下來說酸血淚了 逗號跟小數點反過來的 (印象中是法國跟部份歐洲國家)當然是碰過。 月曆的月也會隨著各個語言縮寫可能會有一點不一樣。 更不用說曆法了,板上有人知道今年是佛教年的哪一年嗎? http://zh.wikipedia.org/wiki/%E4%BD%9B%E6%9B%86 光是一個簡單的 calendar 就可以搞死一堆人。 然後 Decimal 跟 Date 最可怕的地方是 format , yyyymmdd KK:mm:ss aa (btw 有人知道k/H K/h 者這兩個date format的差異嗎? ) 兩個一加成上去這個複雜度直接爆表。 用別人的 api 是很輕鬆,自己做...呵呵呵 UI 技術上是有技巧性的,它的複雜度在「狀態」的設計/保存與切換。 以 textbox 簡單的文字輸入框為例。 今天使用者點擊是 focusing ,是一個狀態, 使用者打字時是另一個狀態(tpying), 打完點旁邊之後會變成另一個狀態(onChange), 打完點enter 又是一個狀態(submit) 你設計 UI 時要從這些狀態中挑出你想要的,去進行設計。 然後其中又可能會再加成出新的狀態, 比方說 tpying 完之後如果是空的,顯示浮水印說明文字(empty)。 這會增加focusing的難度,(如果是浮水印,要把他清掉)。 我們先假設UI元件都已經做好了,我們只是做 api 調用好了, 你都必須要思考以上幾種狀態哪些你需要,你該怎麼組合。 (事實上元件已經做好這假設通常不會完全成立, 特別是在 web 上, UI通常是需要高度客製化的東西。) 單一元件本身的狀態數就是一個乘積了, 搭配到多個元件之間的互動,複雜度會再疊上一個乘積。 然後你必須再加上資料層所需要的對應 data provider 的設計。 這數字非常可怕。 yes 你很容易拿到一個看起來還算正常的東西, 但要窮盡所有可能性的做全面測試,並不容易。 隨著元件越多,事情就越難。 當然這只是 UI 設計的其中一個範圍而已, 這話題說下去還長得很...... -- I am a person, and I am always thinking . Thinking in love , Thinking in life , Thinking in why , Thinking in worth. I can't believe any of what , I am just thinking then thinking , but worst of all , most of mine is thinking not actioning... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 223.138.25.251

05/07 13:48, , 1F
請繼續說 :DD 想聽
05/07 13:48, 1F

05/07 13:51, , 2F
我正要開始寫德法版的UI 完蛋了XDDD
05/07 13:51, 2F

05/07 14:04, , 3F
所以大公司像google, microsoft都會找本地人來做
05/07 14:04, 3F

05/07 14:05, , 4F
localization啊. 畢竟語言文化還是當地人比較懂
05/07 14:05, 4F

05/07 14:07, , 5F
台灣的小公司,只能一個人當十個人用. 這方面要做得很也不
05/07 14:07, 5F

05/07 14:07, , 6F
容易
05/07 14:07, 6F

05/07 14:10, , 7F
所以某公司的Grid就做得很豐富~一開始還蠻不錯的~可是版本
05/07 14:10, 7F

05/07 14:11, , 8F
越改~雖然功能越豐富~但Bug好像也越多XD 至於語言的問題也
05/07 14:11, 8F

05/07 14:11, , 9F
是~外國公司開發的UI用英文當然沒問題~可是用中文的話~就
05/07 14:11, 9F

05/07 14:12, , 10F
不見得處理得很好了...
05/07 14:12, 10F

05/07 14:13, , 11F
我是知道很多 Web 的心酸血淚啦. XD
05/07 14:13, 11F

05/07 15:46, , 12F
我曾為了1個pixel,調了一個月 orz..
05/07 15:46, 12F

05/07 15:57, , 13F
仆倒...
05/07 15:57, 13F

05/07 16:17, , 14F
那時被table流派的人罵 用什麼css Orz
05/07 16:17, 14F

05/07 19:49, , 15F
波斯文 阿拉伯文 這類蟲型文也很麻煩
05/07 19:49, 15F

05/07 19:58, , 16F
蟲型文XD
05/07 19:58, 16F

05/07 22:44, , 17F
0~23 / 00~23 嗎?
05/07 22:44, 17F

05/07 22:58, , 18F
還要再加上一堆 timing 造成的問題
05/07 22:58, 18F

05/07 23:05, , 19F
我找不到 K/h 是什麼耶? 只有看到 h 跟 b 一樣,但是月份
05/07 23:05, 19F

05/07 23:06, , 20F
十二小時制跟二十四小時制的「小時」
05/07 23:06, 20F

05/07 23:06, , 21F
是java的規格.
05/07 23:06, 21F

05/07 23:08, , 22F
05/07 23:08, 22F

05/07 23:09, , 23F
05/07 23:09, 23F

05/07 23:09, , 24F
很有趣喔,H/K 是一組(從0開始) h/k 是另一組(從1開始。
05/07 23:09, 24F

05/07 23:27, , 25F
大概是要因應不同需求?如果要自己處理L10N感覺真的很麻煩
05/07 23:27, 25F

05/07 23:58, , 26F
以前的前輩說希伯來文更可怕
05/07 23:58, 26F

05/08 00:16, , 27F
有地方的千分點的點法也很詭異啊...
05/08 00:16, 27F

05/08 00:18, , 28F
05/08 00:18, 28F

05/08 00:19, , 29F
這blog對需要做l10n的人強烈推介, 有很多平常想不到的
05/08 00:19, 29F

05/08 00:19, , 30F
注意事項的討論...
05/08 00:19, 30F

05/08 00:30, , 31F
Good thanks
05/08 00:30, 31F

05/08 01:23, , 32F
UI難的地方就是別人總以為很簡單
05/08 01:23, 32F

05/08 01:39, , 33F
多國語言經典: http://ppt.cc/Bge8
05/08 01:39, 33F

05/08 06:34, , 34F
推. 我可以了解實作其實都很辛苦 orz
05/08 06:34, 34F

05/08 11:27, , 35F
說到日期時間,有很多國家的日期時間順序根本就都不同的
05/08 11:27, 35F

05/08 11:29, , 36F
甚至有些是星期幾的表示方式都會不同,你用一般思維下去弄
05/08 11:29, 36F

05/08 11:29, , 37F
肯定爆掉的
05/08 11:29, 37F

05/08 14:04, , 38F
easy to use...或 be stupid本身就很難
05/08 14:04, 38F

05/10 08:17, , 39F
我也搞過,所以我討厭做UI.....(攤手)
05/10 08:17, 39F
文章代碼(AID): #1DnDo2Y9 (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1DnDo2Y9 (Soft_Job)