<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 8, 2015 at 6:57 PM, Andres Galante <span dir="ltr">&lt;<a href="mailto:agalante@redhat.com" target="_blank">agalante@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Sebi, I just change the demo.</div></blockquote><div>I like it more, but I wonder about the stacked bars again, not sure it is the best visually, maybe having the 2 bar side-by-side like here <a href="http://c3js.org/samples/chart_bar.html">http://c3js.org/samples/chart_bar.html</a> or what I really would like to see but I could not find it in c3 is : the 2 bars superposed a bit like this <a href="http://i.stack.imgur.com/0hjX7.png">http://i.stack.imgur.com/0hjX7.png</a><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div>I now understand what you mean, and you are right its hard to explain it in a short word.</div></div></blockquote><div>Yes  , what about &quot;Sent out to &lt;number&gt; devices&quot;  ?<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>If we want we can ask someone from marketing, they have a hole sub team dedicated to writing.</div><div><br></div><div>Parse uses &quot;Push Notifications&quot;</div><div><a href="http://blog.parse.com/2013/03/18/introducing-push-analytics-improved-insight-into-push-campaigns/" target="_blank">http://blog.parse.com/2013/03/18/introducing-push-analytics-improved-insight-into-push-campaigns/</a><br></div><div><br></div><div>Urban Airship uses &quot;Total Pushes sent&quot;</div><div><a href="http://urbanairship.com/products/mobile-analytics" target="_blank">http://urbanairship.com/products/mobile-analytics</a><br></div><div><br></div><div><br></div></div><div class=""><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 8, 2015 at 1:46 PM, Matthias Wessendorf <span dir="ltr">&lt;<a href="mailto:matzew@apache.org" target="_blank">matzew@apache.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Wed, Apr 8, 2015 at 6:05 PM, Andres Galante <span dir="ltr">&lt;<a href="mailto:agalante@redhat.com" target="_blank">agalante@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Do we always successful deliver messages to all registered devices?</div></blockquote><div><br></div></span><div>no, it&#39;s not even us. we just give the payload to the networks. They all (APNS, GCM, Windows) have no SLA for actual delivery.</div><div><br></div><div>All what we can say is:</div><div>delivered &quot;payload&quot; to APNs for distribution to n devices</div><div><br></div><div>Once they open the app, our server is hit, and we know: n devices did receive it </div><div><div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 8, 2015 at 12:51 PM, Matthias Wessendorf <span dir="ltr">&lt;<a href="mailto:matzew@apache.org" target="_blank">matzew@apache.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Again, I doubt that there will be 3k of messages per app, a day.<div>That would mean your &quot;ESPN Sports News&quot; app would send you 3k messages - joy, he?</div><div><br></div><div>I wonder how the charts would look on more realistic data:</div><div>500.000 devices</div><div>1 push message a day (delivered to all 500k)</div><div>opened by 250k, same day</div><div><br></div><div><br></div><div>Now if I sent two messages: Breaking news A, Breaking news B</div><div>How would I see how many directly opened &quot;Breaking news A&quot; (or the other one)?</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><span>On Wed, Apr 8, 2015 at 5:44 PM, Andres Galante <span dir="ltr">&lt;<a href="mailto:agalante@redhat.com" target="_blank">agalante@redhat.com</a>&gt;</span> wrote:<br></span><div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Good idea! take a look:<div><br><div><a href="https://rawgit.com/andresgalante/UPS/master/app-detail-analytics.html" target="_blank">https://rawgit.com/andresgalante/UPS/master/app-detail-analytics.html</a><br></div><div><br></div><div><br></div></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 8, 2015 at 12:24 PM, Sébastien Blanc <span dir="ltr">&lt;<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div>I wonder if a bar chart (even maybe stacked bar) would not be more clear to show this data ? </div><div>Wdyt ?<br><br>Envoyé de mon iPhone</div><div><div><div><br>Le 8 avr. 2015 à 15:44, Andres Galante &lt;<a href="mailto:agalante@redhat.com" target="_blank">agalante@redhat.com</a>&gt; a écrit :<br><br></div><blockquote type="cite"><div><div dir="ltr">Yes, you are right, it should be something like:<div><br></div><div>5 message sent</div><div>3k delivered</div><div>2k open</div><div>4k devices.</div><div><br></div><div>Just change the example. Also the x-axis should be dates.</div><div><br></div><div>Thanks!</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 8, 2015 at 10:32 AM, Matthias Wessendorf <span dir="ltr">&lt;<a href="mailto:matzew@apache.org" target="_blank">matzew@apache.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">One thing: <span style="font-size:12.8px">I think the numbers on the chart are confusing, and incorrect.</span><div style="font-size:12.8px">It&#39;s usually not a ton of messages that are sent. that&#39;s more like 5 or 10 per day (speaking of vanilla marketing pushes). If more, I&#39;d UNINSTALL the damn app.<br></div><div style="font-size:12.8px">Therefore the &quot;app opened due to receiving push&quot; numbers are also not 100% correct here.</div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 8, 2015 at 2:59 PM, Matthias Wessendorf <span dir="ltr">&lt;<a href="mailto:matzew@apache.org" target="_blank">matzew@apache.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">:-) I like that too.<div><br></div><div>But Andres, again, awesome UX ! </div></div><div class="gmail_extra"><div><div><br><div class="gmail_quote">On Wed, Apr 8, 2015 at 2:46 PM, Sebastien Blanc <span dir="ltr">&lt;<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Wed, Apr 8, 2015 at 2:37 PM, Lukáš Fryč <span dir="ltr">&lt;<a href="mailto:lukas.fryc@gmail.com" target="_blank">lukas.fryc@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Looks good so far, Andres,<div><br></div><div>you are right, we want to show time-aggregated data, not particular events.<br><br>Idea:<br>My perspective might be very technical rather then marketing, but a pie chart with Push Network split would be interesting to me.<br></div></div></blockquote></span><div>+1 (or Donut :) ) </div><div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div></div><br><div class="gmail_quote">st 8. 4. 2015 v 14:12 odesílatel Andres Galante &lt;<a href="mailto:agalante@redhat.com" target="_blank">agalante@redhat.com</a>&gt; napsal:<div><div><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi,<br></div><div><br></div><div>With the new data we have I&#39;ve compared sent vs open messages on a chart for each App:</div><div><div><a href="https://rawgit.com/andresgalante/UPS/master/app-detail-analytics.html" target="_blank">https://rawgit.com/andresgalante/UPS/master/app-detail-analytics.html</a></div></div><div>(the x axis should be dates)<br></div><div><br></div><div>I am wondering if we can generate a ratio that&#39;s useful for a marketing person and show a benchmark comparing with other UPS users to know if the users campaign is successful or not. Something like: open/sent or device/open</div><div><br></div><div>I believe that to show the first and last time a message was open is not very useful. Maybe I am wrong, but, If we want to show an over time chart for each notification we should collect periodical data, for example # of open messages per hour to generate a linear graph that represents a day.</div><div><br></div><div>What do you think?</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 30, 2015 at 5:00 PM, Sébastien Blanc <span dir="ltr">&lt;<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div><br><br>Envoyé de mon iPhone</div><span><div><br>Le 30 mars 2015 à 21:31, Daniel Passos &lt;<a href="mailto:dpassos@redhat.com" target="_blank">dpassos@redhat.com</a>&gt; a écrit :<br><br></div><blockquote type="cite"><div><div dir="ltr">On Mon, Mar 30, 2015 at 12:29 PM, Sebastien Blanc <span dir="ltr">&lt;<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Folks ! <div><br></div><div>For AGPUSH-969[1] and to kick off the discussions,  I started a small POC mainly focused on the backend. To sum up quickly : we want to know how many installations/users has  opened the application after that a Push Notification has been touched. </div></div></blockquote><div><br></div>Let me see if I understood. UPS will send a message to the client and when the message be *read* (instead of delivered), the client will send a message back to the UPS saying: &quot;The message was read&quot;?<br> <br></div></div></div></div></blockquote></span>Yes , but let me be more specific here : us when the app is in the background or not running and that the user &quot;tap&quot; the notification <span><br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>So, the very first thing that had to be done was to give the Push Notification a unique identifier, so that we can track it and do the metrics on it.</div></div></blockquote><div><br></div><div>+1. Not only us (UPS) but also the backend app<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>For that, I have been using an existing model object that we have , the PushMessageInformation[2], and that is currently used to provide information for our dashboard.</div><div>This object has now some extra fields, like a appOpenCounter etc ... </div><div><br></div><div>The ID of this PushMessageInformation is now passed into the payload of the Push Message, just before we send it,  this way the client library can use this ID to pass extra information to the UPS when a notification is touched. </div><div>For this POC, I hijacked the cordova-helloworld, so that it extracts the ID from the payload and pass it as header when registering.</div></div></blockquote><div><br></div><div>The message back (from client to UPS) will be send every time the user _read_ that?<br></div></div></div></div></div></blockquote></span>Well normally that will only happen once per installation per Push message <span><br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>When the UPS receive the request, it looks for the header and if it exist it updates the existing PushMessageInformation instance. </div><div><br></div><div>Please note, that for this POC, all is happening on Application level and not on Variant level but that can be easily changed. It depends on how fined grained we want to have these analytics.</div><div><br></div><div>I did a small screencast that shows this in action : <a href="https://www.youtube.com/watch?v=PseBBJZLz6s&amp;feature=youtu.be" target="_blank">https://www.youtube.com/watch?v=PseBBJZLz6s&amp;feature=youtu.be</a></div><div><br></div><div>The UPS branch containing the changes is here (the 2 latests commits are relevant) : <a href="https://github.com/sebastienblanc/aerogear-unified-push-server/tree/analytics" target="_blank">https://github.com/sebastienblanc/aerogear-unified-push-server/tree/analytics</a></div><div><br></div><div>The client app is not really relevant since I really hacked badly the app (and the push plugin) ;) , however if interested I may share it.</div><div><br></div><div>Now, let&#39;s discuss :)</div><div><br></div><div>Sebi</div><div><br></div><div>[1] <a href="https://issues.jboss.org/browse/AGPUSH-969" target="_blank">https://issues.jboss.org/browse/AGPUSH-969</a></div><div>[2] <a href="https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/model/api/src/main/java/org/jboss/aerogear/unifiedpush/api/PushMessageInformation.java" target="_blank">https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/model/api/src/main/java/org/jboss/aerogear/unifiedpush/api/PushMessageInformation.java</a></div></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><br clear="all"><br>-- <br><div><div dir="ltr">-- Passos<br></div></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" target="_blank">aerogear-dev@lists.jboss.org</a></span><br><span><a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></span></div></blockquote></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>
______________________________<u></u>_________________<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/<u></u>mailman/listinfo/aerogear-dev</a></blockquote></div></div></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></div></div><br></div></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><br clear="all"><div><br></div>-- <br></div></div><div>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>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div>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><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></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>aerogear-dev mailing list</span><br><span><a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a></span><br><span><a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></span></div></blockquote></div></div></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></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></div></div><div><div><br><br clear="all"><div><br></div>-- <br><div>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>
<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></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></div></div><div><div><br><br clear="all"><div><br></div>-- <br><div>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></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></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></div></div>