<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 03/27/2013 01:38 PM, Summers Pittman
wrote:<br>
</div>
<blockquote cite="mid:51532E79.40506@redhat.com" type="cite">
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<b id="internal-source-marker_0.10839117830619216" style="color:
rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium;
font-style: normal; font-variant: normal; letter-spacing:
normal; line-height: normal; orphans: auto; text-align: start;
text-indent: 0px; text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; font-weight: normal;">
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">So
for offline and sync for 2.0 I’ve been doing some
thinking/research and come up with some broad topics to
discuss so we can start honing in on what we want it to
do/look like.</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">This
isn’t a spec, this isn’t a proposal, this is just trying to
narrow down what we want at a high level so we can pick
things to focus on.</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">1.
Documents vs Transactions</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">There
are two “big picture” methods of doing sync. One is a
Document sync (Think like a gallery with videos and
pictures). Documents are saved, the whole document is sent
to the server, then the whole document is pushed out to
other clients who are syncing against the same source. The
other is a Transactional sync where many small atomic
operations are sent to the server. The best analog I have
is Google Drive/operation transforms. </span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">Obviously
the server side implementations of these are hilariously
divergent and I will leave the relative complexity of each
as an exercise for the list.</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">2.
Background vs Foreground sync</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">Does
the application have to be opened (foreground) for syncing
to happen? As far as I know, native Web requires this
(barring extensions to the browser, plugins etc). I think
Cordova can in Android, but I haven’t researched it. iOS
seems like a mixed bag, but generally you can only sync if
your application is in the foreground (but you can use
notifications and badges to communicate that there is a
pending sync or new data). I understand there is CoreData +
iCloud that is supposed to do something, but that seems like
it is still foreground only. On Android background sync is
easy.</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">Is
it OK to only have background syncing on some platforms but
not others?</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">3.
Push vs Poll?</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">Obviously
pushing updates is better for devices and users, but polling
will let things work better for legacy services which may
not have push support or which may be difficult to integrate
into AG-Controller.</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">Should
we support both on the clients?</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">4.
Multiple clients,multiple users, and conflicts</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">How
do we want to support multiple users and multiple clients?
How should we try to do conflict resolution? What does
authorization and authentication look like here?</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">At a
high level here are some options I have seen for conflict
resolution:</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"> A.
Last in always wins. The server explicitly trusts things
in the order it gets and pushes that data out to users.</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"> B.
Clients are allowed one submit at a time and must wait for
the server to acknowledge the receipt. If there is a
conflict the app can either a) merge the data, b)reload the
latest from the server and make the user do his operation
again, or c) create a new document and inform the user.</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"> C.
Operation Transforms. This was meant to solve the conflict
and sync problem. However it is a LOT of work</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">5.
Offline Support</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">Really
this is more what do we want to do for coming from an
“offline” mode to an “online” mode? Abstractly, operations
which happen offline are the same as operations which happen
online just with a REALLY REALLY laggy connection. :) We
could just only viewing data when offline and requiring a
connection for editing, queueing an upload, etc.</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">6.
How much of this is the responsibility of AG-controller vs
underlying services?</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">How
should the controller expose resources to clients, how
should the controller send data to its underlying services,
how much data should the controller be responsible itself
for?</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">Should
it be easy for an Operation Transform system to integrate
with AeroGear-controller? </span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">Should
it be easy to write a Controller based project which polls a
third party source? </span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">How
would the server handle passing credentials to the third
party source?</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">Appendix
Use Cases:</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">Here
are a few contrived use cases that we may want to keep in
mind.</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">1.
Legacy Bug Trackers From Hell</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"> a.
It is a webapp written in COBOL, no one will ever EVER
update or change the code</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"> b.
It has TONS of legacy but important data</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"> c.
It has TONS of users </span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"> d.
It only has a few transactions per day, all creating and
updating bug reports</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"> e.
Multiple users can edit the same report</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">2.
Slacker Gallery</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"> a.
Each User has a multiple galleries, each gallery has
multiple photos</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"> b.
A Gallery has only one user, but the user may be on
multiple devices</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"> c.
Galleries may be renamed, created, and deleted</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"> d.
Photos may only be created or deleted. Photos also have
meta data which may be updated, but its creation and
deletion is tied to the Photo object.</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">3.
Dropbox clone</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"> a.
A folder of files may be shared among users</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"> b.
There is a size limit to files and how much storage may be
used per folder</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"> c.
Files are not updated. If there is a new file, there is an
atomic delete and create operation</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">4.
Email client</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">
a. This is an AG-controller which accesses a mail
account. </span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">
b. There are mobile offline and sync enabled clients
which connect to this controller.</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">5.
Google Docs clone</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">
a. Operational Transform out the wazzoo</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">
b. What would the server need?</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">
c. What would the client need?</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">Appendix
Reference (Open Source) Products:</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">Wave-in-a-box</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">CouchDB</span></p>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">Google
Drive RealtimeAPI</span></p>
<br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span><br>
<span style="font-size: 15px; font-family: Arial; color: rgb(0,
0, 0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;"></span>
<p dir="ltr" style="margin-top: 0pt; margin-bottom: 0pt;"><span
style="font-size: 15px; font-family: Arial; color: rgb(0, 0,
0); background-color: transparent; font-weight: normal;
font-style: normal; font-variant: normal; text-decoration:
none; vertical-align: baseline; white-space: pre-wrap;">Can
you guys think of more projects/examples to look at for
inspiration?</span></p>
</b><br class="Apple-interchange-newline">
</blockquote>
Matzew mentions
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<a href="http://sharejs.org/">http://sharejs.org/</a> <br>
And also there is etherpad.<br>
<blockquote cite="mid:51532E79.40506@redhat.com" type="cite"> <br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
aerogear-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/aerogear-dev">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></pre>
</blockquote>
<br>
</body>
</html>