發表文章

目前顯示的是 11月, 2007的文章

Android開發文件繁體中文翻譯計劃

上週五晚上,在 JavaWorld 看到KentYeh上傳了一個他初步翻譯的Android中文文件, 原本我也想寫一些Android的開發文件放在blog讓大家參考, 但是看到KentYeh已經翻了不少Android的文件, 所以為了避免做重複的工作, 當天晚上就跟KentYeh聯絡, 問他是否願意將他的文件原稿分享出來一起翻譯, KentYeh很爽快的馬上就答應了, 所以我們隨即在 http://opensource.javaworld.com.tw 建立了一個 Android繁中開發文件計劃 專案, 為什麼這麼強調繁中? 因為大陸彼岸已經有網友在進行 簡體中文版的文件翻譯 , 我想這不是民族主義作祟, 純粹是不太習慣大陸的資訊用語, 就算直接將簡中的翻譯用Word轉成繁體中文, 很多資訊名詞還是看不太懂:-) 這個專案也是採用開放原始碼的方式但是是使用Wiki來協同編輯翻譯文件, 只要申請加入專案, 就擁有Wiki的編輯權限開始貢獻翻譯, 目前除了我與KentYeh, 陸陸續續又有4位網友加入, 真的非常感動. 這個專案一開始原本是起始於Android文件的翻譯, 但是前一陣子在看 維基經濟學 這本書, 所以也順便利用這個專案來實現維基經濟學中所說的同儕生產, 與點子市集, 我開了幾個Tracker, 讓參與的專案成員可以 貢獻Android Sample code 貢獻How to或How to聯結 貢獻Android的idea 讓以後開發Android軟體的程式設計師可以方便找到資料, 希望未來會有更多人的加入, 讓這個專案成為Android的繁體中文知識社群.

軟體開發競賽與協同作業

自從Google宣佈了 Android 平台並懸賞1000萬美元做為Android平台上的軟體設計比賽獎金, 身為程式設計好手的你想必也是摩拳擦掌,躍躍欲試, 或是呼朋引伴組一個團隊一起參加比賽為程式設計生涯留一個美好的回憶. 如果你有時間也有一些志同道合的夥伴, 我很鼓勵你們去參加這樣的比賽, 最主要的是Google舉辦的這個比賽跟我們以往所見到的程式設計比賽有許多不同, 我大致摘要如下: 沒有年齡限制: 所以只要你會寫程式(最好寫過Java)都可以參加. 不是採用圍場的方式: 所以你可以用最輕鬆的方式寫程式, 穿著睡袍, 躺著,臥著,趴著 .... 沒有限定題目: 只要在Android可以跑就可以, 所以Google建議的Topic最後一條是 Whatever you're excited about! 任何讓你感到興奮的題材都可以, 只要你爽就好:-) Google是目前唯一可以挑戰微軟的國際級軟體公司, 當你的軟體進入決賽, 除了Google的巨額獎金, 同時你與你的團隊也受到全世界的關注. 看到這裏您的熱血開始沸騰了嗎? 不過Google有限定的交件日期, 從2008/1/2~ 2008/3/3, 算起來剩下3個多月的時間. 所以如何在這3個多月的時間內與你的夥伴更有效率的一起合作以贏得這項比賽? 我在這邊有些建議與想法 使用既有的OpenSource協同作業平台例如 JavaForge , OpenSource@JavaWorld , SourceForge , Google Code , 因為當你的團隊是分散在各地的情況跟OpenSource開發模式是非常相似的,運用協同作業平台讓軟體文件分享例如UML, 或是Idea透過Forum來討論與溝通都非常的方便,而且這些協同作業平台對於OpenSource專案都已經得到許多成功經驗. 儘量使用 Eclipse 內建的團隊協同工具, 例如 Mylyn 做工作管理,可以縮短你工作被中斷並再Warm up的時間, 而且Mylyn可以與 JavaForge 與 OpenSource@JavaWorld 中的Tracker做很好的整合, 詳細功能請看 這裏 使用版本控制如 SubVersion , CVS . Eclipse跟SubVersion, CVS的整合相當好, 團隊協同開發如果不採用S

關於Google的Android手機開發平台

Google已經正式宣布GPhone(Sorry! Gphone是不存在的, 但是我覺得Gphone比較容易記與發音, Android念起來舌頭會打結:-))的開發平台 Android ,讓人驚訝的是Android目前僅提供Java開發程式語言, C/C++還沒有支援, 在Android的Forum已經引起 熱烈討論 , 我直覺是C/C++最後還是會支援,只不過要讓C/C++可以在不同的CPU執行則必需先搞定Cross compiler,GCC目前支援MIPS,ARM,等CPU已經是很成熟, 這部份應該也不成問題才對, Anyway, 如果是使用Java, 那麼IDE使用 Eclipse 就一點也不令人意外, Google還開發一個ADT的Eclipse plugin 以協助Developer建立與執行,偵錯可在Gphone上執行的軟體. 既然是使用Java, 那麼JRE呢? 是J2ME嗎? 這一部份就令人驚豔了, Google使用自己的JRE名為 Dalvik, 我用google search了一下Dalvik關鍵字, 找到一篇另人耐人尋味的文章 Google如果繞過Sun在Java ME的IP-Based授權限制 , Sun並沒有開放對J2ME的授權限制, 所以只要是做手機的都知道, 手機要支援J2ME平台,都要支付給Sun授權費. 但是Google在Android建立了自己的Java Virtual Machine而且是以 Apache License v2 釋出source code(但是我還沒有在Android看到Dalvik的source code, 這篇文章這樣說還有待考證), 如果是這樣, 這對於嵌入式系統開發廠商是一大利多, 而且對於Sun無疑是一種傷害. 但是也許事實並沒有這麼糟, 畢竟Dalvik不是J2ME, 如果手機開發廠商想利用Dalvik取代J2ME來節省成本, 市面上所有的J2ME程式勢必要再重新compile或是改寫, 我想這樣的改變要看Gphone有多成功而定, 不過無論如何,Dalvik對於Sun猶如芒刺在背, Sun的未來不禁令人擔心.

使用Anki Web功能

圖片
Anki的網站 有提供個人生字卡的儲存功能, 這個功能對於可以上網的手持裝置, 例如手機, PDA等, 非常方便, 可以隨時隨地連上Anki網站來復習您所建立的日文生字卡, 算是非常貼心的一項設計. 接下來我們來看一下要如何使用Anki將已經建立好的生字卡同步到Anki的web網站 1. 打開您的Anki程式, 選擇Edit,再選擇Preferences 2. 在Preferences選Autosave and synchronisation 3. 填寫Anki網站的使用者帳號與密碼, 如果你沒有在Anki網站註冊帳號, 你可以按下create a free account連到Anki網站建立帳號 4. 回到Anki主畫面, 打開你已經建立的生字卡, 在與Anki網站同步之前, 有一個地方要注意,就是Deck的名稱必需是英文, 否則在與Anki網站同步的時候會發生錯誤,所以我們先檢查一下Deck的名稱, 到Edit選Deck Properties, 將你的Deck名稱改成英文 5. 設好Deck的名稱後, 再點選Deck的Sync 6. 這時候, Anki會出現建立Anki網站的生字卡提示, 如圖示, ShinBunka-class13是剛剛設的Deck名稱, 按OK後就會開始同步 7. 同步完後, 我們可以到 Anki網站 檢視我們已經同步的Deck 輸入你的帳號與密碼 登入後會看到最新同步的生字卡 8. 如果你要檢視舊的生字卡,點選左上角最新的生字卡名稱 列出所有已建立的生字卡

溝通工具與知識的流失

昨天到某一家客戶做CodeBeamer教育訓練, 他們的反應很熱烈, 原來CodeBeamer並不只是BugZilla的替代品, 而且可以管理到產品開發過程中的所有事項, 但我離開時, 我發現我的教育訓練是失敗的. 臨行時, 我告訴我的客戶, 如果還有其他CodeBeamer的使用問題, 隨時歡迎使用我們為客戶所準備的線上群組論壇(Forum)來討論, 我客戶回答我, 他還是比較喜歡打電話, 這樣的服務比較及時. 雖然我們公司並不拒絕電話服務, 但是除非是緊急問題, 我們都是希望客戶可以利用Forum或是Tracker來討論所遇到的問題. 原因很簡單, 電話與E-Mail雖然很方便, 但是如果沒有事後的紀錄, 知識就在不知不覺中流失. 所以今天我想談一下目前常使用的溝通工具對於知識管理所造成的衝擊, 我們先來看一下目前的溝通工具有那些, 並有那些優缺點 團隊溝通工具 優點 缺點 電話 方便,不需要教育訓練. 即時 沒有溝通紀錄 議提無法追蹤 知識無法再利用與分享 容易對團隊成員造成工作中斷 E-Mail 方便,不需要教育訓練. 有溝通紀錄 不即時 追蹤困難 溝通紀錄散落在每個團隊成員的電腦裏, 所以知識也是無法分享 面對面溝通(如開會) 面對面溝通是人類的本能, 所以自然不需要教育訓練 即時 溝通紀錄仰賴會議紀錄 議題可以追蹤, 但是容易忽略 容易對團隊成員造成工作中斷 MSN Skype 方便簡單 即時 溝通紀錄視使用工具, 但是溝通所產生的知識也是無法分享 無法對議題做追蹤 容易對團隊成員造成工作中斷 從這個表中, 可以看出溝通工具的選用, 確實會對知識的分享與再利用造成某種程度的衝擊與知識的流失, 因此我建議, 知識型產業如軟體公司, IC設計公司等等, 可以善用Issue Tracking, Forum , Wiki等協同作業工具來做為與客戶支援與溝通的橋樑, 其優點如下 溝通有紀錄可尋, 追蹤容易. 溝通紀錄可逐年累月形成公司的知識庫, 當有新的客戶, 可以大幅減少重複回答問題的時間. 客戶的問題進入Issue Tracking資料庫, 可以追蹤與統計, 對於產品的品質提升有莫大的幫助,並且可增加客戶對於公司的服務信任度. 可開放權限讓專案成員一起檢視, 讓專案成員知道客戶的問題. 利用協同作業平台經營客戶社群, 客戶的回饋是最寶貴的產品開發依

從Gphone與iPhone看維基經濟學

今天在 聯合新聞網 看到這則消息, 還有一篇關於 Gphone 計劃主持人魯賓的 報導 , Gphone的出現就像 iPhone 一樣,似乎是在大家的謠傳下出現, 這個現象有點像是 維基經濟學 裏面提到的一個名詞"點子市集", 我想未來會有許許多多的產品構想會在網路社群中出現,然後在網路謠傳再發酵,最後再將他商品化, 這樣的行銷簡直可以省下許多宣傳費, 而且可以有效掌握消費者的需求, 就像iPhone一樣,上市沒幾個月就賣出了100萬台, 因為它是在眾人期盼下所研發出來的產品. 如果你是公司的市場分析人員, 你不得不緊張, 也許未來公司不再需要太多的市場分析人員, 公司只要提供良好的協同作業平台例如Wiki與Forum, 開放權限讓你的客戶暢所欲言寫下他們心中期望的產品, 讓大眾來討論產品的規格是否符合需求, 最後再將集眾人之智的規格交由產品研發部門將它實現出來. 這樣的產品開發流程並不限制於軟體或是高科技產業, 各行各業都非常適合, 例如建築業, 建築公司可建置Wiki平台與Forum,提供房子的相關知識, 並可開放讓大眾討論什麼樣的房子最受歡迎, 這樣建築公司的企劃案可以依據這些需求推出受歡迎的房子. 如果未來各行各業如此發展下去, Web 2.0應該不是個口號, 也不會成為泡沫, Web 2.0應該是一個新世界的開始.

TortoiseSVN會影響檔案總管效能?

在 JavaWorld 看到有網友在討論TortoiseSVN會影響檔案總管效能, 請參考 這裏 , 用了TortoiseSVN很久並沒有注意到這個設定, 設完之後,檔案總管開Folder時確實快許多

讓靜態網頁的網站也有RSS功能-1

圖片
使用RSS已經一年多了, 剛開始還不太了解RSS到底有什麼好處, 但是使用了IE 7.0的RSS Subscribe確讓我見識到RSS的便利性, FireFox雖然很早就將RSS定閱整合到書籤功能,不過使用上卻不及IE 7.0來的直覺, 不過由於IE 7.0似乎是個吃resource的怪獸,使用久了電腦感覺會越變越慢, 所以這陣子又開始使用Firefox 2.0, 網路上有人推薦 Sage 的Firefox plugin, 讓Firefox也擁有IE 7.0的RSS browsing便利性, 安裝起來使用,感覺確實比Firefox的RSS好用多了. 言歸正傳, RSS reader這不是我要講的重點, 而是越是重度使用RSS越發覺到網站沒有提供RSS的不便利性, 例如在下的 公司 就是一個很明顯的例子:-), 但是要支援RSS, 網站的Hosting Server必須支援ASP/PHP/JSP 等動態網頁語言的功能並配合網頁內容後台管理程式也就是俗稱的CMS軟體, 這樣才能方便管理新發佈的新聞並及時更新RSS的XML檔案. 但是這對我們的改變真的是太大了 Hosting Web page 的Server要升級: 如果Hosting在ISP是要加錢的. 整個網頁大概要改成具有內容管理的功能: 可以說要重寫 必備新增一位網頁程式設計師與美工配合: 可以外包, 但也增加cost與溝通的時間 我猜這些原因大概是許多企業網站沒有Support RSS的原因, 網頁架構一開始沒有將內容管理的功能考慮進去, 大概就要重來並增加人力. 這跟我看到許多的失敗軟體專案是很類似的. 不過想想網站support RSS有什麼好處? 增加網頁造訪者的回流率: 當網頁有新增新聞或是知識分享的文章, 有定閱RSS的造訪者會在RSS reader看到網站更新的訊息 如果配合內容管理軟體, 可以減輕網站的維護時間 原本是考慮使用 Joomla , 但是這列為下一階段的目標吧!, 畢竟PHP已經忘了差不多了:-0. 後來想到自己常使用的Blogger, 突然靈光一閃, Blogger不就是一個很好的CMS嗎?而且Support RSS, 如果用IFRAME將Blogger嵌入既有的靜態網頁不就達成我要的目的. 想法很簡單確花了我3~4天與美工溝通. 細節我們下回分曉, 不過我