<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <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&#8217;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&#8217;t a spec, this isn&#8217;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.
          &nbsp;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 &#8220;big picture&#8221; methods of doing sync. &nbsp;One is a
          Document sync (Think like a gallery with videos and pictures).
          &nbsp;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. &nbsp;The other is a
          Transactional sync where many small atomic operations are sent
          to the server. &nbsp;The best analog I have is Google
          Drive/operation transforms. &nbsp;</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.
          &nbsp;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? &nbsp;As far as I know, native Web requires this (barring
          extensions to the browser, plugins etc). &nbsp;I think Cordova can
          in Android, but I haven&#8217;t researched it. &nbsp;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.
          &nbsp;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.
          &nbsp;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.
          &nbsp;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? &nbsp;How
          should we try to do conflict resolution? &nbsp;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;"> &nbsp;A.
          &nbsp;Last in always wins. &nbsp;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;"> &nbsp;B.
          &nbsp;Clients are allowed one submit at a time and must wait for
          the server to acknowledge the receipt. &nbsp;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;"> &nbsp;C.
          Operation Transforms. &nbsp;This was meant to solve the conflict
          and sync problem. &nbsp;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.
          &nbsp;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
          &#8220;offline&#8221; mode to an &#8220;online&#8221; mode? &nbsp;Abstractly, operations
          which happen offline are the same as operations which happen
          online just with a REALLY REALLY laggy connection. :) &nbsp;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.
          &nbsp;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? &nbsp;</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? &nbsp;</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.
          &nbsp;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;"> &nbsp;a.
          &nbsp;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;"> &nbsp;b.
          &nbsp;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;"> &nbsp;c.
          &nbsp;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;"> &nbsp;d.
          &nbsp;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;"> &nbsp;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.
          &nbsp;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;"> &nbsp;a.
          &nbsp;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;"> &nbsp;b.
          &nbsp;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;"> &nbsp;c.
          &nbsp;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;"> &nbsp;d.
          &nbsp;Photos may only be created or deleted. &nbsp;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.
          &nbsp;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;"> &nbsp;a.
          &nbsp;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;"> &nbsp;b.
          &nbsp;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;"> &nbsp;c.
          &nbsp;Files are not updated. &nbsp;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.
          &nbsp;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;"> &nbsp;&nbsp;a.
          &nbsp;This is an AG-controller which accesses a mail account. &nbsp;</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;"> &nbsp;&nbsp;b.
          &nbsp;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.
          &nbsp;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;"> &nbsp;&nbsp;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;"> &nbsp;&nbsp;b.
          &nbsp;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;"> &nbsp;&nbsp;c.
          &nbsp;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">
  </body>
</html>