<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><br><br>Envoyé de mon iPhone</div><div><br>Le 6 déc. 2014 à 12:09, Matthias Wessendorf &lt;<a href="mailto:matzew@apache.org">matzew@apache.org</a>&gt; a écrit&nbsp;:<br><br></div><blockquote type="cite"><div><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 2, 2014 at 2:59 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"><span class="">
    <div>On 12/01/2014 10:57 AM, Sebastien Blanc
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr"><br>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">On Mon, Dec 1, 2014 at 4:46 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 text="#000000" bgcolor="#FFFFFF">
                <div>What other companies provide geofencing and what do
                  their APIs look like?<br>
                  I know Google has some stuff for Android buried in
                  Google Play Services.<br>
                  <br>
                  In general I think it might be less big brother if
                  instead of the user reporting their location we add in
                  metadata to filter incoming messages.&nbsp; This will have
                  us sending more metadata but we don't have to worry
                  about what if some bad guy compromises the server and
                  start following his mother-in-law.</div>
              </div>
            </blockquote>
            <div>Sorry, I'm not sure to understand the alternative you
              propose.</div>
          </div>
        </div>
      </div>
    </blockquote></span>
    I don't like the push server knowing every user's location.&nbsp;</div></blockquote><div><br></div><div>it should know nothing. Instead, the geo data should be stored on a 'geo server' component.</div></div></div></div></div></blockquote>I'm working on that ;) , I hope to present a Poc next week&nbsp;<br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>-M</div><div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"> Instead
    of the push server deciding to send to a user based on her location
    the push server should send a "filter" property with the message the
    client can use to determine if it should show the message.<div><div class="h5"><br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div>&nbsp;</div>
            <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div text="#000000" bgcolor="#FFFFFF">
                <div>
                  <div>
                    <div><br>
                      <br>
                      <br>
                      On 11/27/2014 11:52 AM, Sebastien Blanc wrote:<br>
                    </div>
                  </div>
                </div>
                <blockquote type="cite">
                  <div>
                    <div>
                      <div dir="ltr">
                        <p>Hi Folks !</p>
                        <p>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>Let's keep in mind :&nbsp;<em>Crawl, Walk, Run</em></p>
                        <p>I would like to start with a concrete
                          proposition and initiate the discussions from
                          there :</p>
                        <h1><a name="14a0b8580f6901e0_14a068869b0a253b_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" target="_blank"></a>Installations</h1>
                        <h2><a name="14a0b8580f6901e0_14a068869b0a253b_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" target="_blank"></a>Model Change</h2>
                        <p>The idea is to add 2 new fields to the&nbsp;<code>Installation</code>&nbsp;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>These field&nbsp;<strong>should</strong>&nbsp;be
                          optional !</p>
                        <h2><a name="14a0b8580f6901e0_14a068869b0a253b_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" target="_blank"></a>Registration</h2>
                        <p>When the device registers, along with alias,
                          categories etc ... it will also be possible to
                          pass a latitude and longitude.</p>
                        <p>Later, we will probably offer a endpoint to
                          update these properties.&nbsp;<code>PUT
                            /registry/device/{token}</code></p>
                        <h1><a name="14a0b8580f6901e0_14a068869b0a253b_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" target="_blank"></a>Sender</h1>
                        <h2><a name="14a0b8580f6901e0_14a068869b0a253b_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" target="_blank"></a>Server Side</h2>
                        <p>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>In this example, the Push Notification will
                          be sent only to devices within a radius of 5
                          km of the supplied location.</p>
                        <p>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" target="_blank">Spatial queries</a>.</p>
                        <h2><a name="14a0b8580f6901e0_14a068869b0a253b_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" target="_blank"></a>Sender Client</h2>
                        <p>The different Sender Clients (Java, Node.js,
                          .net) should be updated accordingly.</p>
                        <h1><a name="14a0b8580f6901e0_14a068869b0a253b_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" target="_blank"></a>Client SDKs</h1>
                        <p>In this fisrt iteration, the registration
                          code would to be updated to include latitude
                          and longitude for :</p>
                        <ul>
                          <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>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>There are some jiras to track these tasks :&nbsp;<a href="https://issues.jboss.org/browse/AGPUSH-828" rel="noreferrer" style="color:rgb(65,131,196);text-decoration:none" target="_blank">https://issues.jboss.org/browse/AGPUSH-828</a></p>
                        <p>Comments and questions welcome !</p>
                        <p>Sebi</p>
                      </div>
                      <br>
                      <fieldset></fieldset>
                      <br>
                    </div>
                  </div>
                  <span>
                    <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>
                  </span></blockquote>
                <span><font color="#888888"> <br>
                    <br>
                    <pre cols="72">-- 
Summers Pittman
&gt;&gt;Phone:<a href="tel:404%20941%204698" value="+14049414698" target="_blank">404 941 4698</a>
&gt;&gt;Java is my crack.
</pre>
                  </font></span></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>
        </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>
    <br>
    <pre cols="72">-- 
Summers Pittman
&gt;&gt;Phone:404 941 4698
&gt;&gt;Java is my crack.
</pre>
  </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><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>
</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></body></html>