Wednesday, April 15, 2009

導言

iOutNotes是一個開放源碼軟件, 設計用作填補蘋果iPhone和微軟Outlook之間通過USB連接同步的缺欠。由於在iPhone固件3.0之先, 蘋果iTunes僅能支持iPhone和微軟Outlook之間的日曆事件和通訊錄的同步, 沒有直接支持筆記同步。

在坊間也有一些其他疑似同步的方案, 都是利用互聯網將iPhone與網站數據庫連結同步。除非有需要在線上存取個人筆記,對於終端用戶而言,使用USB同步會比其它方法有更多明顯的好處。只因兩個同步對象(即iPhone和個人電腦)是近在用戶的咫尺間,最有效率的方法無疑是直接地將它們連接同步。引入與用戶無關的服務公司是什麼的一個鑽錢的方案?! 使用互聯網作數據交換和儲存的直接風險, 就是有意外洩漏資料的可能, 再者服務公司的可信賴性亦是用戶需要擔心的未知風險。

就用戶的總使用成本而言,直接USB同步可以減少時間成本、數據傳輸費用、第三方服務和儲存收費,以及因着充電次數減低而減少的iPhone維修費用。

由於缺乏了同步的自由,iOutNotes回應了一般iPhone用戶共有的零成本同步筆記需求。

iOutNotes是以微軟視窗的VBScript編寫(文字檔案包含着個人電腦的工作指示),以人類可解讀的格式儲存去減少病毒或特洛伊木馬的憂慮。根據微軟所言,Windows Script Host可作為多用途的個人電腦工作指示檔使用,包括登入程序、管理程序和一般自動化程序。

iOutNotes的操作必須配合另外两個第三方視窗軟件、就是SQLite ODBC Driver and the iPhone Utility Client。SQLite ODBC Driver使iOutNotes能直接存取iPhone的筆記數據庫。iPHone Utility Client (iPHUC) 是iPhoneInterface的第二代, 允許iOutNotes能從個人電腦直接對iphone下工作指示。 除Jailbreak以外,沒有其他軟件需要安裝在iPhone上。

在執行期間,iOutNotes會從iPhone和Outlook取出筆記並作出配對。如iPhone的一則筆記與Outlook的另一則筆記配對成功,那麼最後修改的一則會被保留並複製到另一方。

簡而言之,同步的邏輯被總結如下:-

1. 新的Outlook筆記        --> 會被複製到iPhone數據庫
2. 新的iPhone筆記         --> 會被複製到Outlook
3. 修改過的Outlook筆記 --> 會被更新到對應的iPhone筆記
4. 修改過的iPhone筆記  --> 會被更新到對應的Outlook筆記
5. 刪除了的Outlook筆記 --> 會刪除對應的iPhone筆記
6. 刪除了的iPhone筆記  --> 會從Outlook恢復到iPhone數據庫
7. 如果Outlook沒有筆記 --> 會詢問是否從iPhone恢復所有筆記到Outlook或完全清除iPhone數據庫
8. 如果iPhone沒有筆記  --> 會從Outlook複製所有筆記到iPhone數據庫
9. 如果雙方都沒有筆記   --> 那就什麼也不做了

程式中有两個用戶比較關心的限制參數、其為最大筆記大小(最長為2088個字符) 和最大容許的筆記數量(32767則筆記),用戶可因着個人需要作出改動。以下列出所有用戶可自行改動的參數:-

DEBUG_FLAG = 0               - 1 = 開啟偵錯模式
MAXNOTES = 32767           - 最大容許的筆記數量
MAXNOTESIZE = 2088        - 最大筆記大小(最長可以有多少字符)
BACKUPLEVEL = 5             - 被保留的備份版本數量
IPHONE_TIMEOUT = 30      - 等待iPhone被連接到個人電腦的時間(秒)