root/trunk/docs/whitepaper/introduction.tex

Revision 3200, 3.2 KB (checked in by dgollub, 9 months ago)

Added initial draft of whitepaper rewrite
Work in progress - patches are welcome!

Hopefully this improves the bus factor
http://en.wikipedia.org/wiki/Bus_factor

Line 
1\chapter{Introduction}
2\label{chap:intro}
3OpenSync is intended to be an universal Synchronization Framework, not limited to
4a platform or desktop nor to PIM!
5
6\section{History}
7MultiSync, started by Bo Lincoln, was intended to synchronize various mobiles,
8PDAs and PIM applications. MultiSync was a GTK application and provided
9support for different PIM applications and devices by providing  plugins.
10Primary focus of MultiSync was to synchronize just PIM data (contacts,
11appointments, notes). Unfortunately this approach was fixed to a single UI and
12only limited to PIM synchronization. Development branch MultiSync 0.9x was
13intended fix those needs.\\
14\\
15Early in 2005, Armin Bauer started refactoring the MultiSync project and
16separated the UI code from MultiSync and the Plugin interface and
17Synchronization logic. Result of his work is the most powerful and
18flexible Synchronization Framework, known today as OpenSync.
19\section{Big Picture}
20OpenSync is intended to provide a low-level synchronization API for all kind of
21data.
22\\
23\begin{figure}
24 \centering
25 % \includegraphics[bb=0 0 222 140,scale=0.5]{bigpicture}
26 % bigpicture.png: 222x140 pixel, 72dpi, 7.83x4.94 cm, bb=0 0 222 140
27 \caption{OpenSync}
28 \label{fig:bigpicture}
29\end{figure}
30
31
32\section{Goals}
33The goals of the OpenSync project are:
34
35\begin{itemize}
36 \item Reusabilty. OpenSync should be usable for all kind of synchronization
37 applications
38 \item Speed. Synchronization should be efficent and fast as possible to give the
39 user the best experience.
40 \item Flexibility. Nobody can predict what comes next to synchronize; after the
41 G- \& iPhone. So OpenSync has to be designed and built as flexible and modular
42 as possible.
43 \item Integrity. Data MUST never be lost or malformed, no matter what happens.
44 Data loss is just a no go!
45 \item Portability. OpenSync should just run on as many platforms as possible as
46 possible.
47 \item Fun. The experience of using and developing OpenSync MUST be fun! You
48 should not work on OpenSync if you're unhappy :)
49\end{itemize}
50Not all of the mentioned goals are reached already, but OpenSync tries to get
51close as possible over time.
52
53\section{Who should read this document?}
54This Document is intended for everyone who is interested in a Open Source
55Synchronization solution. This is not a HowTo, Tutorial or Guide how to use
56OpenSync. It's a detailed introducation in the OpenSync framework. No (high)
57programming skills/experince are required for this document.
58
59\section{How should this document be read?}
60Some chapter are very detailed about internal technial stuff, which is mainly
61intended for developers or people who are interested in how OpenSync ticks. Those
62chapters could be safetly skipped if someone isn't interested in touching the
63internals of the OpenSync Framework. Such section are marked with a little hint.
64
65\section{Is this the most recent version of this paper?}
66Maybe not, OpenSync is in a very early stage of development and lots of stuff
67might changed within the last weeks. On doubts you might compare your version
68with the one from:\\
69\\
70\hyperref[http://www.opensync.org/download/LATEST-WHITEPAPER]{http://www.opensync.org/download/LATEST-WHITEPAPER}\\
71\\
72This paper was created on: \today
Note: See TracBrowser for help on using the browser.