<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div>Great work sebi . How frequently are the lat longs sent to the geo server?&nbsp; and what is the backend db for the geo server ? is it mongo ?</div><div id="yui_3_16_0_1_1419105371149_39468"><br></div><div id="yui_3_16_0_1_1419105371149_39469" dir="ltr">Regards</div><div id="yui_3_16_0_1_1419105371149_39470" dir="ltr"><br></div><div id="yui_3_16_0_1_1419105371149_39465"><span></span></div><br>  <div id="yui_3_16_0_1_1419105371149_39047" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div id="yui_3_16_0_1_1419105371149_39046" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div id="yui_3_16_0_1_1419105371149_39464" dir="ltr"> <hr id="yui_3_16_0_1_1419105371149_39467" size="1">  <font id="yui_3_16_0_1_1419105371149_39466" face="Arial" size="2"> <b><span style="font-weight:bold;">From:</span></b> Sebastien Blanc &lt;scm.blanc@gmail.com&gt;<br> <b><span style="font-weight: bold;">To:</span></b> AeroGear Developer Mailing List &lt;aerogear-dev@lists.jboss.org&gt; <br> <b><span style="font-weight: bold;">Sent:</span></b> Monday, December 15, 2014 6:10 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [aerogear-dev] [POC] Unified Geo Server<br> </font> </div> <div id="yui_3_16_0_1_1419105371149_39045" class="y_msg_container"><br><div id="yiv0601193873"><div id="yui_3_16_0_1_1419105371149_39044"><div id="yui_3_16_0_1_1419105371149_39043" dir="ltr"><br clear="none"><div id="yui_3_16_0_1_1419105371149_39042" class="yiv0601193873gmail_extra"><br clear="none"><div id="yui_3_16_0_1_1419105371149_39041" class="yiv0601193873gmail_quote">On Mon, Dec 15, 2014 at 11:32 PM, Bruno Oliveira <span id="yui_3_16_0_1_1419105371149_39463" dir="ltr">&lt;<a id="yui_3_16_0_1_1419105371149_39462" rel="nofollow" shape="rect" ymailto="mailto:bruno@abstractj.org" target="_blank" href="mailto:bruno@abstractj.org">bruno@abstractj.org</a>&gt;</span> wrote:<blockquote id="yui_3_16_0_1_1419105371149_39040" class="yiv0601193873gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><span id="yui_3_16_0_1_1419105371149_39129" class="yiv0601193873">On 2014-12-15, Matthias Wessendorf wrote:<br clear="none">
&gt; On Mon, Dec 15, 2014 at 9:08 PM, Bruno Oliveira &lt;<a id="yui_3_16_0_1_1419105371149_39128" rel="nofollow" shape="rect" ymailto="mailto:bruno@abstractj.org" target="_blank" href="mailto:bruno@abstractj.org">bruno@abstractj.org</a>&gt; wrote:<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt; Good morning, first nice screencast Sebi and even knowing this is just a<br clear="none">
&gt; &gt; PoC I have some considerations:<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt; 1. What would be the use case scenario to justify a separated server<br clear="none">
&gt; &gt; instead of just a module on AGPUSH?<br clear="none">
&gt; &gt;<br clear="none">
&gt;<br clear="none">
&gt; I think main discussion around this at F2F meeting was, it might be useful<br clear="none">
&gt; for other scenarios as well,<br clear="none">
&gt; and we don't want to hard-wire geo to the push server<br clear="none">
<br clear="none">
</span>Which scenarios?<br clear="none"></blockquote><div>The are several scenarios where geo is needed without push.&nbsp;</div><div>For instance, think of a backend system for a transport company that needs to run analysis each night based on the current location of the truck drivers in order to plan efficiently the logistics for the next day. &nbsp;</div><blockquote class="yiv0601193873gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<span class="yiv0601193873"><br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt; 2. How do you plan to prevent people from faking their location?<br clear="none">
&gt; &gt;<br clear="none">
&gt;<br clear="none">
&gt; I'd assume that a Geo SDK would be based on-top of the mobile OS's<br clear="none">
&gt; facility, to receive the long/lat values.<br clear="none">
&gt; I think in the future we can have some sort of checks, like validating the<br clear="none">
&gt; users IP address, if it somewhat matches the submitted geo data.<br clear="none">
<br clear="none">
</span>I think Geo based on IPs are a bad idea. This is a very inaccurate method<br clear="none">
and should be our last resort, it's easy to spoof IPs.<br clear="none">
<span class="yiv0601193873"><br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt; 3. Do we have a privacy policy to make the developer real aware about<br clear="none">
&gt; &gt; what's being collected?<br clear="none">
&gt; &gt;<br clear="none">
&gt;<br clear="none">
&gt; I think that the level of collected geo data is up to the developer of the<br clear="none">
&gt; app, using the Geo SDK.<br clear="none">
<br clear="none">
</span>I'm sorry, but I have to disagree. If we don't provide a policy about the usage of the Geo<br clear="none">
server, we're pretty much accountable for it.<br clear="none">
<br clear="none">
Nothing huge, only a simple txt documenting what's being collected and<br clear="none">
why.<br clear="none">
<span class="yiv0601193873"><br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt; 4. Will collecting geo location be opt in or default?<br clear="none">
&gt; &gt;<br clear="none">
&gt;<br clear="none">
&gt; If the Geo-data SDK is used w/in an app, I think it will still ask,<br clear="none">
&gt; up-front, if location based services are OK to use (at least apple). And<br clear="none">
&gt; I'd argue that users can still disable the geo usage, per app (at least<br clear="none">
&gt; apple)<br clear="none">
<br clear="none">
</span>Most of users have no idea that their data is being collected. I'm<br clear="none">
confused about your answer, is that an yes or no?<br clear="none"></blockquote><div>I think what Matthias means is that when using gelolocation on the device, being iOS, Android or even Web, the users will be prompted to allow or not access to his geodata. So, yes it's an opt-in and also, like Matthias said a the possibility to opt-out.&nbsp;</div><blockquote class="yiv0601193873gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<span class="yiv0601193873"><br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt; 5. Why is necessary to store current user's position?<br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt; I think that's up to the use case, and its usage of the Geo SDK.<br clear="none">
<br clear="none">
</span>Currently we store. I know this is just a proof of concept.<br clear="none">
But I insist to be the boring, and avoid it if possible.<br clear="none"></blockquote><div>If we don't store we can not make geo queries. Without these queries the question of having a geo server is quite useless ...</div><div><br clear="none"></div><div>But we could think of a "flavor" or variant ;) &nbsp;where the geo data is not persisted but just &nbsp;pass through (to a queue, another REST endpoint), It will more act then like a broker, but again not sure if I can find a usecase for that.</div><blockquote class="yiv0601193873gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="qtdSeparateBR"><br><br></div><div class="yiv0601193873yqt4241137772" id="yiv0601193873yqtfd13444"><div class="yiv0601193873HOEnZb"><div class="yiv0601193873h5"><br clear="none">
<br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt; &gt; Couldn't admin<br clear="none">
&gt; &gt; specify a range and check how many devices are active on that region?<br clear="none">
&gt; &gt; Into this way you don't need to store their positions. I'm not the Geo<br clear="none">
&gt; &gt; specialist here but the idea is:<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt; 1. Admin specify the range when a push message must be sent. For<br clear="none">
&gt; &gt; example: Whole Florida<br clear="none">
&gt; &gt; 2. Client opt in and sent her its position to the server<br clear="none">
&gt; &gt; 3. Server compares and sent the push message<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt; I'm very concerned about privacy here, I'm not against the<br clear="none">
&gt; &gt; solution, but Geo location is like to open a Pandora box.<br clear="none">
&gt; &gt;<br clear="none">
&gt;<br clear="none">
&gt; yeah, it's also creepy :) I have not much services that I give my geo data<br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt; We might be careful about unintentional disclosure of geolocation<br clear="none">
&gt; &gt; information,<br clear="none">
&gt; &gt; because it carries physical risks to the client (theft, to stalking,<br clear="none">
&gt; &gt; kidnapping<br clear="none">
&gt; &gt; and domestic violence — I'm not exaggerating).<br clear="none">
&gt; &gt;<br clear="none">
&gt;<br clear="none">
&gt; +1 I'd argue that the "Geo server" would be, initially, a 'simple' back<br clear="none">
&gt; end, that is able to store n pairs of long/lat values (grouped by a<br clear="none">
&gt; user/device).<br clear="none">
&gt; The mobile SDK for it basically store the 'collected' data to this backend<br clear="none">
&gt; (somewhat similar to the push registration SDK)<br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt; Again, I know this is a proof of concept, but sooner we have it in mind,<br clear="none">
&gt; &gt; the<br clear="none">
&gt; &gt; better.<br clear="none">
&gt; &gt;<br clear="none">
&gt;<br clear="none">
&gt; +1 fully agree. Replied to your questions with my POV on this<br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt; On 2014-12-10, Sebastien Blanc wrote:<br clear="none">
&gt; &gt; &gt; Hi all,<br clear="none">
&gt; &gt; &gt;<br clear="none">
&gt; &gt; &gt; I have been working on a POC around geolocation. Like we discussed in<br clear="none">
&gt; &gt; &gt; another thread, we decided not to have a "deep" integration with the Push<br clear="none">
&gt; &gt; &gt; server but instead a separate component / microservice. Well the POC is<br clear="none">
&gt; &gt; &gt; more a miniservice ;)<br clear="none">
&gt; &gt; &gt;<br clear="none">
&gt; &gt; &gt; So, the idea is to have a server to which devices can register by<br clear="none">
&gt; &gt; providing<br clear="none">
&gt; &gt; &gt; their positions. On the other side, the server provide an endpoint to<br clear="none">
&gt; &gt; make<br clear="none">
&gt; &gt; &gt; spatial queries, like give me all the installations within a radius of 10<br clear="none">
&gt; &gt; &gt; km around this lat/ltg.<br clear="none">
&gt; &gt; &gt;<br clear="none">
&gt; &gt; &gt; Thanks to Forge, I created/scaffolded a really simple server providing<br clear="none">
&gt; &gt; the<br clear="none">
&gt; &gt; &gt; registration endpoint and the search endpoint.<br clear="none">
&gt; &gt; &gt;<br clear="none">
&gt; &gt; &gt; I tried to make a decent readme that will give you more details :<br clear="none">
&gt; &gt; &gt;<br clear="none">
&gt; &gt; &gt; <a rel="nofollow" shape="rect" target="_blank" href="https://github.com/sebastienblanc/unified-geo-server">https://github.com/sebastienblanc/unified-geo-server</a><br clear="none">
&gt; &gt; &gt;<br clear="none">
&gt; &gt; &gt; And as usual, I made a little screencast showing all that in action ;)<br clear="none">
&gt; &gt; &gt;<br clear="none">
&gt; &gt; &gt; <a rel="nofollow" shape="rect" target="_blank" href="https://www.youtube.com/watch?v=R-qdLJh4EWQ">https://www.youtube.com/watch?v=R-qdLJh4EWQ</a><br clear="none">
&gt; &gt; &gt;<br clear="none">
&gt; &gt; &gt; Please remember this is a POC, so the security is almost inexistant, the<br clear="none">
&gt; &gt; &gt; console is awful ;)<br clear="none">
&gt; &gt; &gt;<br clear="none">
&gt; &gt; &gt; What about the Client SDKs ?<br clear="none">
&gt; &gt; &gt;<br clear="none">
&gt; &gt; &gt; If we reach some kind of consensus arounf the concept of Unfied Geo<br clear="none">
&gt; &gt; Server<br clear="none">
&gt; &gt; &gt; we can start building the Client SDKs / POCs , they will be quite simple<br clear="none">
&gt; &gt; :<br clear="none">
&gt; &gt; &gt; retrieve geolocation and register to the geo endpoint.<br clear="none">
&gt; &gt; &gt;<br clear="none">
&gt; &gt; &gt; Sebi<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt; &gt; _______________________________________________<br clear="none">
&gt; &gt; &gt; aerogear-dev mailing list<br clear="none">
&gt; &gt; &gt; <a rel="nofollow" shape="rect" ymailto="mailto:aerogear-dev@lists.jboss.org" target="_blank" href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br clear="none">
&gt; &gt; &gt; <a rel="nofollow" shape="rect" target="_blank" href="https://lists.jboss.org/mailman/listinfo/aerogear-dev">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt; --<br clear="none">
&gt; &gt;<br clear="none">
&gt; &gt; abstractj<br clear="none">
&gt; &gt; PGP: 0x84DC9914<br clear="none">
&gt; &gt; _______________________________________________<br clear="none">
&gt; &gt; aerogear-dev mailing list<br clear="none">
&gt; &gt; <a rel="nofollow" shape="rect" ymailto="mailto:aerogear-dev@lists.jboss.org" target="_blank" href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br clear="none">
&gt; &gt; <a rel="nofollow" shape="rect" target="_blank" href="https://lists.jboss.org/mailman/listinfo/aerogear-dev">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br clear="none">
&gt; &gt;<br clear="none">
&gt;<br clear="none">
&gt;<br clear="none">
&gt; --<br clear="none">
&gt; Matthias Wessendorf<br clear="none">
&gt;<br clear="none">
&gt; blog: <a rel="nofollow" shape="rect" target="_blank" href="http://matthiaswessendorf.wordpress.com/">http://matthiaswessendorf.wordpress.com/</a><br clear="none">
&gt; sessions: <a rel="nofollow" shape="rect" target="_blank" href="http://www.slideshare.net/mwessendorf">http://www.slideshare.net/mwessendorf</a><br clear="none">
&gt; twitter: <a rel="nofollow" shape="rect" target="_blank" href="http://twitter.com/mwessendorf">http://twitter.com/mwessendorf</a><br clear="none">
<br clear="none">
&gt; _______________________________________________<br clear="none">
&gt; aerogear-dev mailing list<br clear="none">
&gt; <a rel="nofollow" shape="rect" ymailto="mailto:aerogear-dev@lists.jboss.org" target="_blank" href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br clear="none">
&gt; <a rel="nofollow" shape="rect" target="_blank" href="https://lists.jboss.org/mailman/listinfo/aerogear-dev">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br clear="none">
<br clear="none">
<br clear="none">
--<br clear="none">
<br clear="none">
abstractj<br clear="none">
PGP: 0x84DC9914<br clear="none">
_______________________________________________<br clear="none">
aerogear-dev mailing list<br clear="none">
<a rel="nofollow" shape="rect" ymailto="mailto:aerogear-dev@lists.jboss.org" target="_blank" href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br clear="none">
<a rel="nofollow" shape="rect" target="_blank" href="https://lists.jboss.org/mailman/listinfo/aerogear-dev">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></div></div></div></blockquote></div></div></div></div></div><br><div class="yqt4241137772" id="yqtfd75623">_______________________________________________<br clear="none">aerogear-dev mailing list<br clear="none"><a shape="rect" ymailto="mailto:aerogear-dev@lists.jboss.org" href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br clear="none"><a shape="rect" href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></div><br><br></div> </div> </div>  </div></body></html>