<div>We could encrypt it. But I think a privacy policy + make it opt in are enough.</div>
<div class="mailbox_signature">
<br>—<br><br>abstractj<br>PGP: 0x84DC9914</div>
<br><br><div class="gmail_quote"><p>On Thu, Nov 27, 2014 at 6:13 PM, Sébastien Blanc <span dir="ltr"><<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.com</a>></span> wrote:<br></p><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div>
<br><br>Envoyé de mon iPhone</div>
<div>
<br>Le 27 nov. 2014 à 20:51, Bruno Oliveira <<a href="mailto:bruno@abstractj.org">bruno@abstractj.org</a>> a écrit :<br><br></div>
<blockquote type="cite"><div><div dir="ltr">Question: are we going to store into the database longitude and latitude? Only the last position? </div></div></blockquote>Yes in the db and only the last one. But good that you mentioned it , regarding security/privacy could you imagine some kind of encryption ?<br><blockquote type="cite"><div><div dir="ltr">Also I would add another field like "enabled", because track your position must be opt-in.<div><br></div>
<div>Not sure if what you have in mind is to track by default.</div>
</div></div></blockquote>The fields are optional , so it is an opt-in , but adding a "enable" field could indeed make it more obvious. I like that.<br><blockquote type="cite"><div>
<div class="gmail_extra">
<br><div class="gmail_quote">On Thu, Nov 27, 2014 at 2:52 PM, Sebastien Blanc <span dir="ltr"><<a href="mailto:scm.blanc@gmail.com">scm.blanc@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<p style="margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px;margin-top:0px!important">Hi Folks !</p>
<p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">During our last f2f we agreed on adding some geolocation support for the next UnifiedPush Release (1.1). I would like to start here a thread to discuss this topic.</p>
<p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">Let's keep in mind : <em>Crawl, Walk, Run</em></p>
<p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">I would like to start with a concrete proposition and initiate the discussions from there :</p>
<h1 style="font-size:2.25em;margin:1em 0px 16px;line-height:1.2;padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif">
<a name="149f22af5219eddb_user-content-installations" href="https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#installations" rel="noreferrer" style="color:rgb(65,131,196);text-decoration:none;display:block;padding-right:6px;padding-left:30px"></a>Installations</h1>
<h2 style="margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif">
<a name="149f22af5219eddb_user-content-model-change" href="https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#model-change" rel="noreferrer" style="color:rgb(65,131,196);text-decoration:none;display:block;padding-right:6px;padding-left:30px"></a>Model Change</h2>
<p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">The idea is to add 2 new fields to the <code style="font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:14px;padding:0.2em 0px;margin:0px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:rgba(0,0,0,0.0392157)">Installation</code> Object :</p>
<pre style="font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:14px;margin-top:0px;margin-bottom:16px;padding:16px;overflow:auto;line-height:1.45;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;word-wrap:normal;color:rgb(51,51,51);background-color:rgb(247,247,247)"><code style="font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:14px;padding:0px;margin:0px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;word-break:normal;border:0px;display:inline;line-height:inherit;word-wrap:normal;background:transparent">double longitude;
double latitude;
</code></pre>
<p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">These field <strong>should</strong> be optional !</p>
<h2 style="margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif">
<a name="149f22af5219eddb_user-content-registration" href="https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#registration" rel="noreferrer" style="color:rgb(65,131,196);text-decoration:none;display:block;padding-right:6px;padding-left:30px"></a>Registration</h2>
<p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">When the device registers, along with alias, categories etc ... it will also be possible to pass a latitude and longitude.</p>
<p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">Later, we will probably offer a endpoint to update these properties. <code style="font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:14px;padding:0.2em 0px;margin:0px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:rgba(0,0,0,0.0392157)">PUT /registry/device/{token}</code></p>
<h1 style="font-size:2.25em;margin:1em 0px 16px;line-height:1.2;padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif">
<a name="149f22af5219eddb_user-content-sender" href="https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#sender" rel="noreferrer" style="color:rgb(65,131,196);text-decoration:none;display:block;padding-right:6px;padding-left:30px"></a>Sender</h1>
<h2 style="margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif">
<a name="149f22af5219eddb_user-content-server-side" href="https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#server-side" rel="noreferrer" style="color:rgb(65,131,196);text-decoration:none;display:block;padding-right:6px;padding-left:30px"></a>Server Side</h2>
<p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">We need to extend the current sender API to be able to add geolocation as a criteria. I see that as something like :</p>
<pre style="font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:14px;margin-top:0px;margin-bottom:16px;padding:16px;overflow:auto;line-height:1.45;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;word-wrap:normal;color:rgb(51,51,51);background-color:rgb(247,247,247)"><code style="font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:14px;padding:0px;margin:0px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;word-break:normal;border:0px;display:inline;line-height:inherit;word-wrap:normal;background:transparent">{
"message":{
"alert":"HELLO!
},
"criteria":{
"geolocation":
{
"latitude" : 40.2566
"longitude": 2.36556
"within" : 5
"unit" : "Km" // optional, default is Km
}
}
}
</code></pre>
<p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">In this example, the Push Notification will be sent only to devices within a radius of 5 km of the supplied location.</p>
<p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">On the implementation side, I think it make sense to use Hibernate Search since it has nice support for<a href="https://docs.jboss.org/hibernate/search/4.2/reference/en-US/html/spatial.html" rel="noreferrer" style="color:rgb(65,131,196);text-decoration:none">Spatial queries</a>.</p>
<h2 style="margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif">
<a name="149f22af5219eddb_user-content-sender-client" href="https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#sender-client" rel="noreferrer" style="color:rgb(65,131,196);text-decoration:none;display:block;padding-right:6px;padding-left:30px"></a>Sender Client</h2>
<p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">The different Sender Clients (Java, Node.js, .net) should be updated accordingly.</p>
<h1 style="font-size:2.25em;margin:1em 0px 16px;line-height:1.2;padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif">
<a name="149f22af5219eddb_user-content-client-sdks" href="https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#client-sdks" rel="noreferrer" style="color:rgb(65,131,196);text-decoration:none;display:block;padding-right:6px;padding-left:30px"></a>Client SDKs</h1>
<p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">In this fisrt iteration, the registration code would to be updated to include latitude and longitude for :</p>
<ul style="padding:0px 0px 0px 2em;margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><li>iOS (Including Safari ? )</li>
<li>Android ( Including Chrome Apps ?)</li>
<li>JS UPS-SPS Lib</li>
<li>Cordova Plugin</li>
<li>Amazon</li>
<li>Windows</li>
</ul><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">Retrieving the current position of the device is not in scope of this first version, later we could offer some features around that.</p>
<p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">There are some jiras to track these tasks : <a href="https://issues.jboss.org/browse/AGPUSH-828" rel="noreferrer" style="color:rgb(65,131,196);text-decoration:none">https://issues.jboss.org/browse/AGPUSH-828</a></p>
<p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">Comments and questions welcome !</p>
<p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">Sebi</p>
</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">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br></blockquote>
</div>
<br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">
<div><br></div>-- <br>"The measure of a man is what he does with power" - Plato<br>-<br>@abstractj<br>-<br>Volenti Nihil Difficile</div>
</div>
</div></blockquote>
<blockquote type="cite"><div>
<span>_______________________________________________</span><br><span>aerogear-dev mailing list</span><br><span><a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a></span><br><span><a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></span>
</div></blockquote>
</blockquote></div><br>