<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 15, 2014 at 11:32 PM, Bruno Oliveira <span dir="ltr">&lt;<a href="mailto:bruno@abstractj.org" target="_blank">bruno@abstractj.org</a>&gt;</span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 2014-12-15, Matthias Wessendorf wrote:<br>
&gt; On Mon, Dec 15, 2014 at 9:08 PM, Bruno Oliveira &lt;<a href="mailto:bruno@abstractj.org">bruno@abstractj.org</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt; Good morning, first nice screencast Sebi and even knowing this is just a<br>
&gt; &gt; PoC I have some considerations:<br>
&gt; &gt;<br>
&gt; &gt; 1. What would be the use case scenario to justify a separated server<br>
&gt; &gt; instead of just a module on AGPUSH?<br>
&gt; &gt;<br>
&gt;<br>
&gt; I think main discussion around this at F2F meeting was, it might be useful<br>
&gt; for other scenarios as well,<br>
&gt; and we don&#39;t want to hard-wire geo to the push server<br>
<br>
</span>Which scenarios?<br></blockquote><div><br></div><div>anything else that may require geo data. E.g. other systems may benefit from interacting with geo as well.</div><div>I really do not see a reason why geo is hard-wired to push.</div><div><br></div><div>the geo server should be a system to store any sorts of geo data (long/lat) + some APIs to query. </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class=""><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; 2. How do you plan to prevent people from faking their location?<br>
&gt; &gt;<br>
&gt;<br>
&gt; I&#39;d assume that a Geo SDK would be based on-top of the mobile OS&#39;s<br>
&gt; facility, to receive the long/lat values.<br>
&gt; I think in the future we can have some sort of checks, like validating the<br>
&gt; users IP address, if it somewhat matches the submitted geo data.<br>
<br>
</span>I think Geo based on IPs are a bad idea. This is a very inaccurate method<br>
and should be our last resort, it&#39;s easy to spoof IPs.<br></blockquote><div><br></div><div>:-) yeah. I&#39;d assume that we offer minimal/simple SDKs for iOS/Android, which underneath</div><div>leverage the OS facilities for Geo-Data. Like CoreLocation on iOS.</div><div><br></div><div>Regarding the IP, I had this in mind (not sure if that is a good idea or not):</div><div>* if long/lat (can be faked with man-in-the-middle) says Germany, but IP says singapore,</div><div>our server could see: something is wrong.</div><div><br></div><div>or if we get weird long/lats from the same device (.e.g. 12:00 Germany, 12:30 UK, 14:00 USA, 14:30 China),</div><div>we might know something is wrong too. But that&#39;s perhaps not for the initial scope of the poc</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class=""><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; 3. Do we have a privacy policy to make the developer real aware about<br>
&gt; &gt; what&#39;s being collected?<br>
&gt; &gt;<br>
&gt;<br>
&gt; I think that the level of collected geo data is up to the developer of the<br>
&gt; app, using the Geo SDK.<br>
<br>
</span>I&#39;m sorry, but I have to disagree. If we don&#39;t provide a policy about the usage of the Geo<br>
server, we&#39;re pretty much accountable for it.<br>
<br>
Nothing huge, only a simple txt documenting what&#39;s being collected and<br>
why.<br></blockquote><div><br></div><div>I&#39;d think that, if we provide an SDK (and the POC will get us there), we do not really track anything &#39;silently&#39;.</div><div>I hope that the SDK would allow me to get the current position (e.g. using CoreLocation), and store it with a name (e.g. home, work, my fav. cinema) and some metadata (e.g. username).</div><div><br></div><div>But I&#39;d not imagine our SDK constantly tracks all positions and silently sends them to the Geo Server.</div><div> </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class=""><br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; 4. Will collecting geo location be opt in or default?<br>
&gt; &gt;<br>
&gt;<br>
&gt; If the Geo-data SDK is used w/in an app, I think it will still ask,<br>
&gt; up-front, if location based services are OK to use (at least apple). And<br>
&gt; I&#39;d argue that users can still disable the geo usage, per app (at least<br>
&gt; apple)<br>
<br>
</span>Most of users have no idea that their data is being collected. I&#39;m<br>
confused about your answer, is that an yes or no?<br></blockquote><div><br></div><div>I mean yes, see above. </div><div><br></div><div><br></div><div>-MAtthias</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class=""><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; 5. Why is necessary to store current user&#39;s position?<br>
&gt;<br>
&gt;<br>
&gt; I think that&#39;s up to the use case, and its usage of the Geo SDK.<br>
<br>
</span>Currently we store. I know this is just a proof of concept.<br>
But I insist to be the boring, and avoid it if possible.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
&gt;<br>
&gt;<br>
&gt; &gt; Couldn&#39;t admin<br>
&gt; &gt; specify a range and check how many devices are active on that region?<br>
&gt; &gt; Into this way you don&#39;t need to store their positions. I&#39;m not the Geo<br>
&gt; &gt; specialist here but the idea is:<br>
&gt; &gt;<br>
&gt; &gt; 1. Admin specify the range when a push message must be sent. For<br>
&gt; &gt; example: Whole Florida<br>
&gt; &gt; 2. Client opt in and sent her its position to the server<br>
&gt; &gt; 3. Server compares and sent the push message<br>
&gt; &gt;<br>
&gt; &gt; I&#39;m very concerned about privacy here, I&#39;m not against the<br>
&gt; &gt; solution, but Geo location is like to open a Pandora box.<br>
&gt; &gt;<br>
&gt;<br>
&gt; yeah, it&#39;s also creepy :) I have not much services that I give my geo data<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; We might be careful about unintentional disclosure of geolocation<br>
&gt; &gt; information,<br>
&gt; &gt; because it carries physical risks to the client (theft, to stalking,<br>
&gt; &gt; kidnapping<br>
&gt; &gt; and domestic violence — I&#39;m not exaggerating).<br>
&gt; &gt;<br>
&gt;<br>
&gt; +1 I&#39;d argue that the &quot;Geo server&quot; would be, initially, a &#39;simple&#39; back<br>
&gt; end, that is able to store n pairs of long/lat values (grouped by a<br>
&gt; user/device).<br>
&gt; The mobile SDK for it basically store the &#39;collected&#39; data to this backend<br>
&gt; (somewhat similar to the push registration SDK)<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; Again, I know this is a proof of concept, but sooner we have it in mind,<br>
&gt; &gt; the<br>
&gt; &gt; better.<br>
&gt; &gt;<br>
&gt;<br>
&gt; +1 fully agree. Replied to your questions with my POV on this<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On 2014-12-10, Sebastien Blanc wrote:<br>
&gt; &gt; &gt; Hi all,<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I have been working on a POC around geolocation. Like we discussed in<br>
&gt; &gt; &gt; another thread, we decided not to have a &quot;deep&quot; integration with the Push<br>
&gt; &gt; &gt; server but instead a separate component / microservice. Well the POC is<br>
&gt; &gt; &gt; more a miniservice ;)<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; So, the idea is to have a server to which devices can register by<br>
&gt; &gt; providing<br>
&gt; &gt; &gt; their positions. On the other side, the server provide an endpoint to<br>
&gt; &gt; make<br>
&gt; &gt; &gt; spatial queries, like give me all the installations within a radius of 10<br>
&gt; &gt; &gt; km around this lat/ltg.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Thanks to Forge, I created/scaffolded a really simple server providing<br>
&gt; &gt; the<br>
&gt; &gt; &gt; registration endpoint and the search endpoint.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I tried to make a decent readme that will give you more details :<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; <a href="https://github.com/sebastienblanc/unified-geo-server" target="_blank">https://github.com/sebastienblanc/unified-geo-server</a><br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; And as usual, I made a little screencast showing all that in action ;)<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; <a href="https://www.youtube.com/watch?v=R-qdLJh4EWQ" target="_blank">https://www.youtube.com/watch?v=R-qdLJh4EWQ</a><br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Please remember this is a POC, so the security is almost inexistant, the<br>
&gt; &gt; &gt; console is awful ;)<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; What about the Client SDKs ?<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; If we reach some kind of consensus arounf the concept of Unfied Geo<br>
&gt; &gt; Server<br>
&gt; &gt; &gt; we can start building the Client SDKs / POCs , they will be quite simple<br>
&gt; &gt; :<br>
&gt; &gt; &gt; retrieve geolocation and register to the geo endpoint.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Sebi<br>
&gt; &gt;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; aerogear-dev mailing list<br>
&gt; &gt; &gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
&gt; &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; &gt;<br>
&gt; &gt;<br>
&gt; &gt; --<br>
&gt; &gt;<br>
&gt; &gt; abstractj<br>
&gt; &gt; PGP: 0x84DC9914<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; aerogear-dev mailing list<br>
&gt; &gt; <a href="mailto:aerogear-dev@lists.jboss.org">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; &gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Matthias Wessendorf<br>
&gt;<br>
&gt; blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
&gt; sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
&gt; twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
<br>
&gt; _______________________________________________<br>
&gt; aerogear-dev mailing list<br>
&gt; <a href="mailto:aerogear-dev@lists.jboss.org">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>
<br>
abstractj<br>
PGP: 0x84DC9914<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></div></div></blockquote></div><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>