<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>About geo-fencing, yes you are right: it's critical! Now I've not spare time for it but one of these days I'll come back with what I think about this, and what should / &nbsp;must be done, and why (in the user / service point of view).</div><div><br></div><div>See ya ;)</div><div><br>Enviado do meu iPad</div><div><br>No dia 07/04/2014, às 14:54, Burr Sutter &lt;<a href="mailto:bsutter@redhat.com">bsutter@redhat.com</a>&gt; escreveu:<br><br></div><blockquote type="cite"><div><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"><br><div><div>On Apr 7, 2014, at 9:00 AM, Miguel Lemos &lt;<a href="mailto:miguel21op@gmail.com">miguel21op@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">Yes, my friend. But the variety of what customers need is so wide, that you'll never meet all demands.<div><br><div>I see your service being used in the scope - in one end - of a full customized service that developers must build. The developers are supposed to develop. For instance in my case, i'll be happy if I know if the message has been forwarded to Google or Apple service. The filtering (analytics) you offer is too narrow, but I don't complain about it...</div></div></div></blockquote><div><br></div>At this time, we do not tell the user if the message was forwarded or not - the UI has no indication that a message has moved through the system. &nbsp;A newbie would like to know that something happened. &nbsp;Some basic metrics/analytics is helpful to giving a new user that warm-fuzzy feeling that the UPS is actually doing something, even if the push message does not make it out to the phone itself.</div><div><br><blockquote type="cite"><div dir="ltr"><div>
<div><br></div><div>On the other hand, your core service has yet some things that must be fixed / perfectionated (I'm talking only about Cordova). I also think that you should consider geo-tagged notifications, which is a very important need.&nbsp;</div></div></div></blockquote>I agree - but these things are not necessarily mutually exclusive :-)</div><div><br></div><div>On the Cordova side of things, I would like to know more about what needs fine-tuning. &nbsp;Docs? definitely need work</div><div>And our push plugin is a wee bit fat for Android, needs to go on a diet, dexing takes a while</div><div>And the JS API needed some clean-up, you have seen Erik's proposals on that item</div><div><br></div><div>We should have a thread to more fully flesh out geo-tagging/geo-fencing requirements - I also love that idea/feature and think it is critical. &nbsp;I know that Erik already produced an early prototype but I have not yet explored how it works, to see if it is cross-platform, battery efficient and relatively accurate (within a few KM of distance).</div><div><br></div><div><br></div><div><blockquote type="cite"><div dir="ltr"><div>
<div><br></div><div>IMHO the solutions Mathias wrote for using it some weeks ago (the phone sending its location to the server) is not the best one... </div></div></div></blockquote><div><br></div><div>Was this in the Aerodoc example? &nbsp;I can see a scenario where a developer would want this - basically, allow the end-user to set his "home" geo-location and perhaps "work" geo-location and not attempt to track the physical movement of the phone on a recurring basis. &nbsp; &nbsp;For instance, a sales rep often has specific geographic boundary that he works within (as seen in Aerodoc) but a consumer, visiting different malls, does not.</div><div><br></div><br><blockquote type="cite"><div dir="ltr"><div><div>But, again, this is only a opinion, the work you are doing so far is great, and I much appreciate it.</div></div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>
<div><br></div><div>Cheers</div><div><br></div><div>Miguel</div><div>&nbsp;</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 7, 2014 at 1:37 PM, Burr Sutter <span dir="ltr">&lt;<a href="mailto:bsutter@redhat.com" target="_blank">bsutter@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 style="word-wrap:break-word"><br><div><div class=""><div>On Apr 7, 2014, at 8:16 AM, Miguel Lemos &lt;<a href="mailto:miguel21op@gmail.com" target="_blank">miguel21op@gmail.com</a>&gt; wrote:</div>
<br><blockquote type="cite"><div dir="auto">I think developers must build their own back-ends and keep track of what they do.</div></blockquote><div><br></div></div><div>While I agree in theory, it is more difficult in practice. &nbsp;A single push server may be used by several developers across several different app teams, in that case, you will want some metrics/logging captured at the central point. &nbsp;Any given developer/team may misbehave quite badly. &nbsp; Our experience with multi-developer services has demonstrated that customers like having centralized logging/metric capture.</div>
</div><div><div class="h5"><div><br><blockquote type="cite"><div dir="auto"><div><br></div><div>This will be always the more flexible solution.</div><div><br></div><div>IMHO you must focus on the core of building a reliable and powerful push send service (includind the documentation part).<br>
<br>Enviado do meu iPhone</div><div><br>No dia 07/04/2014, às 13:09, Burr Sutter &lt;<a href="mailto:bsutter@redhat.com" target="_blank">bsutter@redhat.com</a>&gt; escreveu:<br><br></div><blockquote type="cite"><br><div><div>
On Apr 7, 2014, at 1:17 AM, Matthias Wessendorf &lt;<a href="mailto:matzew@apache.org" target="_blank">matzew@apache.org</a>&gt; wrote:</div><br><blockquote type="cite"><div dir="ltr"><div>Hello,<br></div><div><br></div><div>
for a first round of collection some more data around the usage of the push server (aka analytics/metrics), I'd propose we keep it very simple.</div><div><br></div>
<div>Overall, I see one major area of interest:</div><div>*metrics around push messages being sent:<br></div><div>- time of sending (using timezone of the server?)</div></div></blockquote></div><div><blockquote type="cite">
<div dir="ltr"><div>- group of receivers (e.g. everyone or the provided cirterias(e.g. alias, categories,...))</div>
<div>- payload (the entire payload, including custom keys - not only alert, sound, badge etc)</div><div><br></div></div></blockquote>As a developer, I wish to know if my 3 test devices all registered properly.</div><div>
As a developer, I wish to know if the push notification was sent to all 3 test devices properly (at least delivered to Apple/Google properly)</div><div>As a developer, I would like to know what were my past messages</div>
<div>As a push administrator, a business unit representative (e.g head of sales, warehouse manager) is going ask me if a particular message was sent to a particular user (alias) or user group (aliases or category).<br><blockquote type="cite">
<div dir="ltr"><div><br></div><div>This is a nice feature, and would enrich the UPS.</div><div><br></div><div><br></div><div>
However, I can see also some interest around device specific metrics:</div><div><br></div><div>Today we obivously store all the registered devices, but we also remove them from the database table if needed (to not send messages to phones that would no longer receive them anyways).</div>
</div></blockquote>I can see people wanting to just archive instead of delete those records - interesting data points would be:</div><div>- any commonality in device type</div><div>- a trend in date/time of removal</div><div>
- ratio of added/removed (user opted in vs out)</div><div><br></div><div>Is it possible to distinguish between app uninstall vs push notification disable (where the app remains installed)?</div><div><br></div><div><blockquote type="cite">
<div dir="ltr">
<div><br></div><div>Something that would be interesting as well, might be the following data:</div><div>- how often was an app has reached the push server &nbsp;(note: every time the app starts, the metadata of the server is being updated (see [2])</div>
</div></blockquote>would this be a good proxy for letting me know how often an end-user is using the app?<br><blockquote type="cite"><div dir="ltr">
<div>- number of device-tokens / registrationIDs that have been removed, when receiving errors from Apple/Google (see [3] or [4])</div><div>- number of devices, that were activly removed using our APIs (supported only on Android/SimplePush due to Apple policy, see [5])</div>

<div><br></div><div><br></div><div>While the initial focus should be around the message related metrics, capturing some device data is nice too.</div><div><br></div><div><br></div><div>Any thoughts ?&nbsp;</div><div><br></div>

<div>-Matthias</div><div><br></div><div><br></div><div>PS: Oh, for the longer run(...), I'd also like to see metrics like "was mobile app opened due to a push notification". BUT that also requires some more work/reseach on the client Push SDKs. But seriously, this is not a priority for the next few months!&nbsp;</div>

<div><br></div><div><br></div><div><br></div><div><br></div><div>[1] <a href="https://issues.jboss.org/browse/AGPUSH-116" target="_blank">https://issues.jboss.org/browse/AGPUSH-116</a></div><div>[2] <a href="https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/installations/InstallationRegistrationEndpoint.java#L98-L112" target="_blank">https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/installations/InstallationRegistrationEndpoint.java#L98-L112</a></div>

<div>[3] <a href="https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/push/src/main/java/org/jboss/aerogear/unifiedpush/message/sender/APNsPushNotificationSender.java#L87-L94" target="_blank">https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/push/src/main/java/org/jboss/aerogear/unifiedpush/message/sender/APNsPushNotificationSender.java#L87-L94</a></div>

<div>[4] <a href="https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/push/src/main/java/org/jboss/aerogear/unifiedpush/message/sender/GCMPushNotificationSender.java#L93-L94" target="_blank">https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/push/src/main/java/org/jboss/aerogear/unifiedpush/message/sender/GCMPushNotificationSender.java#L93-L94</a></div>

<div>[5] <a href="https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/installations/InstallationRegistrationEndpoint.java#L117-L119" target="_blank">https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/installations/InstallationRegistrationEndpoint.java#L117-L119</a></div>

<div><br></div><div><br></div>-- <br>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>
_______________________________________________<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></blockquote>
</div><br></blockquote><blockquote type="cite"><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></blockquote></div>_______________________________________________<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></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>
_______________________________________________<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></blockquote></div><br></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>