<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jan 28, 2014 at 6:36 PM, Summers Pittman <span dir="ltr">&lt;<a 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 12:32 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:32 PM,
            Matthias Wessendorf <span dir="ltr">&lt;<a 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>On Tue, Jan 28, 2014 at 6:26 PM,
                        Summers Pittman <span dir="ltr">&lt;<a 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 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 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 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,
                                                           i&#39;m all for
                                                          choice, but
                                                          what about
                                                          deciding on 1
                                                          model to get
                                                          started with.
                                                           Then later
                                                          once we have
                                                          this nailed
                                                          down,  we can
                                                          have other
                                                          &quot;adapters&quot;
                                                          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.  We
                                                          have a Sync
                                                          factory
                                                          similar to
                                                          Pipeline,
                                                          Authenticator,<br>
                                                          &gt;
                                                          Registrar, and
                                                          KeyService.<br>
                                                          &gt; 2.  The
                                                          Sync factory
                                                          consumes/manages
                                                          Synchronizer
                                                          instances.<br>
                                                          &gt; 3.  AG
                                                          Synchronizer
                                                          listens for
                                                          sync messages
                                                          using
                                                          UnifiedPush
                                                          endpoints.<br>
                                                        </div>
                                                        i thought for a
                                                        1.0 we weren&#39;t
                                                        thinking about
                                                        &quot;realtime&quot;<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 &quot;connected&quot;
                                                        clients, can
                                                        sync.</div>
                                                    </div>
                                                  </div>
                                                </div>
                                              </blockquote>
                                            </div>
                                            Polling is MURDER on
                                            battery, performance, and
                                            &quot;feel&quot;.  WebSockets and
                                            SockJS are awesome ideas for
                                            a future implementation for
                                            &quot;real time&quot;.</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 &#39;future&#39;</div>
                                        <div> </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 &#39;wake-up&#39;,
                                                        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?  Or is it
                                            more limited than that?</div>
                                        </blockquote>
                                        <div><br>
                                        </div>
                                        <div>you can simply ONLY push a
                                          version number, that&#39;s it</div>
                                      </div>
                                    </div>
                                  </div>
                                </blockquote>
                              </div>
                            </div>
                            I just reread things.  It is worse than
                            that.  You can (should) only push an
                            increasing version number.  So anything
                            checksum based will fail.</div>
                        </blockquote>
                        <div><br>
                        </div>
                        <div><br>
                        </div>
                      </div>
                    </div>
                    <div>best practice is &#39;timestamp&#39; - that&#39;s all you
                      can push over to those devices</div>
                  </div>
                </div>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>
              for a good reason  <br>
            </div>
          </div>
        </div>
      </div>
    </blockquote></div></div>
    Yeah.  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.  I was totally wrong :)<br>
    <br>
    This gives a much better context to everything that is also going
    on.</div></blockquote><div><br></div><div>you are now buying the real-time ? </div><div><br></div><div> </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>
    <br>
    <blockquote 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>
                        <div> </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> </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> </div>
                                                        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                                                          <div>
                                                          <div><br>
                                                          &gt; 4.  AG
                                                          Synchronizer
                                                          sends sync
                                                          messages using
                                                          Pipes<br>
                                                          &gt; 5.  AG
                                                          Synchronizer
                                                          holds local
                                                          data in a
                                                          store<br>
                                                          &gt;<br>
                                                          &gt; 6.  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.  When
                                                          the developer
                                                          updates data
                                                          in the store,
                                                          the
                                                          synchronizer<br>
                                                          &gt; should
                                                          package that
                                                          data and send
                                                          it to the
                                                          server.  The
                                                          synchronizer
                                                          is<br>
                                                          &gt;
                                                          responsible
                                                          for error
                                                          handling,
                                                          retrying,
                                                          back-off, etc.<br>
                                                          &gt;<br>
                                                          &gt; 8.  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 href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br>
                                                          &gt;&gt; <a 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 href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br>
                                                          &gt; <a 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 href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br>
                                                          <a 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 href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
                                                      sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
                                                      twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a>
                                                    </div>
                                                  </div>
                                                  <br>
                                                  <fieldset></fieldset>
                                                  <br>
                                                  <pre>_______________________________________________
aerogear-dev mailing list
<a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a>
<a 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 href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br>
                                          <a 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 href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
                                      sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
                                      twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a>
                                    </div>
                                  </div>
                                  <br>
                                  <fieldset></fieldset>
                                  <br>
                                  <pre>_______________________________________________
aerogear-dev mailing list
<a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a>
<a 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 href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br>
                          <a 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><br>
                      <br clear="all">
                      <div><br>
                      </div>
                      -- <br>
                      Matthias Wessendorf <br>
                      <br>
                      blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
                      sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
                      twitter: <a 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 href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
          sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
          twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
aerogear-dev mailing list
<a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a>
<a 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 href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
<a 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 href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a>
</div></div>