1 <?
include("barry.inc"); ?
>
3 <?
createHeader("barry - Design"); ?
>
5 <?
createSubHeader("Architecture"); ?
>
7 <p
>Barry is designed to be modular in many ways
.
9 <p
>First the core protocols will be stored in a library so that it can
10 be used in other applications
.
12 <p
>Second
, a command
-line tool will be used to present the user with a
13 scriptable option in dealing with the BlackBerry
&trade
; device
. This
14 will come in handy in conjunction with hotplug
.
16 <p
>Third
, a GUI tool will be used to allow users to directly manage
17 devices
and make backups of their data
.
19 <p
>Fourth
, an
<a href
="http://www.opensync.org/">OpenSync Plugin
</a
>
20 will provide general synchronization support
for Contacts
, Calendar
,
21 Tasks
, and Memos
; and the OpenSync framework will provide the synchronization
22 support
for the other side othe equation
. (Evolution
, Sunbird
, etc
.)
25 <?
createSubHeader("Design Goals"); ?
>
27 <p
>Flexible Synchronization Targets
: The main goal of barry is to
28 synchronize data
. This is complicated by the fact that the data on a
29 user
's computer could be stored in many different formats. Email, contact,
30 calendar entries, notes, and bookmarks are the main data that we are
31 concerned with and users may be using one of many programs to manage
32 their data. To address this barry needs to be flexible in how it supports
33 synchronization. It should be easy to add new synchronization targets
34 to barry and easy to select these targets from the user interface. </p>
36 <p>Open Data Formats: Backup of the BlackBerry ™ data should be
37 stored and read in open data formats. LDIF for example is a suitable
38 format for contacts, mbox format is a perfect format for email data,
39 text files are a good format for notes, and HTML is a suitable format
40 for bookmarks. The backup GUI stores its raw backup data in gzipped tar file
43 <p>Multi-Device: A user may need to manage more than one device
44 on a single user profile. Barry will be able to treat each device
45 independantly to allow it to sync differently, backup/restore to different
46 targets, etc. This will come in handy when users are upgrading to a
47 new device, or when one user handles backup for more than one person.
49 <p>Device Support: initially we will be supporting the 7750 devices,
50 because that's what we are using
. We
do have a
6750 here
as well
,
51 but since it is a discontinued product we are not testing on it
. The
52 7750 has a USB
interface to the PC
and we expect that there will not be
53 significant changes between devices
. </p
>