<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 01/28/2014 12:17 PM, Matthias
      Wessendorf wrote:<br>
    </div>
    <blockquote
cite="mid:CAAg5f2S1yMz5n0fyJwV+NzekYB5XbLWNd5ru_07-sXsgP1y4gw@mail.gmail.com"
      type="cite">
      <div dir="ltr"><br>
        <div class="gmail_extra"><br>
          <br>
          <div class="gmail_quote">On Tue, Jan 28, 2014 at 6:09 PM,
            Summers Pittman <span dir="ltr">&lt;<a
                moz-do-not-send="true" href="mailto:supittma@redhat.com"
                target="_blank">supittma@redhat.com</a>&gt;</span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000">
                <div>
                  <div class="h5">
                    <div>On 01/28/2014 11:49 AM, Matthias Wessendorf
                      wrote:<br>
                    </div>
                    <blockquote type="cite">
                      <div dir="ltr"><br>
                        <div class="gmail_extra"><br>
                          <br>
                          <div class="gmail_quote">On Tue, Jan 28, 2014
                            at 5:01 PM, Summers Pittman <span dir="ltr">&lt;<a
                                moz-do-not-send="true"
                                href="mailto:supittma@redhat.com"
                                target="_blank">supittma@redhat.com</a>&gt;</span>
                            wrote:<br>
                            <blockquote class="gmail_quote"
                              style="margin:0 0 0 .8ex;border-left:1px
                              #ccc solid;padding-left:1ex">
                              <div>
                                <div>On 01/28/2014 10:58 AM, Lucas
                                  Holmquist wrote:<br>
                                  &gt; On Jan 28, 2014, at 10:54 AM,
                                  Summers Pittman &lt;<a
                                    moz-do-not-send="true"
                                    href="mailto:supittma@redhat.com"
                                    target="_blank">supittma@redhat.com</a>&gt;

                                  wrote:<br>
                                  &gt;<br>
                                  &gt;&gt; On 01/28/2014 10:48 AM, Lucas
                                  Holmquist wrote:<br>
                                  &gt;&gt;&gt; On Jan 28, 2014, at 10:30
                                  AM, Summers Pittman &lt;<a
                                    moz-do-not-send="true"
                                    href="mailto:supittma@redhat.com"
                                    target="_blank">supittma@redhat.com</a>&gt;

                                  wrote:<br>
                                  &gt;&gt;&gt;<br>
                                  &gt;&gt;&gt;&gt; On 01/28/2014 09:36
                                  AM, Lucas Holmquist wrote:<br>
                                  &gt;&gt;&gt;&gt;&gt; yup, this is
                                  another Data Sync thread,<br>
                                  &gt;&gt;&gt;&gt;&gt;<br>
                                  &gt;&gt;&gt;&gt;&gt;&gt; &nbsp;From a
                                  client side perspective, i have
                                  concerns that there is still not a
                                  clear direction yet.<br>
                                  &gt;&gt;&gt;&gt;&gt; I know there are
                                  multiple ideas floating around on what
                                  our model should be, &nbsp;i'm all for
                                  choice, but what about deciding on 1
                                  model to get started with. &nbsp;Then later
                                  once we have this nailed down, &nbsp;we can
                                  have other "adapters" with different
                                  models perhaps<br>
                                  &gt;&gt;&gt;&gt; All the data model is
                                  is an envelope of sync metadata around
                                  an object<br>
                                  &gt;&gt;&gt;&gt; right?<br>
                                  &gt;&gt;&gt; right<br>
                                  &gt;&gt;&gt;<br>
                                  &gt;&gt;&gt;&gt; We also need to think
                                  about the API and server/client
                                  protocol as well.<br>
                                  &gt;&gt;&gt;&gt;<br>
                                  &gt;&gt;&gt;&gt; I think that for sync
                                  1.0 we could focus on the following
                                  behavior (it<br>
                                  &gt;&gt;&gt;&gt; worked for my demos
                                  at least)<br>
                                  &gt;&gt;&gt;&gt;<br>
                                  &gt;&gt;&gt;&gt; 1. &nbsp;We have a Sync
                                  factory similar to Pipeline,
                                  Authenticator,<br>
                                  &gt;&gt;&gt;&gt; Registrar, and
                                  KeyService.<br>
                                  &gt;&gt;&gt;&gt; 2. &nbsp;The Sync factory
                                  consumes/manages Synchronizer
                                  instances.<br>
                                  &gt;&gt;&gt;&gt; 3. &nbsp;AG Synchronizer
                                  listens for sync messages using
                                  UnifiedPush endpoints.<br>
                                  &gt;&gt;&gt; i thought for a 1.0 we
                                  weren't thinking about "realtime"<br>
                                  &gt;&gt; When I hear realtime I think
                                  sub 100 ms updates to all clients.
                                  (think<br>
                                  &gt;&gt; gaming)<br>
                                  &gt;&gt;<br>
                                  &gt;&gt; What I thought we were going
                                  for was something closer to email.
                                  &nbsp;The<br>
                                  &gt;&gt; data gets changed and at some
                                  point in the future the client knows.
                                  More<br>
                                  &gt;&gt; specifically, the thing the
                                  ONE thing that makes sync special is
                                  it is a<br>
                                  &gt;&gt; push instead of poll
                                  implementation.<br>
                                  &gt; this makes sense, &nbsp;but i guess it
                                  would be push when available. thinking
                                  web and crappy web socket support(
                                  dang you carriers )<br>
                                </div>
                              </div>
                              Right. &nbsp;I'm not saying lets do something
                              complicated. &nbsp;I'm saying lets<br>
                              use GCM, iOS CM, and simple push to send
                              notifications to tell the<br>
                              client something. &nbsp;In simplePush case it
                              is "this data changed, get the<br>
                              new stuff and update yourself". &nbsp;In
                              Android and iOS case it may be that<br>
                              or it may be "here is new data".<br>
                            </blockquote>
                            <div><br>
                            </div>
                            <div>even iOS is _very_ limited in terms of
                              payload.&nbsp;</div>
                            <div><br>
                            </div>
                            <div>In Android you can push entire books
                              :-), but not w/ iOS, nor w/ SimplePush</div>
                          </div>
                        </div>
                      </div>
                    </blockquote>
                  </div>
                </div>
                Android is still limited to 4K I think.<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>Ok, not books - but a novel :-)</div>
            <div>&nbsp;</div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000"> <br>
                I am fine with designing around the limitations of
                SimplePush.&nbsp; <br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>the concept of pushing a URL is more doable for iOS;</div>
            <div><br>
            </div>
            <div>However, I still prefer a 'real-time' connection type
              (e.g. websocket/sockjs/mqtt), rather than sticking the
              push server into this</div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    The idea is for version 1.0 to let the server be able to 'alert'
    devices that there is new data.<br>
    <br>
    For 1.1 we could manage things like websockets, sockjs, mqtt, bsd
    sockects, etc.<br>
    <br>
    <blockquote
cite="mid:CAAg5f2S1yMz5n0fyJwV+NzekYB5XbLWNd5ru_07-sXsgP1y4gw@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div>&nbsp;</div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000">
                <div>
                  <div class="h5"> <br>
                    <blockquote type="cite">
                      <div dir="ltr">
                        <div class="gmail_extra">
                          <div class="gmail_quote">
                            <div>&nbsp;</div>
                            <blockquote class="gmail_quote"
                              style="margin:0 0 0 .8ex;border-left:1px
                              #ccc solid;padding-left:1ex"> <br>
                              In general, I am fine for getting a
                              message saying something like<br>
                              Documents/Schedules/1/${revision}. &nbsp;Then I
                              can check my revisions, fetch<br>
                              data if necessary, update my local data,
                              and send any updates. &nbsp;That<br>
                              SHOULD (I think) be doable with simplepush
                              as well right?<br>
                              <div>
                                <div><br>
                                  &gt;<br>
                                  &gt;&gt;&gt;&gt; 4. &nbsp;AG Synchronizer
                                  sends sync messages using Pipes<br>
                                  &gt;&gt;&gt;&gt; 5. &nbsp;AG Synchronizer
                                  holds local data in a store<br>
                                  &gt;&gt;&gt;&gt;<br>
                                  &gt;&gt;&gt;&gt; 6. &nbsp;When
                                  AGSynchronizer gets a message it is
                                  responsible for updating<br>
                                  &gt;&gt;&gt;&gt; the Store and then
                                  notifying code listing for updates OR
                                  for notifying<br>
                                  &gt;&gt;&gt;&gt; the code that an
                                  error has occurred and needs to be
                                  addressed.<br>
                                  &gt;&gt;&gt;&gt;<br>
                                  &gt;&gt;&gt;&gt; 7. &nbsp;When the
                                  developer updates data in the store,
                                  the synchronizer<br>
                                  &gt;&gt;&gt;&gt; should package that
                                  data and send it to the server. &nbsp;The
                                  synchronizer is<br>
                                  &gt;&gt;&gt;&gt; responsible for error
                                  handling, retrying, back-off, etc.<br>
                                  &gt;&gt;&gt;&gt;<br>
                                  &gt;&gt;&gt;&gt; 8. &nbsp;We should include
                                  multiple synchronizer implementations
                                  to deal with<br>
                                  &gt;&gt;&gt;&gt; multiple very simple
                                  use cases which involve legacy
                                  systems. (For<br>
                                  &gt;&gt;&gt;&gt; instance polling to
                                  load static data on a schedule.)<br>
                                  &gt;&gt;&gt;&gt;<br>
                                  &gt;&gt;&gt;&gt; Thoughts? Tomatoes?<br>
                                  &gt;&gt;&gt;&gt;&gt;<br>
                                  &gt;&gt;&gt;&gt;&gt;
                                  _______________________________________________<br>
                                  &gt;&gt;&gt;&gt;&gt; aerogear-dev
                                  mailing list<br>
                                  &gt;&gt;&gt;&gt;&gt; <a
                                    moz-do-not-send="true"
                                    href="mailto:aerogear-dev@lists.jboss.org"
                                    target="_blank">aerogear-dev@lists.jboss.org</a><br>
                                  &gt;&gt;&gt;&gt;&gt; <a
                                    moz-do-not-send="true"
                                    href="https://lists.jboss.org/mailman/listinfo/aerogear-dev"
                                    target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
                                  &gt;&gt;&gt;&gt;
                                  _______________________________________________<br>
                                  &gt;&gt;&gt;&gt; aerogear-dev mailing
                                  list<br>
                                  &gt;&gt;&gt;&gt; <a
                                    moz-do-not-send="true"
                                    href="mailto:aerogear-dev@lists.jboss.org"
                                    target="_blank">aerogear-dev@lists.jboss.org</a><br>
                                  &gt;&gt;&gt;&gt; <a
                                    moz-do-not-send="true"
                                    href="https://lists.jboss.org/mailman/listinfo/aerogear-dev"
                                    target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
                                  &gt;&gt;&gt;
                                  _______________________________________________<br>
                                  &gt;&gt;&gt; aerogear-dev mailing list<br>
                                  &gt;&gt;&gt; <a
                                    moz-do-not-send="true"
                                    href="mailto:aerogear-dev@lists.jboss.org"
                                    target="_blank">aerogear-dev@lists.jboss.org</a><br>
                                  &gt;&gt;&gt; <a
                                    moz-do-not-send="true"
                                    href="https://lists.jboss.org/mailman/listinfo/aerogear-dev"
                                    target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
                                  &gt;&gt;
                                  _______________________________________________<br>
                                  &gt;&gt; aerogear-dev mailing list<br>
                                  &gt;&gt; <a moz-do-not-send="true"
                                    href="mailto:aerogear-dev@lists.jboss.org"
                                    target="_blank">aerogear-dev@lists.jboss.org</a><br>
                                  &gt;&gt; <a moz-do-not-send="true"
                                    href="https://lists.jboss.org/mailman/listinfo/aerogear-dev"
                                    target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
                                  &gt;<br>
                                  &gt;
                                  _______________________________________________<br>
                                  &gt; aerogear-dev mailing list<br>
                                  &gt; <a moz-do-not-send="true"
                                    href="mailto:aerogear-dev@lists.jboss.org"
                                    target="_blank">aerogear-dev@lists.jboss.org</a><br>
                                  &gt; <a moz-do-not-send="true"
                                    href="https://lists.jboss.org/mailman/listinfo/aerogear-dev"
                                    target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
                                  <br>
_______________________________________________<br>
                                  aerogear-dev mailing list<br>
                                  <a moz-do-not-send="true"
                                    href="mailto:aerogear-dev@lists.jboss.org"
                                    target="_blank">aerogear-dev@lists.jboss.org</a><br>
                                  <a moz-do-not-send="true"
                                    href="https://lists.jboss.org/mailman/listinfo/aerogear-dev"
                                    target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
                                </div>
                              </div>
                            </blockquote>
                          </div>
                          <br>
                          <br clear="all">
                          <div><br>
                          </div>
                          -- <br>
                          Matthias Wessendorf <br>
                          <br>
                          blog: <a moz-do-not-send="true"
                            href="http://matthiaswessendorf.wordpress.com/"
                            target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
                          sessions: <a moz-do-not-send="true"
                            href="http://www.slideshare.net/mwessendorf"
                            target="_blank">http://www.slideshare.net/mwessendorf</a><br>
                          twitter: <a moz-do-not-send="true"
                            href="http://twitter.com/mwessendorf"
                            target="_blank">http://twitter.com/mwessendorf</a>
                        </div>
                      </div>
                      <br>
                      <fieldset></fieldset>
                      <br>
                      <pre>_______________________________________________
aerogear-dev mailing list
<a moz-do-not-send="true" href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a>
<a moz-do-not-send="true" href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></pre>
                    </blockquote>
                    <br>
                  </div>
                </div>
              </div>
              <br>
              _______________________________________________<br>
              aerogear-dev mailing list<br>
              <a moz-do-not-send="true"
                href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
              <a moz-do-not-send="true"
                href="https://lists.jboss.org/mailman/listinfo/aerogear-dev"
                target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
            </blockquote>
          </div>
          <br>
          <br clear="all">
          <div><br>
          </div>
          -- <br>
          Matthias Wessendorf <br>
          <br>
          blog: <a moz-do-not-send="true"
            href="http://matthiaswessendorf.wordpress.com/"
            target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
          sessions: <a moz-do-not-send="true"
            href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
          twitter: <a moz-do-not-send="true"
            href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a>
        </div>
      </div>
      <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>