December, 2007 > 所有文章列表

在 Mac 上用 FB3 開發 AIR 的測試注意事項

In General   December 10, 2007 - 10:07 am

最近很頻繁的在 mac 寫 air,結果安裝了新的測試版後卻遇到怪問題,將來可能也有人會遇到所以記一下。

正常情況下要在 fb3 裏測試 air 是很容易的,只要按下 debug 鈕就可以直接跑(它背後運作的方式是由 fb3 呼叫 adl 去啟動這支 air 的 xml 檔),但在我的 mac 上,我將 xml 的 file association 設為 Smultron (一個免費的 editor),結果導致每次按下 debug 時,smultron 就會很歡樂的跑出來打開 app.xml…也就是說我沒辦法 debug air app 了啊~

原本認為這是一個 file extension 的問題,但經過 b 長輩指導後仍然無法正常運作,好險 adobe 的 Mike Morearty即時伸出援手,他點提了一件事:這可能是 launch configuration 錯亂了。

檢查方式很簡單:
1、按下 debug 旁邊的黑色三色形打開下拉選單
2、按住 cmd (ctrl on windows) 鍵再點選要 debug 的 air app
3、此時會進入 configuration popup,如下圖

要注意看的是畫面左邊,它有分 AIR Application 與 Flex Application 兩種大類型,我出錯的原因就是因為要跑的程式被誤認為 Flex Application 了,所以它是去啟動 xml 而非 adl,再加上我的 xml 是關聯到 smultron,結果就是 smultron 跑出來開啟 xml。

至於解決方式也很簡單,將錯誤的那筆在左邊刪掉,然後選最上方的 AIR Application,再右鍵選 new,新增一個 configuration,按下 debug 就萬事 ok 囉。

雖然只是小技巧,但處理不好可會搞死人啊(不過意外收穫是不小心學會了怎麼編輯 plist 跟一票工具程式,換平台真像學新語言,一切得重新來過…)

Add comment | by admin

Usability, communication, the visual way.

In General   December 9, 2007 - 10:03 am

Apple 最近要在紐約下西區開一家新分店,上面是它寄來的 DM。

這張 DM 在許多方面都堪稱一流,可當作許多學科的典範。

基本上它簡潔、有力,這是 Apple 經典的行銷風格,透過簡單的元素,將訊息清楚的呈現。

畫面最上方是新店面的照片,一張簡單的圖片,卻同時達成了多重的目地,首先,它清楚寫著 New Open 因此就算你不看信件內容,也知道這是新店開張,其次,有了照片,如果你真的想去,這就是最好的地標,最後,視覺總是會留下較強烈的印象,它的宣傳張力遠比千言萬語強大許多(所以常聽人說『有圖有真相』或『眼見為憑』也不完全沒導理呢)

接著,從這張 DM 的版面配置來看,大圖能傳達的訊息最重要,因此它放最上面,並佔掉幾乎 3/5 的面積。

然後,是一句簡單的雙關語文案:Unwrapped just in time for the holidays.
(現在美國已經進入年終 Xmas 的送禮季,而禮物當然是要 unwrap 的囉…)

然後,提供關鍵的資訊:

店在那裏?West 14th Street

何時開幕?Grand opening tonight

再加上一個 Get the details 按鈕,讓人可以按下去獲得更多資訊。

這樣的資訊傳遞方式與版面配置,正是 usability 的展現之一,它在無形之中展現了許多 UE design standards and best practices

例如

1、重要的資訊要先強調,擺前面
2、不要試著一股腦的將所有資訊推出去,用漸進的方式一步步秀出來效果比較好

同樣的精神在 Apple Aperture 的介面設計中也可以看的出來,複雜的功能都藏在近在趾尺的選單內,平常只看的到最重要、最常見的功能,但有需要時,也可以很快的取得複雜功能。

就我來看,Apple 的這張 DM 就是 Usability 的良好表現之一,它很成功的達成『溝通』的目地,將重要的訊息牢牢印在消費者心中(而且是用一種有格調的方式,正好滿足 mac 族群的味口,這部份就是視覺設計的功力),可以算是一百分的作品(就功能與實用性來評量)。

我想強調的是,Usability 不是一個 nice-to-have 的 option,it’s a MUST !

沒有好的 usability,做什麼其它努力都是白工,試想如果這張 dm 是密密麻麻的印上該店特價販售的眾多商品,然後把商店照片跟地圖放在一個角落,消費者還會有同樣的興趣與注意力投入在上面嗎?這樣的一張 DM 是否有可能實際上是浪費了所有的行銷經費?不但打不到 target audience,可能還降了自已的格?

同樣的,一支 application 如果沒有先做好 usability 這件事,那不論花再多心思開發多強大的功能,其實都很難達到加分效果,之前提過的 urmap 就是一個例子(btw, 如果有時間,我會抽空再來個 urmap/google map/yahoo map 小評比,用實際的例子說明這三著在 UI/Usability 設計上的優劣,當然,那是要有閒時間再說)。

也因此,每次我聽到有人說 Usability 不過是『事後再找個美工來美化一下畫面就行』時,就會冒出一身冷汗,因為這種想法完全本未倒置,抓錯重點,而有的時後,這甚至可能是一個致命的錯誤,不可不慎吶~

咳咳,寫到這裏突然開始肖想,今年會不會收到一支 iPhone 啊啊啊啊啊啊啊啊…

comments(4) | by admin

.NET 下使用 AMF3 的兩種選擇

In flex   December 8, 2007 - 1:40 pm

WebORB for .NET:有免錢跟商業版,商業版包含 FDS 的 messaging等功能

FluorineFX:它的前身是單純的 AMF3 gateway (Fluorine),沒想到現在也發展成包山包海,而且是 open source 啊~

但有趣的是,這樣一來,weborb 的商業版就會有點難賺了…

Add comment | by admin

AS3 最 in 的寫法

In flex   December 7, 2007 - 8:30 pm

Well, ok, pun intended.

問題:
你想知道在某個物件(假設是 btn )中是否有一個名為 ‘title’ 的屬性,該怎麼做?

解法:

基本上這個問題有很多種可能解法,常見的有

1、用 try/catch block 去探測 if( btn['title'] ) 如果回傳 false 就知道不存在

2、用 describeType 之類的 object utility 透過 reflection 知道物件的結構

但這種做法各有不同的爛法。

第1種做法會讓程式碼變的很不優雅,要一大堆 try/catch block。
第2種做法更麻煩,只為了找一個屬性,要把全部的東西都 dump 出來。

正解:

前幾天在翻 air 的 source code,意外發現下面這種寫法

if( ‘title’ in btn ){…}

他/她 直接用 in 就可以探測出 btn 中是否有某個物件,而且不需要 try/catch。

以往 in 都是用在 for in loop這樣的情境中,從來不知道也可以這樣玩,所以當初一看到可真是驚為天人。

後來翻了一下手冊才發現在 language elements 那章就明明白白有講啊,是自已白目沒認真看…

後記:

這件事告讓我們,沒事多讀 framework source code 絕對好處多多,每次我在看的時後,都覺得就在跟 adobe 的工程師對話,邊看邊想像他寫作時腦中的思路,為何他要做這個決定?為何這樣設計?為何寫這段code ?他有試過其它的方式嗎?是不有有其它限制?

不過看 code 也是要有技巧的,不是直接從第一行看到尾,這樣很容易入寶山還是空手回,比較好的方式是先有一個目標,然後進去挖,再搭配一些小技巧,收穫就會比較多(而且比較有效率…)。

1 comment | by admin

幾則新聞整理: 25th, FMS3, FP9 Update 3, AMFPHP 2, Papervision3D

In General   December 6, 2007 - 10:53 pm

最近持續忙錄中,但有些新聞再不記大概永遠不會寫了,還是草草來一篇吧。

*Adobe 慶祝 25週年

上週未 Adobe 在歡慶成立 25 週年,雖然有點晚了,但 happy birthday !

*FMS3 發表

新聞稿
FAQ
報導
延伸閱讀

上面幾篇內容重要的部份只有一個 - FMS3 從現在起只有兩種版本:

1、Flash Media Streaming Server 3: $995(約台幣三萬台幣),專做 media streaming, 也就是像 YouTube 或 ImTV 這類的純播放公司會非常樂,三萬一張 license 可以撐兩倍的 con-current users

2、Flash Media Interactive Server 3: $4500(約十五萬台幣),提供 server-side scripting 能力,原本上百萬的 origin, edge server 也一併大放送,另外還可自製 C++ extension

但不論是那一種版本,都再也沒有 connection 或 bandwidth 限制,也就是你的水管有多大,機子有多硬,就能撐多少服務。

簡單來說,這次大落價的幅度約是 80%,原本百萬級的東西現在只要十多萬,等於是把進入門檻完全變不見,什麼叫市場殺手?這就是正港的策略啊…

但在價格變動的背後,你還看到些什麼呢?

大部份的人大概都可以直覺的說出:

哈,這一定是衝著 silverlight 而來,先前 silverlight 宣稱自已有獨門的 HD video 能力,不久 FP9 Update 3 就支援 H.264/AAC 直接甩它個大耳光,後來 M$ 開始說一樣要做 streaming service,用 window media solution 總成本比較低(咳咳,好像當初對付 linux 也是搬出『總成本』這個詞兒啊~),現在 FMS3 就直接減價80%把它拼過去,所以接下來 M$ 是要推出買 media server 送Lamborghini 跑車的活動相抗衡嗎? XD

ok,這個思路其實也是對的,我也認同 Adobe 近6個月來的許多策略與行動的確是被 M$ 激發而導致政策急改或加速,從這個角度來說,將來在史書上當然不能抹去 M$ 在 RIA 發展上的卓越貢獻,因為它確實是促使市場上最好的變的更好(making the best even better !),而且這次可不像十年前的 Netscape vs IE之戰,競爭對手可是強勁的狠吶~ 總之,沒有競爭,就沒有進步,這是千古不變的。

但在 M$ 之外,還有沒有其它原因造成這次 FMS3 大落價呢?我至少還看到幾點,但說一個簡單的方向。

Adobe 已經很明確的說明,未來他們的營收來源希望能擺脫單純賣 tools 的情況,也就是不要完全靠賣 photoshop, flash 這些套裝軟體來獲利,而希望能漸漸轉型成為賣 service。

過去十二個月中,我們已經看到它推出 web 版的 Premiere, Photoshop,也有像 Share 這樣的文件分享服務,還有像 Adobe Media Player 這種混搭式的桌面程式,而在今年的 MAX 中,更是一口氣宣佈 Cocomo 與 Pacifica 兩個大計畫,這些都是 service-oriented 的服務,從這裏不難看出某些轉變是真的在進行中,只是沒有明講而已。

就我來看,單純想靠賣 FMS 這個 server 產品來獲利,其實是不容易的,太高的售價只會把人嚇走,或改用其它方案(例如不成材的 Red5 - 嗯,對,我是用不成材這個字,這句話背後可是有所本,不是隨口講講而已),反不如把格式公開,產品便宜賣,間接做球把 Flash Video (FLV) 給送上壘,意思是,讓 flv 成為 streaming media 的標準,然後靠其它服務來賺錢 - 例如 cocomo 就是一個很好的應用,可能可以玩的更大一點,現在adobe 終於看清這點開始走正確的路了。

另一方面,我們在實務上同時使用 FMS 與 Red5 的經驗中得知,原廠的真的比較好,不論穩定性、易用性等,都不是 red5 可比擬的,依現在這種價格,將來更是不可能浪費時間繼續鬼打架(花幾個小時搞 red5 一張 FMS license 就已經到手了,何苦嘛…)

*Flash Player 9 Update 3 推出

release note

不是新聞,但至少推出了,而且有 linux 版,現在就等 flashlite 4 了嗎?

*AMFPHP 2.0 即將推出

原本以為 AMFPHP 在 Patrick 去讀研究所後就會準備下台一鞠恭,但沒想到接手的 Wade Arnold 真的有在做事持續發展,而且還跟 Adobe 合作,所以如果你看到 Ted blog 上寫的 “There is some big AMF news coming in December…. :)”,不用再猜了…

*Papervision3D v2 released

報導

越來越成熟了啊,這群人真是熱血到一個不行。

我比較感興趣的是如何用裏面的一些特效來強化 UI 的易用性,而不只是淪為 eye candy,看來該找時間好好研究一下了。

comments(6) | by admin

Next Posts

mobile phone