公司網站

感謝yaya提供這個網站。(btw, 順便謝謝幫我測試原來右下角的留言版真的可以用 :D)
這是一個法國公司(一人?)做的仿 flexstore EC solution, 純手工用flash 硬拼出來。
晚上花了點時間玩了demo site順便看了一下程式碼,是用as1 + flash remoting v1 + amfphp完成的。
整個程式架構基本上是恐怖的spaghetti code,一堆的function分散在不同層次的movieclip,然後有大量的 onClipEvent()去觸發不同層級的事件。
另外主UI 上的三大塊panel也是用movieclip畫好3個keyframe擺上去的,這代表它絕不可能像flexstore裏的window元件可真正放大/縮小,而只能透過 onPress去觸發 gotoAndStop()變換到不同大小。
總之,整個程式架構跟寫法就跟自殺並無二致,恐怕再過三個月連當初寫的工程師都不認得裏面在做什麼,更別提將來其它人要接手維護或擴充功能時會面臨的挑戰。
(這也就是市場上為何總是有公司在找「維護合約」的廠商,而大部份有sense的廠商也都不願碰這種半路殺出的案子,因為誰也不願接手幫人家收拾善後,去修改一堆亂到不行的程式碼最後搞的自已也深陷泥沼動彈不得)
當然這並不是說不用物件導向或as2或Pattern/CBD寫程式就一定該死,國外也有不少高人寫的一手漂亮的as1(例如 flashmyadmin的darren就是近乎神人的例子),重點是在於系統設計與架構的高明與否,以及寫程式的人本身對功能、責任區分的概念(例如MVC的每一塊意義與彼此溝通的方式)是否夠清楚,簡單一句話就是程式設計師的功力與觀念,決定了他能創作的境界高低。
這也正好呼應了joel 之前的說法,花貴的錢請最好的工程師,換來的收穫絕對比請一群二流的工程師高許多,因為 they can never hit the high note, they just don’t have it.
舉一個簡單的實例。
有位朋友,姑且稱作X桑,剛回台灣工作,幫某大銀行做data mining;他的任務就是從該金控龐大的資料庫中撈出可再撥一層皮的肥羊,呃,我是說可供幾百個業務電話行銷的尊貴客戶,而有趣也是令人驚訝的地方在於,該公司的資料庫中,光日期一欄,就可以撈出千百種不同的格式,例如以 民國 93 年 1 月1 日為例,裏面有的格式就包含:
-0930101
-930101
-20040101
-九三0101
因此,到最後這位有為青年X桑主要的工作就是用sql function把這幾十種不同的日期格式統一換回西元日期(有興趣可以用MS SQL試試看這件事)
其它諸如此類不可思議的東西還有千百種。例如某卷商資料庫中,居然可以撈出下單日期比開戶日期早的資料(請問單子要下到那個戶頭去?)
但這是一家全國幾萬名從業員的大金控,裏面的資訊部門恐怕比大部份中小型資訊公司總人數都多,為何還會出現這種幾近可笑的錯誤?
答案很簡單。二萬八。
這是一個大學畢業剛進去寫程式的人起薪,而天兵日期格式可能就是在某年七、八月畢業季新人到職後寫下去的,一套系統經過幾年新人的反覆折騰,就成為今天這個樣子,終於有一天它會龐大到完全無法修改與維護,然後就是爆炸的時刻,接下來104上面就會出現一個「金融系統維護合約」….
我相信joel會提出「高等人才無價論」必然也是親眼看過二流工程師幹的好事與結果,才會有感而發~
這實在值得業主、資訊公司老闆跟工程師深思啊~
| by admin
公司網址



這家公司的鍵盤每個key都是小型的display, 可以自訂圖案上去,
從此就不需要死背快速鍵,也不用請人在鏈盤上刷注音了。
| by admin
intro
screenweaver是一個 flash ocx wrapper, 非常類似 flash projector做的事情,但讓swf可以做更多事,例如操作windows OS 底層的API,或弄出不規則型狀的邊框。
這個產品在原作者跑回學校後就宣告停頓,也讓許多愛好者被迫轉到其它產品,例如 zinc。
現在原作者決定將 screenweaver變成open source 放出來,並且在darron的協助下會儘快加入 flash player 8 與 external API的支援,然後再結合wxWindows , NetScape plugin理論上應該可以同時支援 mac與linux,所以zinc就不再是台面上唯一的選擇囉~
不過現階段zinc確實是唯一可同時支援 window/mac/ppc 三平台的選擇,所以在screenweaver 穩定下來前之前花的錢還是值得吶~
addon: 有趣的是看來 OSS 風已快速襲捲 flash community, 現在OSFlash 與mailing list幾乎是每天都有好消息,一下子是全新的compiler協力工具(還有公司要免費送開發者商業軟體做為回餽),一下是java 2 actionscript產生器,再一會兒又出現一個完整的component framework,這實在是太驚人了。
不過仔細想想這也挺合理的,畢竟 flash community的user base 是異常的巨大,全世界加一加沒有幾百萬也有幾十萬人,這其中只要有千分之一的人願意付出心力,OSS界就會表現的很精彩,所以從現在到年底絕對是好戲不斷,不論是來自MM的新產品或OSS的新創意。
只是華文世界的力量在這裏面可以做些什麼嗎?
| by admin

doom on ipod.
原本我以為本週最瘋的事當屬 tiger on x86莫屬哩~
照這種情況發展下去,那天ipod能刮鬍子大概也不稀奇.
| by admin
呃 因為前文已經說是 10 features 所以這點怎麼塞進去都很怪,就當作補遺另開一篇來寫吧。
Flash 8裏新增了一個 IME (輸入法)的API,它可以讓flash player直接與作業系統的IME互動,例如偵測該OS裏是否有安裝中文、日文等各國輸入法,然後也可以直接透過system call去開啟或關閉某個輸入法,或接受輸入法的結果字串。
這代表什麼意思呢?
以往如果做kiosk之類的touch screen 程式,由於整個介面都是flash寫成,又沒有鍵盤可供user輸入文字,此時如果要讓user填姓名、地址之類的資料麻煩就大了。
過去我為了解決這個問題,是自已用flash寫了一個簡易版的注音輸入法,在畫面上做一個可點選的鍵盤,然後蒐集user輸入的音標,再去查表列出所有侯選字,簡單來看就是一個不聰明的聰明注音輸入法(其實後來還做了嘸蝦米版的輸入法,只是因為用的人太少so….)
而現在有了IME API,這種耗時費工的事只要一句 IME call就可以帶出底層的輸入法面板供輸入,並且直接攔下輸入後的結果就可以了。
不過這部份的API 很明顯是由日本方面所主導研發,因此目前只有日文語系的支援最完整,當然也只有windows版,中文方面我怎麼玩都覺得不是很順手,希望當九月正式release時能有點改進。
anyway, 至少現在有一個官方的solution可以著手解決flash + 輸入法 的問題囉!
| by admin