標籤

2010年12月31日 星期五

2011年威脅攻擊預測

McAfee Lab發佈了2011年威脅攻擊的預測,我個人認為還少了一個新的威脅"Fake Application"。 誘騙消費者購買無用無效的軟體我認為會越來越多,原因是寫軟體現在越來越容易了,而且提供寫軟體來賺錢的平台越來越多了。

近幾年流行好幾款的可收看免費衛星電視的軟體,他們的Web Page極力誇大他們的擁有許多的頻道,消費者只要花一些小錢就可以收看這些電視節目,結果許多的消費者上當受騙。
例如:
http://satellite-tv-pc.net/
http://www.satellitetvtopc.com/

他們在許多的Forum會有人或是robot post 許多吹噓的廣告,也有一些人到處詢問這樣的軟體是否為假的軟體,可見這樣的模式還是有利可圖。

另一個例子是假的防毒軟體,也稱為"Rogue security software",這種假的防毒軟體在2009年底出現,前一陣子在英國有許多的使用者接到所謂的support call說根據他們所得資料,你目前所使用的電腦中毒了,雖然你可能有裝防毒軟體但是並未發揮作用,在電話中他們就極力推銷一款新的防毒軟體,後來消費者相信後就軟路購買使用,結果卻是假的防毒軟體。 他們稱這種的方式叫 "Cold-Calling Cyber-Criminals"
http://www.eweekeurope.co.uk/news/cold-calling-cyber-criminals-tout-fake-antivirus-services-16661

我認為當然利用假的軟體來進行一些犯罪的行為在Mobile Device當然是更可行了,當消費者認為花0.99美元購買個軟體是理所當然時,我相信Hacker不會放過這個機會。 Hacker極力的尋找Always On的Server可以來做跳板時,想不到現在卻有成千上萬的mobile device是always on,這樣的機會當然不會想放過。 最近的例子就是在Android出現的類似Botnet的東西"Geinimi",這個botnet藏在付費的遊戲軟體內,會將個人資料送到特定的Server裡。

以下是McAfee對2011年威脅攻擊預測的簡單list

  • 有害網頁可能利用短址服務來隱藏自己
  • Hacker會利用一些提供使用這目前所在位置的社群網路來進行犯罪行為。
  • 在工作環境使用mobile device會越來越多也越來越會被攻擊。
  • 出現在Mac OS的惡意軟體會越來越多。
  • 藉由新的TV平台洩漏個人資料。
  • 惡意軟體會從你所認識的朋友散播而來。
  • 僵屍病毒會越來越先進,不再是以網址用來發廣告信,他也會進行資料收集任務。
  • 類似WikiLeaks的模式會越來越多。
  • 基於"利"與"任務"受到某特定團體或國家支援的"特定攻擊"會越來越專業。


 

2010年12月22日 星期三

解決MAC MSN 8.0 無法login的問題,更改Server吧。

為了方便自己使用,我寫了一個小工具軟體來更改 Mac MSN 8.0的server設定,因為有太多人有類似的問題。

使用這個工具的重點是來更改 \user\Preferences\com.microsoft.Messenger.plist 裡面的ABCHServer的位置(Cached Address Book Clearing House),他是儲存你的聯絡人的server (預設是 byrdr.omega.contacts.msn.com),大部分的MSN 8.0 MAC版不能login就是卡在這個server 連結問題,只要把這個改成其他的server就可以了,可以改成:

  • by1.omega.contacts.msn.com
  • by2.omega.contacts.msn.com
  • by3.omega.contacts.msn.com
  • by4.omega.contacts.msn.com
  • by5.omega.contacts.msn.com

使用前請務必將 MSN 關閉,另外最好也先備份你的 com.microsoft.Messenger.plist 檔,更改完 ABCHServer位置後請按 "Update" 鍵再開啟MSN。

軟體下載位置 1. Server 2.Dropbox 



2010年12月2日 星期四

我的第一個Web App, 網路收音機。


最近看了一下Silverlight的東西,覺得還算容易寫,一時興起就把之前寫的網路收音機改成Silverlight版本的,這樣一來我的Mac也可聽Hinet的網路收音機了, 我所做的這個版本也可以下載安裝成Desktop 軟體來執行。 第一次要load會久一點。



要使用前比需安裝Silverlight,如果沒有安裝的話,程式會指引你去Microsoft那裡先安裝。

按這裡去執行 。 (Loading 會久一點)


安裝成Desktop 軟體,按Mouse右鍵來安裝




2010年12月1日 星期三

MSN 8 Mac版無法連線的問題

上個月把Microsoft Office 2011 for Mac 的版本安裝到Mac之後使用幾來很滿意,裡面也包括了Microsoft MSN for Mac 8.0的版本,這個版本包含了視訊會議的功能,這是以前所沒有的功能(Microsoft 還是比較照顧 Windows的使用者)。 原本使用新版的MSN相當滿意,可是最近一直發生MSN連不上的問題,有時一個早上都連不上,連上後卻又被踢出來,火大就把debug log打開來看,結果一看是主機連線問題,後來到Forum去看一狗票的人都有這個問題,可是Microsoft卻沒回應。

後來就決定把連線server換一下,看了一下Microsoft 的文件,Microsoft for Mac 有幾個比較重要的server link 會定義在\user\Preferences\com.microsoft.Messenger.plist 的檔案內,這個plist檔案也包含了所有MSN的設定在內。

以下是幾個比較重的server設定
  • ABCHServer  (Cached Address Book Clearing House), 個是儲存你的聯絡人的server (預設是 byrdr.omega.contacts.msn.com)
  • CachedNSServer (Cached Messenger server for personal account) 這是一個Cache server,有可能每次的連線都會不同,會先連到 DefaultNSServer 再配置這個server會以IP位置來顯示(e.g. 207.46.124.220:1863)
  • DABase  (Passport base domain authority) 這個是 login username/password 確認的server (預設是 login.live.com/login2.srf)
  • DefaultNSServer (Default server address for personal account),這個是主要的連線server,連到他後會配置 CachedNSServer (預設是 messenger.hotmail.com)
Ok,根據debug log 顯示我是連線server出問題,我nslookup 一下 DefaultNSServer是可以連線的,所以messenger.hotmail.com是沒有問題的,接下來我就是看看把 DABase的 login server改一下 (注意,每次修改 \user\Preferences\com.microsoft.Messenger.plist 檔案前必須把 MSN 結束之後再開啟才會load 新的 plist設定),我把default 的 login.live.com/login2.srf 改成 login.live.com/login1.srf, login.live.com/login.srf,  login.live.com/login3.srf 都沒作用,不過MSN顯示的問題是 user name or password不對,所以這個server確定是負責login 確認的server,我還是把它改回default 的 login.live.com/login2.srf。

基本CachedNSServer示不需要修改的,就算你把這個xml的值變成空白,下次load MSN後 DefaultNSServer還是會指派一個新的cache server下來。

接下來看到問題最大的可能是ABCHServe,基本上根據Microsoft MSN的使用狀況,我連CachedNSServer的設定都拿的到,所以DefaultNSServer 的設定不是問題,而且 DABase的login 也通過了,接下來就下要去到ABCHServ去撈我聯絡人的資料才對,感覺每次到這裡後,MSN就login很久很久.. 我決定把這個server改掉。

ABCHServ 的預設byrdr.omega.contacts.msn.com,問了一下Google老大,ABCHServ的server有很多,我試了 by5.omega.contacts.msn.com結果一連就上(by1.omega.contacts.msn.com, by2.omega.contacts.msn.com, by3.omega.contacts.msn.com, by4.omega.contacts.msn.com, 好像都可以),基本上nslookup 這幾個位置的IP是都一樣,可是主機應該不同個。

目前使用起來是還ok,接下來會繼續觀察看看。

2010年11月26日 星期五

多種不同的End Point Device 作業系統

在10幾年前好多人想推出不同以Linux based的OS來與Microsoft和Intel的Wintel王國來對抗,可是這個Wintel地位相當穩固,其中一個主要的因素是他們掌握台灣硬體OEM與ODM的命脈,在台灣不做Wintel的架構幾乎沒辦法活下去。  我記得1999年PDA盛行時似乎可以看到至少在小device上還是可以看到非Wintel架構的一片天,那時有Palm OS, Symbian OS 跟 Blackberry OS,結果Microsoft 跟著推出 Windows CE跟後來的Windows Mobile OS來還擊這幾個OS,想不到後來這幾個OS的命運似乎並沒有壯大起來, Palm 被HP買走,現在連RIM都不用自己的Blackberry OS來做Tablet,他們merge了NQX改用他們的OS。

其實Microsoft也不是沒踢到鐵板過,在2000年時他有推出Windows XP for Tablet PC的OS,騙了Acer跟Viewsonic 這兩家來做Tablet PC,當時我手上就拿了他們家兩台的Sample機,心裡想這個Tablet還真炫,但是想不到這個OS不到一年就掛了。

反觀近幾年的End Point Device OS的成功頗有抗衡Wintel的氣勢,甚至將Tablet PC產業重新再帶回來。 當年的Wintel架構的Tablet PC有兩大缺點;

  • 耗電
  • 後端網路建置不完全
那為什麼現在的Tablet PC何以見的會成功? 至少我看到了幾個點會是主要的推手,在這之前先比較Mobile Device與 Notebook使用上的不同點。
  • Notebook 的使用是由A點可以搬到B點的一台個人電腦
  • Mobile Device的使用除了可以由A點搬到B點來使用外,在移動過程中也可以使用
  • Notebook 的使用需要Boot up 跟 Shutdown
  • Mobile Device則是Alway on
所以Mobile Device要達成長時間使用的話他勢必不能採用以前Wintel的厚重的架構。

Tablet PC後面的助力推手原因有;
  • 現階段的通訊架構比10年前好太多了,Wireless, 3G.等
  • 後端支援平台紛紛出現,Cloud Service
  • 可使用軟體很多, Application Store
  • 硬體商會選擇製作Tablet PC以換取高獲利 (一台Notebook 大概有1000多個元件, iPad只有500多個,可是售價卻快要差不多)
通常要看哪個市場正夯就看這個市場是不是很多產商來投入,廝殺之後再剩下2至3個競爭著,這個例子從以前的汽車產業到.com 都看的到。

以下是我整理的不同End Point Device所採用的OS,重點是所有的OS目前都會推出Application Store來support並expend自己的users.

多家End Point Device所採用的OS


2010年11月24日 星期三

一套很完整做Web Site Prototype的SaaS, "Protoshare"

在review這套Protoshare時,他的Free trial必須輸入先credit account才能免費使用30天,我索性直接看他們的demo好了。 這套Protoshare也是朋友推薦我的,他最大的好處是因為他是一個SaaS的雲端服務,所以使用者不需安裝就可以使用,不同的開發者或是review人員可以login進去來做UI的修改與review(科技人士會稱之為"協同"不是"鞋童"),所留下的comments也可以share給members來參考,如果是進階版的還可以將UI export成Web, HTML或是World檔案。

收費表準有三種,充分表現出雲端的包租婆的精神;

  • 標準版 29美金/月 (包含2個account),多一個account 19美金/月,可以開10個projects,有2GB的空間。
  • 進階版 49美金/月 (包含3個account),多一個account 25美金/月,Projects數目沒限制,有10GB的空間。
  • 企業版的就直接與他們談價錢了。
不過我倒是覺得這個style的SaaS應該會賺錢,很多的UI layout直接拉過去就可以用了,以後問UI engineer可以這樣問"你的UI拉好了嗎?"

使用介面跟一般的IDE沒兩樣,project tree在左邊,property在右邊,中間就是content的editing


這是節取他們的demo,做出來的Web page是可以真的run的


提供不少一般Web Site會用的layout,像是header,from..等等,只要選好拉過去就行了。


這個挺有用的,整個site的organization chart可以一目了然。

2010年11月23日 星期二

利用Sketch Tool來做Prototype越來越容易了。

之前做UI prototype真的算是一個不小的efforts,可是不做又不行,requirements 在紙筆上很難有一個flow的概念來呈現所以只好先用VB.net來做desktop的prototype,至於web的軟體就先用HTML做個樣子來跟客戶討論。

軟體開發的變數很多,影響最大的是requirements這一端,requirements不對或是更動的事件幾乎是時有所聞,特別是做project based軟體開發,不讓客戶先瞭解整個UI運作模式的話,requirements 很難不會不更動的,所影響除了驗收收費之外,也會嚴重的影響下一個porject的進行。

今年參加了微軟的TechEd 會議後,他有一款Expression Blend來做Silverlight與WPF UI軟體引起我很大的興趣,特別是裡面所提供的一個Sketchflow功能可以讓開發者來做UI prototype,最近我把它安裝好了之後試了之後,這真的是一個很好的工具啊。

Sketchflow提供你可以在WPF與Silverlight 上來開發UI Prototype,所提供的UI元件相當豐富,幾乎你所想到的都有提供,更棒的是他提供了navigation的功能能讓你做不同UI的連結,你也可以運用animation來做動畫呈現,所製作出來的UI是動態而且是可以操作的。  除了可以demo 你的UI與客戶討論requirements之外,review UI的人也可輸入建議,不過這個步驟有一點鳥,reviewer必須將意見匯出之後再email給開發者匯入置Sketchflow內才看得到comments。 要了解更多或學習如何使用Sketchflow可以到微軟的Expression Blend Site來看更多的資料與Demo,或是直接到這裡來操作一下。

除了微軟的Sketchflow之外,我也review了一下Balamiq Mockups,他所提供的是一款利用Flash來製作UI Prototype的軟體,他其實也算是SaaS的一種,他的Desktop版本一套要79塊美金。 另外一個完全在Web上來製作UI Prototype的是Mocklinkr所提供的,不過免費版的功能很陽春。


Microsoft Expression Blend 的Sketchflow
選擇Sliverlight或WPF來製作Sketchflow專案
這是之前我看的範例

提供相當多的UI elements 來使用

下面提供Flow的連接圖可以很清楚的知道UI flow的狀況

Project run 起來的狀況,左方可以提供使review的人來輸入建議與標示問題


所輸入的建議必須匯出成.feedback檔給開發者來匯入(有一點鳥)


Balamiq Mockups
可以先試用Web Demo 版

提供的elements也不少

隨便拉一下UI Prototype就做好

Mobile Device的UI Prototype也可以做

免費版的很兩光

提供的也是簡單的連接

可以將UI Prototype 匯出成URL link給reviewer


2010年11月22日 星期一

Intel 買下McAfee不是為了把防毒軟體放在晶片裡?

今年8月Intel 以77億美元併購McAfee市場一片嘩然,當時也不少人推測Intel應該是要把防毒軟體做到晶片裡,但是在最新的報導當中,McAfee的CEO Dave DeWalt表示,Intel併購McAfee並不是為了整入Chip而是針對四個未來的走向;

  • Communities
  • Virtualization
  • Consumerization of IT
  • White listing approach
基於目前不同與多樣的End point devices 與 Cloud的興盛,這也改變了原本網路安全的防範措施。  如果採用以前的防毒軟體的模式來針對不同的End point來推出防毒軟體,這樣的方式對防毒軟體業者(要多一組人來開發與維護)與使用者(在256MB 的 iPad來裝防毒軟體?)都是一個不經濟的使用模式。 DeWalt所提的四種原因並未說明的很清楚,不過我基本上推測其作用與方式有可能是;

Communities
其實在現實社會上,我覺得最安全的保全方式就是守望相助,我也相信這樣的模式套用在防毒軟體是可行的。 如果在10年前有人提出要把人際關係的整個模式放到網路上一定是會被嘲笑的,但是Facebook的成功卻證明這個方式是可行的。 事實上McAfee之前就有提供了SiteAdvistor的服務,當你開啟某個site之前可以警告你這個site是否安全,作法跟Google的Safe Browsing 很類似,(之前我有用C#寫了一個testing program去呼叫Google Safe Browsing API的程式,如果是使用pre download data的方式效果不太好)。  要提供這樣的服務或解決方案就必須事先收集許多的資料以供使用者來採用,如果是自己的公司來收集就要有爬蟲程式去跑,其實最好的方式就讓使用者來提供資料,利用檢舉匪諜人人有責的方式最快。

由於社群網路的興起,很多社群網路已經成為一個platform了,個人或是公司的site可以掛上去或是做連結,所以由原本的人與人,人與社團,社團與社團進而到人與Site,Site與Site的連結。 其實一個很明顯的例子就是當你寫完一篇blog後你可以post到Facebook 或 Twitter,這個動作就已經是Site to Site的連結了。

當Site與Site的連結越來愈頻繁後,安全的問題也會出現了,我要如何知道你的site是安全的呢? 是否有一個單位可以幫我確認這個site是安全的?  我相信這個問題與需求應該會出現。

Virtualization
其實這個與雲端科技的盛行有關,IaaS與 internal Cloud 會大量的使用VM的技術來節省成本,可是要在每一個VM上裝防毒軟體這個方式可能太耗資源了吧。 

由於最近一直在看跟VM與雲端的資料,在看了Xen與Intel 的VT資料,我覺得以後只要做在Kernel 端的軟體可能真的要觀察這趨勢發展了。 在解釋這個發展前先簡單看一下一般防軟體在OS的運作方式;
作業系統分成User Mode與Kernel Mode,一般的軟體在跑在User Mode的,但是如果要檔案攔截的動作就要在Kernel mode來做(其實微軟有提供在user mode做hooking的機制,叫做detours)。 

現在來看Xen與Intel的VT技術,在Hardware層上會有VMM(Virtual Machine Monitor, Xen 是把這個稱為Hypervisor)來針對上端不同的VM來做資源分配,至於與多個VM進行溝通管理就由某一個OS來統籌(Xen 是用Domain 0來稱呼, Intel 是稱為 SOS(Service OS, 跑在 Service Partition VM上)) 

Xen

Intel VT-d

如果要具體化一點,我畫了一個圖用layer來表示(Virtual Appliance)
Physical Layer就是硬體裝置(網路, 硬碟..等等), Monitor Layer就是 VMM (Virtual Machine Monitor),Management Layer 就是Xen所提的Domain o跟Intel所提的SOS,Guest VM就是跑在上的的不同VMs。

所以VM很有可能會改變工具軟體的作法了,想想要在每個VM上裝防毒軟體,這個Virtual Appliance跑的動嗎? 現在如果我把Kernel mode與user mode的觀念帶入的話,其實要在哪裡做hooking應該就很明顯了。


Consumerization of IT
不同的end device將會出現在企業裡,可是你期望在256M的iPad上安裝防毒軟體嗎? 應該會有更好的方法吧? 這個問題我也還在想。

White List Approach
這個就是白名單的防毒方式,以往的防毒方式是用黑名單的比對方式,理論上白名單應該會比較難做,要不然時10年前就該出現這樣的防毒模式。 但是如果以雲端的概念再配合use case來看,似乎白名單好像比較合理。 

舉例來說,我有一個未知的檔案,我的雲端防毒把這個檔案特徵(不是整個檔案)送到雲端的資料庫來問,如果用黑名單來解答,一旦符合特徵這個檔案就是病毒了,但是如果這個檔案是一個全新的未知病毒的話,黑名單資料庫根本沒有資料的話,他就會判定這檔案不是病毒了。  反觀白名單的方式,如果這個檔案特徵並未符合白名單的資料庫內容的話,這個檔案極有可能是未知病毒。 但是白名單要能夠有效的話,他的資料庫一定要要比黑名單要多很多,要在一般的client來裝個白名單資料庫鐵定被罵死,可是雲端科技的出現不就是讓使用者可以使用後端龐大的資料庫嗎? 所以這樣看來白名單的防毒方式有可能會在雲端科技來實現了。




2010年11月19日 星期五

IaaS ... VMware的VMworld Session來看雲端科技

IaaS供應商會採用VM的技術來降低成本外,使用VM也會方便自動化管理。 VMware在這場雲端科技之戰的地位不容小覷,在2010年VMWorld Session當中有許多的sessions就是針對雲端科技來做討論,這些sessions目前都可以在 VMWorld Session的網站觀看並下載Keynote(必須註冊帳號,所有資料是免費的)。 想要真正了解什麼是雲端科技可以觀看他的第一個session,他的介紹很有趣也很容易了解,誠如我之前所Post的雲端科技到底是啥?,不要被一些專有名詞嚇到,他就是隨租即用的服務,其實就是租賃業。

SaaS ... 由Mac App Store 來看 Desktop 軟體的未來 ...

上個月20號 Steve Jobs宣布了一個"Back to the Mac"的一個event. 這個活動有兩個含意;他希望大家把焦點從大紅大紫的iOS轉換到Mac OS上,因為新的Mac OS Lion將要登場了。 另一個含意就是,使用在iPhone與iPad 上的iOS作業系統上所包括的功能也將會回到母親的懷抱(當初iOS是由Mac OS分支出去來做mobile device)。 iOS成功的功能不只是在軟體功能面,他的商業銷售功能一樣也會複製到Mac OS上了,所以繼App Store的成功,Apple也要推出 Mac App Store了。 Mac App Store 將會在上個月10月20號宣布後的90天即將launch也就是在2011年。 跟App Store一樣,開發者擁有70%的獲利,其餘30%歸Apple擁有,開發者一年必須支付99美金會費



看到這裡也看到未來套裝軟體的改變,以往的套裝軟體銷售是由ISV交付給Distributor或是SI來做銷售,鮮少有ISV直接面對End Users來做直接銷售,可是Apple的Mac App Store打破了這樣的銷售模式讓自己變成一個Distributor,而未來他會不會也兼SI的角色呢? 這個很難說。  因為一個Distributor手上握的軟體多,這也意味他以後很容易提供Soultions給顧客了。 以往的App Store的顧客大多是一般的end users但是,Mac App Store的顧客很有可能會包括了許多公司企業,只要Mac App Store所提供的軟體夠便宜的話。

App Store的出現改變消費者認為軟體一定要付出昂貴金錢才能擁有,這也證明軟體的銷售價格便宜合理的話,消費者是願意付錢的(想一想一個軟體30幾元台幣,如果自己去網路上抓破解除了麻煩之外也怕安全問題,況且花30還有客服)。 如果Mac App Store所販賣的軟體也是這樣的便宜的話,我看軟體的Distributors可真的要小心了,畢竟少了大小不同Distributors層層剝削,軟體的價格是一定會下降的。

其實我相信SaaS並不能完全取代Desktop軟體的使用,因為有些軟體是必須要安裝來使用的,特別是開發工具軟體的ISV。 現在又看到Desktop 軟體的銷售改變,我想以後的軟體可能會有以下三個模式;

  • SaaS模式
  • SaaS 與 Desktop的混和軟體
  • Desktop軟體
雖然這只我個人預測,但是有一個趨勢是不會變的,就是軟體以後一定是越來越便宜,而且使用與購買軟體的人會越來越多。

2010年11月18日 星期四

SaaS.. 使用 Flash, Silverlight 或是 HTML5? 一場綁規格大戰

在觀察了一些Web App後(其實應該要稱成為 RIA .. Rich Internet Application)發現很多的RIA是使用Flash來做,以目前的技術來說要開發RIA還有兩個選擇; Silverlight 和 HTML5。

Adobe在CS5的package裡製作Flash有三個軟體可以選擇,Flash Builder, Flash Catalyst 與 Flash Professional。 其中Flash Builder的主要用途就是要讓使用者來開發RIA,Adobe推出這個開發工具可以讓開發者使用Actionscript呼叫Flash API並且撰寫程式在Flex framework來跑,做出來的App可以選擇在Browser來執行(Flash Player) 或是在Local端執行(Air runtime)。

這樣的作法把原本focus在多媒體製作的Adobe變成程式開發供應商了,使用者可以使用它來開發不只是RIA連Desktop 軟體也可以開發了。 最實際的例子就是Salesforce.com旗下的Force.com (提供 PaaS)與Adobe合作一起提供Adobe Flash Builder for Force.com 的Plugin,開發者可以在開啟Flash Builder的專案時可以直接選擇Force.com的template來進行開發。 我相信Microsoft 跟 Apple不會很樂意看到Adobe這樣的擴展下去。

而微軟的Silverlight在VS2008就開始support,現在連在Windows Phone 7 都只能使用Silverlight來當開發平台,所使用的開發語言為C# 與VB.net。 目前Silverlight 支援的平台除了自家的Windows OS, Windows Phone 7外,它也支援MAC OS 與Linux (使用Moonlight open source),今年7月也宣布支援 Symbian OS 來攻佔其他的Mobile devices,但是目前就是還沒支援iPhone, iPad 與Android。

就Google一貫的擁抱open source的信念而言,我想信他們的Android未來一定會支援Silverlight,在今年的Google IO 會他們也邀請Adobe CEO一起出席會議,除了Android OS 支援Flash之外,目前他的Chromium OS也一樣支援。 至於HTML 5目前Google的Chrom 也同樣支援,所以我看Google未來對Silverlight應該也會支援的。

至於Apple對Adobe的態度從Steve Jobs今年針對iPhone與iPad為何不支援Flash的說法也應該看的出端倪,Apple應該是會全力來支援HTML5的規格吧。

對開發者現在比較頭痛的問題是要開發RIA到底要使用Flash, Silverlight或是HTML5呢? 以suport platform的廣度來看,HTML 5應該會是未來的主流,但是在他成為主流之前Flash以及Silverlight也還有時間來迎頭趕上。 因為 HTML 5是一個規格制定,它的優點就是所有的平台以後必須支援它,而他的缺點就推動他不是一個單一的企業體,因為個別的企業體為了自己的利益一定會將自己的利益先考慮進去。 反觀Silverlight與Flash,Microsoft 與Adobe一定會盡全力的來推自己的技術規格當做第一考量。 不過Microsoft 的IE 9在support HTML 5的規格算做的不錯的,我就不曉得之後的策略為何?

通常出現了規格大戰就表示這個市場正火熱,可是這可就苦了RIA的開發者了,要開發RIA除了要加上detect 不同的browser (IE, Chrom, Firefox, Safari, Opera)的java script 來做個別版本的處理,現在還要考慮HTML5, Silverlight跟Flash的support。看來RIA的開發與測試廣度遠比desktop軟體來的困難的多。

CodeProject轉寄了一封電子信我,裡面有提到一篇部落格的文章 "HTML5, Flash and Silverlight. Which one is dead?",他是從技術與使用上的角度來分析,裡面有一點我倒是從來沒注意的問題,Flash的內容沒辦法被Google與其他的search engine來做index,也就是說使用search engine沒辦法找到用Flash來製作的內容,這點我倒從來沒注意到,不過這樣所牽扯的就不只是技術問題了,現在在網路上最害怕的就是使用者找不你的site,另外一點就無法被index也代表做網路廣告困難就多一點了。

還在持續觀察這個問題中....

2010年11月16日 星期二

SaaS 運用範例網站 Aviary

這幾天的觀察看到SaaS頗多是使用Flash來做使用介面,使用Flash做使用介面的好處是整個UI看起來很華麗,甚至會有讓人錯覺這真的是Web App嗎? 但是Flash的的缺點也不少,除了版本相容性之外也頗耗資源,另外一點是Apple與Adobe這兩個的對幹也讓iPhone與iPad的使用者很多的網站不能使用。  對Flash的另一個挑戰是HTML 5,這個針對Streaming多媒體所出現的新規格目前也頗多browser支援了,我目前還沒看到使用HTML 5的 Web App,還在持續找尋中。


Client request Flash Object 基本流程

Flash的運作方式是使用者的電腦內必須事先安裝Flash Player,而使用的Browser會把這個Flash Player當成一個plugin,當使用者的browser造訪某一個Web page有使用到Flash的物件時,browser會根據其html tag或是java script內所指定的flash object (例如 swf object) 下載下來並交付給flash player來進行載入動作顯示在browser內。

Ok, 我的問題來了,當我使用Web App時,程式運算是在Cloud還在我的電腦? 舉例來說,當我使用Sumo Paint 把圖片加陰影時,程式運算是存在於它所包的Flash object裡使用我的電腦的Computing Power還是在雲端做好運算再傳給我影像? 更明確的問題是,他們所丟給使用者的Flash Object除了當做UI之外是否也包括了所有的程式邏輯運算?

  • 如果他們所提供的Flash object包括了邏輯運算與UI運作,這個Flash object勢必相當的大,除了需要更多的下載時間也會耗掉不少使用這電腦的記憶體。
  • 如果他們所提供的Flash Object只是做UI運作的話,要被處理的資料就必須上傳至Cloud來做處理,Cloud再把處理的過程由網路傳送到使用者的Flash UI內,這樣就有點像以前的Terminal時代。
  • 或者是採用以上兩種的混合,Flash Object裡除了UI之外也包括了部分常被使用到的程式邏輯運算,當需要使用到更複雜的邏輯運算時可以選擇上傳處理資料或是下載額外的運算邏輯Flash Object? (後面按照Flash目前的架構好像不太可行)
  • 或者是可以將原本100%的程式邏輯運算拆解成不同的Flash Object或模組,當你只需要使用到某一個功能時就下載使用這個Flash Object當使用完畢後可以將其功能儲存於Cloud內給另一個Flash Object來使用。 以PhotoShop來舉例,PhotoShop 有提供Layer的特效與Filter的特效,有不少的使用者會自行設計所需要的特效並且儲存自己的特效模組以方便自己以後的使用。 但是如果以Web App的形態來說,如果我只是要製作自己的特效模組就要將整個的繪圖Web App載入的話不僅浪費時間也浪費自己的computing power,更何況以後如果是以後Web App是以計次或是計時來計費的話,對使用者來說等更是不太合理。 
我預估每一個Flash Object應該至少包括這幾個模組


當我看到所有的產品都是以鳥來命名的Aviary所提供Web App後,他們提供以上的混和模式而且所提供的Web App一點都不鳥。

如果你只想要做簡單的圖片編輯,可以使用他們的 Image Markup (Falcon)就好了,這個Web App的Flash Object內只包括了部分的邏輯運算而且檔案不需上傳到Cloud裡。  如果你要事先做自己特效與顏色模組的話,可以使用他們的Color Editor (Toucan), Vector Editor (Raven) 與 Effects Editor(Peacoca) 將你所做好的模組儲存在Cloud裡以供它另一個強大的影像處理Web App來使用。  Image Editor (Phoenix) 這個強大的影像處理Web App可以做相當多的影像編輯,它有layer與filter特效,之前所製作的特效模組也可由它來載入,由於需要更多複雜的運算處理,所以你的圖檔就必須上傳至Cloud來做處理。

Aviary除了提供影像處理的Web App之外,它目前也提供兩款語音相關的Web App;Audio Editor(Myna) 語 Music Editor(Roc)。 Audio Editor就是讓你可對聲音檔做編輯,除了import 音檔之外,你可以來錄音編輯。 Music Editor則是提供了許多的音效模組讓你來組合使用製作自己的音樂。 

另外他們也在Facebook上提供一個好玩的App讓使用者更改圖片,Facebook目前真的越來越像一個platform了,他們提供了Facebook SDK讓開發者可以將所開發的App以plugin的方式掛到Facebook裡,其好處就是可以Facebook的Social Platform 快速的擴展使用者。 以2010年6月的資料,Facebook的使用人口已經有6億,以國家人口來說,它已經是世界第三大國了。

基本上我使他們的Web App感覺還算不錯,但是在使用某些功能時會有停頓的感覺,可能Flash在呼叫後端的資料可以並未預先顯示一些資料給使用者,不過這也會取決於網路的使用速度。

好以下就使一些他們Web App的screen capture.



如果不知道如何使用可以看Help,他們在YouTube有提供影音教學,現在很多企業都這樣做,我連學iPhone的Objective C也是到Standford 上的YouTube 來學



1. Image Editor (Phoenix)
開啟

Upload 個圖片來編輯看看

使用上還不錯

如果要儲存的話要申請account

或者是可以選擇Export到你的電腦上

2. Audio Editor (Myna)
介面真的很cool 很難想像這是Web App

開啟錄音功能來錄製

開始錄音

錄音完成後可以開始來編輯了

3. Image Markup (Flacon)
這是比較簡單的圖片編輯

因為是在Local端來做編輯,所以圖片開啟速度快很多

如果要做比較複雜的編輯的話,可以按有右上方的button,它會將你的圖檔upload到cloud之後再開啟他們的Image Editor (Phoenix) 來做編輯.. 流程有一點鳥,也沒告知使用者,在等待的過程中只好去看看有沒有引退片。

4. Color Editor (Toucan)
這個App可以讓你事先把顏色模組做好以後再來使用


5. Vector Editor (Raven)
你也可以事先做向量編輯

6. Effects Editor (Pracoca)
特效編輯,可以事先做好放在雲端以後可以用Image Editor載入

7. Music Editor (Roc)
音樂編輯的首頁,可以選擇你所想要的樂器

我先用他們的template來播放看看,挺cool的

選擇右邊的新樂器音效然後Drag and Drop 到你所想要的track 裡,真的感覺不出這是Web App

新的音效加入進去了..Cool..

8. Facebook App
在Loading時就很炫

選擇你要的Frame, 顏色來調整你的圖片