Wednesday, April 15, 2009


iOutNotes is an Open Source Software designed to fill the missing piece in the data synchronization between Apple iPhone and Microsoft Outlook where purely through the USB connection. Prior to iPhone firmware 3.0, Apple iTunes supports only the synchronization of Calendar events and Contacts between iPhone and Microsoft Outlook; hence there is no native support for synchronizing Notes before.

There are certainly other solutions available for synchronizing data over the air with sites in the Internet. Unless there is a need of online personal notes access, it is obvious that synchronizing data over USB has more advantages to end-users than other means. While both ends of the communication (i.e. iPhone and PC) are situated in front of the user, the most efficient method is undoubtly to connect them together directly. The introduction of unrelated party mandatory governing the data exchange is unnecessary and questionably, which consequently inducing the risk of accidental information disclosure especially when the Internet is the pathway, and not even mention about the trustworthiness and the truthfulness of the party in doubt.

By considering the total cost, direct USB synchronization can reduce the time cost, the data carrier airtime cost, the third party subscription and storage cost, and the iPhone maintenance cost - a result of the lengthen mean time between battery charging.

Owing to the lacking of the freedom, iOutNotes becomes a zero cost response to the shared needs of common iPhone users.

iOutNotes is coded in VBScript (A text file containing the batch instructions for the computer to work on) interpreted by the built-in Microsoft Windows Script Host interpreter, which is in human readable format reducing the threat of virus or Trojan (See the decision). According to Microsoft, Windows Script Host may be used for a variety of purposes, including logon scripts, administration and general automation.

The operation of iOutNotes requires two prerequisite third parties Windows applications, the SQLite ODBC Driver and the iPhone Utility Client. The SQLite ODBC Driver enables programmatic access to the format the iPhone notes database is constructed. The iPHone Utility Client (iPHUC) is the second generation of iPhoneInterface which allows convenient command line access to the iphone from a desktop computer. Other than jailbreak, there is no extra application required on iPhone.

During the execution time, notes are retrieved from both iPhone and Outlook and are compared with each other one by one. Once an iPhone note matches with an Outlook note, the one with the latest modification time stamp is retained and replicated to the other end.

In short, the synchronization logics are summarized as follows:-

1. New note on Outlook          --> Copy onto iPhone database
2. New note on iPhone           --> Copy onto Outlook
3. Modified note on Outlook   --> Update the corresponding note on iPhone database
4. Modified note on iPhone    --> Update the corresponding note on Outlook
5. Deleted note on Outlook     --> Delete the corresponding note on iPhone database
6. Deleted note on iPhone      --> Restore the corresponding note from outlook to iPhone database
7. If Outlook has no note         --> Ask whether restore all notes from iPhone to Outlook or purge the iPhone database
8. If iPhone has no note          --> Copy all notes from Outlook to iPhone database
9. If both sides have no note  --> Do nothing

There are 2 users' most concerned default limits, the maximum note size (2088 characters long) and the maximum number of notes allowed (32767 notes), that are modificable for fitting individual user's needs. All the users tunable parameters are listed as follows:-

DEBUG_FLAG = 0               - 1 = Debug mode
MAXNOTES = 32767           - The maximum number of notes
MAXNOTESIZE = 2088        - The maximum size (Characters) of each note
BACKUPLEVEL = 5             - The number of backup file versions to be kept
IPHONE_TIMEOUT = 30      - The time (Seconds) to wait for iPhone to be connected to PC

1 comment:

Peter Smith said...

The SQLite ODBC Driver is very important part of data synchronization between Apple iPhone and Microsoft Outlook database is constructed.