<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:32 PM, Matthias
      Wessendorf wrote:<br>
    </div>
    <blockquote
cite="mid:CAAg5f2TNRT9Q2kC0AECDaxqjtArNodMA2UtJNpz2x16FFsjBFQ@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:32 PM,
            Matthias Wessendorf <span dir="ltr">&lt;<a
                moz-do-not-send="true" href="mailto:matzew@apache.org"
                target="_blank">matzew@apache.org</a>&gt;</span> wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div dir="ltr"><br>
                <div class="gmail_extra"><br>
                  <br>
                  <div class="gmail_quote">
                    <div>
                      <div class="h5">On Tue, Jan 28, 2014 at 6:26 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>
                                <div>On 01/28/2014 12:13 PM, 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 6:08 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>On 01/28/2014 11:46
                                                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 4:48 PM, Lucas
                                                      Holmquist <span
                                                        dir="ltr">&lt;<a
moz-do-not-send="true" href="mailto:lholmqui@redhat.com" target="_blank">lholmqui@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><br>
                                                          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>
                                                          <br>
                                                          &gt; On
                                                          01/28/2014
                                                          09:36 AM,
                                                          Lucas
                                                          Holmquist
                                                          wrote:<br>
                                                          &gt;&gt; yup,
                                                          this is
                                                          another Data
                                                          Sync thread,<br>
                                                          &gt;&gt;<br>
                                                          &gt;&gt;&gt;
                                                          From a client
                                                          side
                                                          perspective, i
                                                          have concerns
                                                          that there is
                                                          still not a
                                                          clear
                                                          direction yet.<br>
                                                          &gt;&gt;<br>
                                                          &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; All the
                                                          data model is
                                                          is an envelope
                                                          of sync
                                                          metadata
                                                          around an
                                                          object<br>
                                                          &gt; right?<br>
                                                          <br>
                                                        </div>
                                                        right<br>
                                                        <div><br>
                                                          &gt;<br>
                                                          &gt; We also
                                                          need to think
                                                          about the API
                                                          and
                                                          server/client
                                                          protocol as
                                                          well.<br>
                                                          &gt;<br>
                                                          &gt; I think
                                                          that for sync
                                                          1.0 we could
                                                          focus on the
                                                          following
                                                          behavior (it<br>
                                                          &gt; worked
                                                          for my demos
                                                          at least)<br>
                                                          &gt;<br>
                                                          &gt; 1. &nbsp;We
                                                          have a Sync
                                                          factory
                                                          similar to
                                                          Pipeline,
                                                          Authenticator,<br>
                                                          &gt;
                                                          Registrar, and
                                                          KeyService.<br>
                                                          &gt; 2. &nbsp;The
                                                          Sync factory
                                                          consumes/manages
                                                          Synchronizer
                                                          instances.<br>
                                                          &gt; 3. &nbsp;AG
                                                          Synchronizer
                                                          listens for
                                                          sync messages
                                                          using
                                                          UnifiedPush
                                                          endpoints.<br>
                                                        </div>
                                                        i thought for a
                                                        1.0 we weren't
                                                        thinking about
                                                        "realtime"<br>
                                                      </blockquote>
                                                      <div><br>
                                                      </div>
                                                      <div>that is my
                                                        impression as
                                                        well, talking to
                                                        Dan on IRC;</div>
                                                      <div>ATM all is
                                                        polling, but the
                                                        sync-server will
                                                        be cable of
                                                        doing
                                                        WebSocket/SockJS,
                                                        so "connected"
                                                        clients, can
                                                        sync.</div>
                                                    </div>
                                                  </div>
                                                </div>
                                              </blockquote>
                                            </div>
                                            Polling is MURDER on
                                            battery, performance, and
                                            "feel".&nbsp; WebSockets and
                                            SockJS are awesome ideas for
                                            a future implementation for
                                            "real time".</div>
                                        </blockquote>
                                        <div><br>
                                        </div>
                                        <div>As far as I understood it,
                                          the sync-server just started
                                          w/ polling (pure HTTP). I
                                          think that WebSocket/SockJS is
                                          not really that far away, in
                                          terms of 'future'</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">
                                            <div><br>
                                              <blockquote type="cite">
                                                <div dir="ltr">
                                                  <div
                                                    class="gmail_extra">
                                                    <div
                                                      class="gmail_quote">
                                                      <div><br>
                                                      </div>
                                                      <div>Push should
                                                        be really used
                                                        for 'wake-up',
                                                        instead of
                                                        changing real
                                                        information;
                                                        Also SimplePush
                                                        clients could
                                                        not even
                                                        integrate here
                                                        (the protocol
                                                        just uses
                                                        version (or
                                                        timestamps)</div>
                                                    </div>
                                                  </div>
                                                </div>
                                              </blockquote>
                                            </div>
                                            Yes.<br>
                                            <br>
                                            On the topic of Simple Push,
                                            you push a URL so in theory
                                            you could push
                                            /Documents/${collecitonName}/${id}/${rev_id}
                                            and have simple push setup
                                            to accept URLS formatted
                                            that way right?&nbsp; Or is it
                                            more limited than that?</div>
                                        </blockquote>
                                        <div><br>
                                        </div>
                                        <div>you can simply ONLY push a
                                          version number, that's it</div>
                                      </div>
                                    </div>
                                  </div>
                                </blockquote>
                              </div>
                            </div>
                            I just reread things.&nbsp; It is worse than
                            that.&nbsp; You can (should) only push an
                            increasing version number.&nbsp; So anything
                            checksum based will fail.</div>
                        </blockquote>
                        <div><br>
                        </div>
                        <div><br>
                        </div>
                      </div>
                    </div>
                    <div>best practice is 'timestamp' - that's all you
                      can push over to those devices</div>
                  </div>
                </div>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>
              for a good reason&nbsp; <br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    Yeah.&nbsp; I keep forgetting how simple simplepush is.<br>
    <br>
    My original though on simple push was that a client to register as a
    listener for /Documents/Collections and it would receive pushes to
    /Documents/Collections/foo/bar.&nbsp; I was totally wrong :)<br>
    <br>
    This gives a much better context to everything that is also going
    on.<br>
    <br>
    <blockquote
cite="mid:CAAg5f2TNRT9Q2kC0AECDaxqjtArNodMA2UtJNpz2x16FFsjBFQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div dir="ltr">
                <div class="gmail_extra">
                  <div class="gmail_quote">
                    <div>
                      <div class="h5">
                        <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><br>
                                <blockquote type="cite">
                                  <div dir="ltr">
                                    <div class="gmail_extra">
                                      <div class="gmail_quote">
                                        <div><br>
                                        </div>
                                        <div><br>
                                        </div>
                                        <div><br>
                                        </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">
                                            <div>
                                              <div><br>
                                                <blockquote type="cite">
                                                  <div dir="ltr">
                                                    <div
                                                      class="gmail_extra">
                                                      <div
                                                        class="gmail_quote">
                                                        <div><br>
                                                        </div>
                                                        <div><br>
                                                        </div>
                                                        <div>&nbsp;</div>
                                                        <blockquote
                                                          class="gmail_quote"
                                                          style="margin:0
                                                          0 0
                                                          .8ex;border-left:1px
                                                          #ccc
                                                          solid;padding-left:1ex">
                                                          <div>
                                                          <div><br>
                                                          &gt; 4. &nbsp;AG
                                                          Synchronizer
                                                          sends sync
                                                          messages using
                                                          Pipes<br>
                                                          &gt; 5. &nbsp;AG
                                                          Synchronizer
                                                          holds local
                                                          data in a
                                                          store<br>
                                                          &gt;<br>
                                                          &gt; 6. &nbsp;When
                                                          AGSynchronizer
                                                          gets a message
                                                          it is
                                                          responsible
                                                          for updating<br>
                                                          &gt; the Store
                                                          and then
                                                          notifying code
                                                          listing for
                                                          updates OR for
                                                          notifying<br>
                                                          &gt; the code
                                                          that an error
                                                          has occurred
                                                          and needs to
                                                          be addressed.<br>
                                                          &gt;<br>
                                                          &gt; 7. &nbsp;When
                                                          the developer
                                                          updates data
                                                          in the store,
                                                          the
                                                          synchronizer<br>
                                                          &gt; should
                                                          package that
                                                          data and send
                                                          it to the
                                                          server. &nbsp;The
                                                          synchronizer
                                                          is<br>
                                                          &gt;
                                                          responsible
                                                          for error
                                                          handling,
                                                          retrying,
                                                          back-off, etc.<br>
                                                          &gt;<br>
                                                          &gt; 8. &nbsp;We
                                                          should include
                                                          multiple
                                                          synchronizer
                                                          implementations
                                                          to deal with<br>
                                                          &gt; multiple
                                                          very simple
                                                          use cases
                                                          which involve
                                                          legacy
                                                          systems. (For<br>
                                                          &gt; instance
                                                          polling to
                                                          load static
                                                          data on a
                                                          schedule.)<br>
                                                          &gt;<br>
                                                          &gt; Thoughts?
                                                          Tomatoes?<br>
                                                          &gt;&gt;<br>
                                                          &gt;&gt;<br>
                                                          &gt;&gt;<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>
_______________________________________________<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"
                                            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>
                                        </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"
                            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>
                        </blockquote>
                      </div>
                    </div>
                  </div>
                  <div>
                    <div class="h5"><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>
                </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 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>