2011年5月10日 星期二

寫UI到底難在哪裡 5

作者: TonyQ (沉默是金。) 看板: Soft_Job
標題: Re: [請益] 寫UI到底難在哪裡
時間: Sat May  7 13:45:35 2011


※ 引述《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
推 Ting1024:請繼續說 :DD 想聽                                      05/07 13:48
→ zvn:我正要開始寫德法版的UI 完蛋了XDDD                           05/07 13:51
→ francej:所以大公司像google, microsoft都會找本地人來做           05/07 14:04
→ francej:localization啊. 畢竟語言文化還是當地人比較懂            05/07 14:05
→ francej:台灣的小公司,只能一個人當十個人用. 這方面要做得很也不   05/07 14:07
→ francej:容易                                                    05/07 14:07
→ andymai:所以某公司的Grid就做得很豐富~一開始還蠻不錯的~可是版本  05/07 14:10
→ andymai:越改~雖然功能越豐富~但Bug好像也越多XD 至於語言的問題也  05/07 14:11
→ andymai:是~外國公司開發的UI用英文當然沒問題~可是用中文的話~就   05/07 14:11
→ andymai:不見得處理得很好了...                                   05/07 14:12
→ TonyQ:我是知道很多 Web 的心酸血淚啦. XD                         05/07 14:13
→ zvn:我曾為了1個pixel,調了一個月 orz..                          05/07 15:46
推 ppaass:仆倒...                                                  05/07 15:57
→ zvn:那時被table流派的人罵 用什麼css Orz                         05/07 16:17
推 IgotYOU:波斯文 阿拉伯文 這類蟲型文也很麻煩                      05/07 19:49
推 p52189:蟲型文XD                                                 05/07 19:58
→ askeing:0~23 / 00~23 嗎?                                       05/07 22:44
推 CRPKT:還要再加上一堆 timing 造成的問題                          05/07 22:58
→ askeing:我找不到 K/h 是什麼耶? 只有看到 h 跟 b 一樣,但是月份  05/07 23:05
→ TonyQ:十二小時制跟二十四小時制的「小時」                        05/07 23:06
→ TonyQ:是java的規格.                                             05/07 23:06
→ TonyQ:http://goo.gl/bIaaB                                       05/07 23:08
→ askeing:找到了 http://tinyurl.com/3h9dy4b thx                   05/07 23:09
→ TonyQ:很有趣喔,H/K 是一組(從0開始) h/k 是另一組(從1開始。   05/07 23:09
→ askeing:大概是要因應不同需求?如果要自己處理L10N感覺真的很麻煩  05/07 23:27
推 ericinttu:以前的前輩說希伯來文更可怕                            05/07 23:58
推 leicheong:有地方的千分點的點法也很詭異啊...                     05/08 00:16
→ leicheong:http://0rz.tw/DFJZJ                                   05/08 00:18
→ leicheong:這blog對需要做l10n的人強烈推介, 有很多平常想不到的    05/08 00:19
→ leicheong:注意事項的討論...                                     05/08 00:19
→ TonyQ:Good thanks                                               05/08 00:30
推 damaskala:UI難的地方就是別人總以為很簡單                        05/08 01:23
推 sniffer:多國語言經典: http://ppt.cc/Bge8                        05/08 01:39
推 Armuro:推. 我可以了解實作其實都很辛苦 orz                       05/08 06:34
推 Wolfken:說到日期時間,有很多國家的日期時間順序根本就都不同的    05/08 11:27
推 Wolfken:甚至有些是星期幾的表示方式都會不同,你用一般思維下去弄  05/08 11:29
→ Wolfken:肯定爆掉的                                              05/08 11:29
推 j87b0003:easy to use...或 be stupid本身就很難                   05/08 14:04

沒有留言:

張貼留言

您好.本資料庫並非第一手資料.如果你有對文章作者的詢問,意見與需求,請自行找尋文章作者並提供意見,謝謝.