2010年2月26日 星期五

Nokia N95 (Symbain) 終於有了自己的全功能Skype軟體(可免費直撥PC Skype或採用Skype Out唷)

沒想到,農曆過年的時候發生了那麼多事情???

這幾天在用手機打電話,因為是國際電話所以想透過Skype Out, 還記得我以前介紹過的fring嗎? 當時是因為N95(symbian)系統上的Skype官方Symbain版軟體沒有辦法和WM 6.5一樣使用Skype官方網站推出的軟體打Skype Out電話,所以才透過一個中介軟體fring, 沒想到,2010過完年之後,N95(symbian)似乎終於有了自己的全功能版Skype軟體,也就是說,你現在可以在Nokia N95手機上使用全功能的Skype進行訊息傳遞與免費通話(Mobile <-> PC),當然,若你要從手機上的Skype軟體打電話給市話、手機、或國際電話,也就是用手機版本的Skype透過3G+Skype Out撥打電話,現在也沒問題了。

我下載測試了一下,首先,沒當機,順利的安裝,然後試著傳遞訊息並且從電腦上的另一個Skype帳號撥打到我手機上的Skype帳號,通話,傳訊息,都沒有問題。

接著,我試著用手機上的Skype帳號以Skype Out的方式撥打到一般電話,也OK。比起Fring算是順暢了一些,語音品質也算OK,只是似乎有半秒鐘左右的延遲。這部分就讓symbian平台的Mobile用戶自己測試看看了。

Anyway,N95終於有了自己的全功能Skype軟體!!! (目前版本: 1.0 發行日期:2010 年 2 月 15 日)
http://www.skype.com/intl/zh-Hant/download/skype/symbian/

利用MS FaceBook SDK開發WinForm FaceBook應用程式(二)

前面提到,透過FaceBook來開發應用程式需要進行申請以及下載需要的SDK。[先前的文章]

當您完成了這些動作之後,要在WinForm模式下開發一個FaceBook應用程式相對就簡單很多了。請先在專案中引用先前我們下載的.dll檔案,若您要開發的是WinForm的FaceBook應用程式,需要引用的檔案有:
1.Facebook.dll
2.Facebook.Winforms.dll

正確的引用之後,您就可以在WinForm應用程式中順利的使用FaceBook API了。

由於您開發的是WinForm的FaceBook應用程式,因此在預設的狀況下,使用您應用程式的用戶當然還沒登入FaceBook(請注意,開啟瀏覽器登入和開啟你撰寫的應用程式透過API登入FaceBook是兩回事),因此您撰寫的FaceBook,第一件事情應該就是透過FaceBook API與FaceBook Server聯繫並協助使用主登入FaceBook。

要進行這樣的動作很簡單,只需要透過底下的程式碼即可完成:

facebookService1.ApplicationKey = "你的ApplicationKey";
facebookService1.ConnectToFacebook();

facebookService1是一個元件,請先從工具箱中拖曳出這個元件到表單上:

你會發現它被置於Component Tray,緊接著,就可在專案中撰寫上面的程式碼了。

上面那段程式碼能夠讓你的應用成是建立起與FaceBook Server之間的connection,並且自動跳出底下的視窗,透過這個視窗就能夠讓使用者登入FaceBook(請注意,這個視窗並非是我們應用程式設計的,而是FaceBook網站提供的,透過上面的API呼叫,我們可以在自己的程式中跳出這個由FaceBook Server提供的登入視窗,讓使用者登入):

使用者成功登入後,上面這個視窗會消失,然後就自動跳回我們開發的WinForm Application了。
到這邊,我們已經成功地連線上了FaceBook Server(這表示我們可以自由的呼叫FaceBook API),並且讓使用者順利地登入完成(這表示我們可以透過API取得該使用者的資料了)。

接著,我們來看看如何透過FaceBook API取得用戶的朋友資料,我們先看程式碼,相當簡單只有底下幾行:

//用來儲存抓取到的朋友資料
IList users;
//透過facebookService1取得朋友, Users是朋友資訊的集合物件
users= facebookService1.Friends.GetUserObjects();
//可以把資料直接填入dataGridView
this.dataGridView1.DataSource = users.ToArray();
//也可以透過迴圈列出,或是填入ListBox
foreach (Facebook.Schema.user item in users)
{
this.listBox1.Items.Add(item.name);
}

facebookService1是我們先前拖曳到表單上的Component,透過這個元件我們可以輕易的取得使用者的朋友清單,而朋友清單是以『IList』的集合物件形式回傳(這就是使用MS FaceBook SDK的好處,不然光Parsing XML就很累人了),我們可以直接在程式碼中使用了,你會看到上面的程式碼直接把Users填入dataGridView1的DataSource屬性中。
由於是一個集合物件,我們也可以透過Linq語法查詢,相當有趣:

//在所有朋友清單中,找到特定名稱的朋友
var user = from c in users where c.name == this.listBox1.SelectedItem.ToString() select c;

2010年2月18日 星期四

利用MS FaceBook SDK開發WinForm FaceBook應用程式(一)

很久沒寫Windows Form的應用程式了,幾乎忘了開發Windows應用程式有多幸福。年假期間,想試試看開發FaceBook的Windows應用程式,所以重新寫起WinForm Application,才又重新體會了幸福的時刻。

可能很多人會以為,拿WinForm寫FaceBook應用程式幹嘛? 大家不都是用ASP.NET(WebForm)或是Silverlight寫嗎? 的確,乍看之下這樣好像很無聊,但是仔細想想,用WinForm寫FaceBook Application是會有很多好處的。

簡單的說,我們可以把FaceBook當作一套權限與用戶管理系統,然後透過FaceBook API來開發一套簡易的通訊錄,或是行事曆桌面應用程式。而FaceBook則可以充當我們的會員管理機制,從早期的Windows CardSpace計畫,有多多少少有這樣的企圖,沒想到現在看來FaceBook以更簡單的方式實現了。

FaceBook也可以讓我們用相當簡單的方式在會員之間傳遞訊息,如果我開發一個待辦事項清單,用FaceBook將會相當容易,很可惜現在FaceBook的通知訊息都變成了Game的通知,挺讓人遺憾。

一般來說,FaceBook底下這些功能是我們常常會用到的:
1.登入,進行驗證帳號(所以我們的應用程是要能夠以特定的使用者身分登入)
2.可以在FaceBook中管理朋友清單(所以我們的程式要能夠取得朋友清單與資訊)
3.可以在朋友之間傳遞通知訊息(我們的應用程式也要能這麼作)
4.可以張貼公告,就是FaceBook的最近動態(我們的應用程式也要能這麼作)

上面這些功能都相當簡單,我們只需要透過MS FaceBook API即可完成。

當然,你要開發FaceBook應用程式,得先跟FaceBook申請一下,你可以用你的FaceBook帳號登入,然後點選底下連結,進入FB開發者網頁:
http://www.facebook.com/developers/

你會進入一個類似底下的頁面:

請點選頁面上的『建立新的應用程式』,接著會出現底下的頁面,當然,請選擇『同意』,並且輸入你的應用程式名稱(建議用英文):


接著會出現底下的畫面,在這個畫面中即可設定您的應用程式:



由於FaceBook應用程式是可以用不同的方式來開發的,因此後續的設定則需要依照您想要開發的方式而定,您可點選畫面中的『編輯設定』,來設定應用程式。

若您要開發的是WinForm形式的FaceBook Application,請在進入『編輯設定』之後,特別注意幾個部分。首先是『基本資料頁』中的『API金鑰』以及『秘密(金鑰)』:

這兩組資料會在您開發應用程式的時候使用到,請記錄下來並且不要讓其他人知道。

接著,請依照每一個頁標籤中的需求,來設定相關資料,由於你要開發的是WinForm的應用程式,請留意最重要的部分是設定『進階』頁面中的Application Type,請選擇『桌面』:


並且把SandBox Mode改為『停用』。這樣即可開發WinForm的FaceBook應用程式了。

接著,請到http://facebooktoolkit.codeplex.com/這個網址去下載開發時所需的SDK,
其實您可以不需要任何SDK就開發FaceBook應用程式,但是微軟為.NET開發人員撰寫好了一組好用的SDK,所以我們就不客氣了。

請點選右上角的Download,下載完成之後,請將壓縮檔打開,你會看到有底下的檔案:

這些檔案在開發不同型態的Application時,分別會用到不同的檔案,請先解壓縮到某個資料夾後,即可開啟VS2008準備正式開發FaceBook應用程式了。

下一篇,再介紹如何透過FaceBook SDK在WinForm Application模式中抓取朋友清單。

2010年2月16日 星期二

手機界的重大消息 : Windows phone 7發表

過年的時間,微軟趁著大家放春假,在WMC2010上發佈了我很關心的Windows Phone 7(是的,從本來的Windows Mobile改成...),年假當然還是要放,但是抽空節錄了一些訊息提供給大家。

總的來說,WM6.5到WP7改變相當大(好在我沒去買WM6.5),種種消息指出,中文手機正式推出『可能』會晚英文版本一些時間,也就是說可能會落在明年,不過從發表的影片看來,WP7還是有相當令人興奮的功能。

Windows Phone Newsroom: Video Gallery 微軟執行長鮑默爾(Steve Ballmer)15日親自主持在西班牙巴塞隆納行動世界會議(MWC)的Windows Phone 7產品發表會


相關新聞
Windows Phone 7 結盟宏碁宏達電
6大特色顛覆傳統 Windows Phone 7發布

Channel 9 的Live Demo
http://channel9.msdn.com/posts/LauraFoy/First-Look-Windows-Phone-7-Series-Hands-on-Demo/

Windows Phone 7 官網:
http://www.windowsphone7series.com/

Windows Phone 7 Series Features- Video 1 展示影片


Windows Phone 7 Series Features- Video 2 展示影片



BTW, 在Windows Phone 7的開發技術中,Silverlight是否會占有一席之地呢, 呵呵, 請大家拭目以待^_^
與WP7有關的開發訊息將會在MIX10當中介紹[MIX10]

2010年2月13日 星期六

讓人落淚的故事...

過年了,我相信大家最近在電視上,看到一個大眾銀行的廣告,那一天,我正要出門去開會,突然間看到開著的電視,撥出了底下這段廣告(如果你還有印象,這是一個改編的真實故事)。不到一分鐘的時間,幾乎讓人眼眶忍不住掉淚...


原始故事來源...一張小抄,一個阿嬤的勇敢故事


三分鐘版:


[大眾銀行影片位置]
http://www.tcbank.com.tw/branding/popup/popup.htm

要過年了,希望大家都能夠珍惜跟家人團圓的時間...




配樂是來自...由Fiona Fung所演唱的,電影【無間道】的插曲【再見‧警察】
聽聽看

2010年2月12日 星期五

下載VS2010 RC

我相信大家多多少少已經收到VS2010 RC可以開放下載的消息了,其實幾天前就可以在MSDN Download中看到只是因為不是public開放下載,所以沒有特別提出來。

再加上最近中華職棒的種種負面新聞實在讓我覺得有點心灰意冷,又適逢Chinese New Year,實在是一整個懶,無心貼文,所以今天才在過年前稍微提一下VS2010開放下載的訊息,您目前已經可以全面地在底下網址下載:
http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx

稍微看了一下,如同scott所說的,效能確實有明顯的改善,功能沒啥特別增強,但是SL4不能開發了(因為沒有適用的SL tools for VS2010 RC),但SL3是內建的。當然,未來VS2010依舊會有SL4的Tools,所以這倒是不需要太擔心了。

2010年2月3日 星期三

for Silverlight使用的FaceBook API

最近在看FaceBook的API, 想試試看在FB上是否能夠用Silverlight快速的開發類似XX農場這樣的Game,發現MS很貼心的為SL開發了FB API的class library, 當下就給他download下來用看看。

一用之後不免有點抱怨,這組class library幾乎是我用過SL類別庫當中數一數二難用的,主要的原因還是SL遠程呼叫時的非同步設計,使得不管是用REST API或是FB for SL class library處理起來都有點麻煩,比起用WPF來說,開發起來真是有些討厭,當然,為了和FB連結因此還是咬緊牙關的try了一下,一天之後終於豁然開朗,所幸順便動手包了一組自己的Helper,這樣未來抓取資料容易一些。

一開始抱怨FB的API難用,覺得老外的腦袋真是不知道怎麼想的,要把API搞得那樣複雜,不過後來想想,畢竟是一個for百萬人使用的系統,嚴謹一些也是好的。

不過礙於文件真的不足,儘管FB提供了Wiki的on line help,但是很多call API時發生的錯誤還是得自己try出結果,真是累人。

先把MS的FB SL SDK貼出來給大家,如果大家有興趣,改天再談談實際的開發步驟:
http://msdn.microsoft.com/en-us/windows/ee388574.aspx