<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 9, 2015 at 5:14 AM, 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:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
First the good news, I&#39;ve refactored a lot of the xmpp-client code so<br>
now the sync client is correctly handled by an Android service. This<br>
gets around issues we were having earlier where the in-memory client<br>
would get GCed while the doc was in the background as well as some<br>
issues with loading documents when messages came in for the not<br>
currently being edited doc.<br>
<br>
Now the bad news, the past two weeks we&#39;ve been focusing on using<br>
Google&#39;s two way messaging for being the backbone of sync on Android for<br>
alpha.1.  One of the issues we knew about was the 4k message size limit<br>
in GCM and that after a POC phase we were going to have to address it.<br>
On Friday I noticed that the server was choking on messages much smaller<br>
than 4K.  Turns out that 4K includes all of the metadata around the<br>
message in addition to the payload.  I do not think the GCM bridge is a<br>
good tranport for alpha.1 and (if everyone agrees) will be focusing on<br>
the WebSocket based client.<br></blockquote><div><br></div><div>+9001 on a solid WebSocket client library for Android.</div><div><br></div><div>Especially for privacy our SYNC module should not rely on a 3rd party provider, like GCM, to sync the user&#39;s data (either entire documents or even patches).</div><div><br></div><div>For the integration of GCM/XMPP, IMO the best usage here is to just signal (or notify) the mobile app (e.g. while running in the background without a persistent connection to the Sync-Server) there is &quot;new data&quot; is available. The app could than (while still in the background) perform a connection to the users&#39; Sync-Server and apply the data (e.g. patch), that was delivered directly from the users&#39; Sync-Server instance. This way the users content is not exchanged over a 3rd party provider, like Google</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
One thing that this brings up that I didn&#39;t see in the AGSYNC Jira<br>
(unless I&#39;m blind) was how to manage the socket-connectivity interaction<br>
on the clients.  Basically a protocol / pattern for how we manage the<br>
socket connections when the device gains and loses internet access or<br>
switches networks.  (For instance we should probably disconnect and<br>
reconnect when the device leaves a cellular network and joins a Wifi<br>
network)This is separate from collision handling/detection which does<br>
have a Jira.  If there isn&#39;t one (a connection handling Jira) should I<br>
make one?<br></blockquote><div><br></div><div>Sounds like a good idea, to have that for the next iteration of our SYNC effort</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Happy Monday y&#39;all,<br>
<span class=""><font color="#888888"><br>
--<br>
Summers Pittman<br>
&gt;&gt;Phone:404 941 4698<br>
&gt;&gt;Java is my crack.<br>
<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>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">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>