<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Notifications: Out of the comfort zone?]]></title><description><![CDATA[<p dir="auto">Hello,</p>
<p dir="auto">seems like questions about notifications turn up every other day or so. Main questions are:</p>
<ol>
<li>Will notifications continue to work (actually only Telegram-related it seems)?</li>
<li>How about putting notifications into Dekko (or other Apps) without a push server?</li>
</ol>
<p dir="auto"><strong>Regarding question 1</strong>: Currently notifications are being pulled from the Canonical push servers, which in turn receive them from some 3rd party source (e.g. Telegram servers). So easy answer, as soon as Canonical turns off the push servers, our notifications will cease to function.</p>
<p dir="auto">UBports currently has no plans to replicate the push server infrastructure. First of all the code for the push service is not open-source, and we cannot just fork it and continue. Then, many people said they dont want to have the user´s private data on any server. The plan is still to replace the central push server architecture with local pushed messages. But no details are agreed up to now.</p>
<p dir="auto"><strong>Regarding question 2</strong>: You saw from question 1 that there is more infrastructure in play than just the phone itself. For example, email protocols are not well prepared for push notifications: POP3 does not have any part in the protocol that can deal with that, and IMAP has limited support, the client needs to subscribe for folder change notifications, but then needs to stay online. If the client times out (loss of network, sleep mode etc) the server will remove that subscriptions, and nothing gets pushed.</p>
<p dir="auto">In fact most of the services that were not written with mobile disconnected devices in mind will not cover that request. So its not only on UBports side that this is a problem. That´s why Apps were developed, why new services were created, and why old services (lile emails) loose traction.</p>
<p dir="auto"><strong>Here is my personal opinion</strong>, and not the official one from UBports: We will require a push server (actually a few nodes for scaling &amp; redundancy). Most 3rd parties that support notifications will not want the traffic of devices constantly polling from their servers (and creating full sessions jsut to close them again), and they are used to work with push servers from Google &amp; Apple. Then, the preparation of the notification can be done on the server, and the polling is very cheap (No complex session with lots of crypto handshake etc). However, they shall be SSL-encrypted at least.</p>
<p dir="auto">Every direct check from the client every x minutes costs battery. If every App checks itself this is multiplied. So for data transfer, CPU &amp; battery savings, I think this is necessary. The details of the data storage can be discussed (even full encrypted data is maybe possible).</p>
<p dir="auto">For Dekko: It´s a mailbox security issue: For the push server to check for mails, he would need the current username &amp; password (though password can be hashed and is not in plaintext) to query your mailboxes. I think push notifications for traditional mailboxes are almost impossible.</p>
<p dir="auto">BR</p>
]]></description><link>https://forums.ubports.com/topic/235/notifications-out-of-the-comfort-zone</link><generator>RSS for Node</generator><lastBuildDate>Fri, 08 May 2026 14:59:06 GMT</lastBuildDate><atom:link href="https://forums.ubports.com/topic/235.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 18 May 2017 08:41:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Mon, 22 May 2017 10:39:26 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/flohack" aria-label="Profile: Flohack">@<bdi>Flohack</bdi></a> I know that any DBus call - except for some - is by default denied by AppArmor, therefore we should for sure update the confinement AA templates.<br />
I think we'd probably need to define a new AppArmor profile for headless apps, in order to prevent e.g. usage of the UriHandler service</p>
]]></description><link>https://forums.ubports.com/post/1365</link><guid isPermaLink="true">https://forums.ubports.com/post/1365</guid><dc:creator><![CDATA[sverzegnassi]]></dc:creator><pubDate>Mon, 22 May 2017 10:39:26 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Mon, 22 May 2017 06:50:00 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/sverzegnassi" aria-label="Profile: sverzegnassi">@<bdi>sverzegnassi</bdi></a> regarding the headless app... Can´t we work with DBus to communicate between all these things? The Apps should have access there?</p>
<p dir="auto">BR</p>
]]></description><link>https://forums.ubports.com/post/1362</link><guid isPermaLink="true">https://forums.ubports.com/post/1362</guid><dc:creator><![CDATA[flohack]]></dc:creator><pubDate>Mon, 22 May 2017 06:50:00 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Sun, 21 May 2017 12:21:25 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/leppa" aria-label="Profile: Leppa">@<bdi>Leppa</bdi></a> Its already made like this, basically, you got a local notifications API that you can call. The text messaging is made like this, SD card status etc. But what all people seem to forget, it´s not about how to display the notifications locall but how to send them to the device in case they come from a remote service.</p>
<p dir="auto">So how in your case you deal with pending notifications on the telegram server? Or other services like that? Imagine a trading App that monitors your stocks, and gives you alerts every lets say 10mins?</p>
<p dir="auto">By not having a push server infrastructure we need to let all Apps run in foreground so that they are able to see smth has changed.</p>
]]></description><link>https://forums.ubports.com/post/1343</link><guid isPermaLink="true">https://forums.ubports.com/post/1343</guid><dc:creator><![CDATA[flohack]]></dc:creator><pubDate>Sun, 21 May 2017 12:21:25 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Sun, 21 May 2017 12:10:32 GMT]]></title><description><![CDATA[<p dir="auto">Could we not have notifications locally stored in RAM? If an app wants to generate a notification, it simply needs to instantiate it and add it to some array. Simply regulate that array, limit the amount of notifications an app can have at one time, and there you go.</p>
]]></description><link>https://forums.ubports.com/post/1342</link><guid isPermaLink="true">https://forums.ubports.com/post/1342</guid><dc:creator><![CDATA[Leppa]]></dc:creator><pubDate>Sun, 21 May 2017 12:10:32 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Sun, 21 May 2017 05:16:15 GMT]]></title><description><![CDATA[<p dir="auto">I think that everyone would be happy with a notification server, if we were 100% sure that it was secure and that no one would have access to our notifications. Unfortunately, in real life this is very different to achieve.</p>
<p dir="auto">Here's my brainstorming on the subject:</p>
<ol>
<li>
<p dir="auto">the notifications will be sent in encrypted form from then originating service (e.g., telegram) to the notification server. Only the ID of the destination user account will be left in clear (or encrypted with a key provided by the notification server), so that the notification server can read it and push the notification to the proper device. But the notification server should not have access to the contents of the notification, which will be encrypted in a way that only the destination device can decrypt.</p>
</li>
<li>
<p dir="auto">if the option above is too difficult to implement, then I propose that the messages sent to the notification server should only contain the ID of the destination user: so, Telegram (for example) will inform the notification server that user X has something new, without specifying any further information. Then, the notification server will send a push notification to user X's device, telling it that there's something new in Telegram. The Telegram app will have to implement a push notification client consisting of a UI-less binary which will connect to the telegram servers, check what's new, and generate the JSON notification messages. If we plan this right, it should be possible to use the same binaries for this goal and for account-polld, which would make developers' life easier when switching between account-polld and the push notifications.</p>
</li>
</ol>
]]></description><link>https://forums.ubports.com/post/1339</link><guid isPermaLink="true">https://forums.ubports.com/post/1339</guid><dc:creator><![CDATA[mardy]]></dc:creator><pubDate>Sun, 21 May 2017 05:16:15 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Fri, 19 May 2017 13:26:14 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/garro" aria-label="Profile: garro">@<bdi>garro</bdi></a> That's how ContentHub already works, when it's possible. However there are apps that performs a local copy. The first example I can think of is DocViewer: if an app requires to export a document in ~/Documents, it needs to copy the file, since it has to be publicly available even if the other app is uninstalled, or its private data are deleted.</p>
]]></description><link>https://forums.ubports.com/post/1320</link><guid isPermaLink="true">https://forums.ubports.com/post/1320</guid><dc:creator><![CDATA[sverzegnassi]]></dc:creator><pubDate>Fri, 19 May 2017 13:26:14 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Fri, 19 May 2017 12:13:52 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/sverzegnassi" aria-label="Profile: sverzegnassi">@<bdi>sverzegnassi</bdi></a> What about using links instead of local copies? This would solve the space issue while still keeping almost the same granularity that UT currently ships and that I really appreciate a lot.</p>
]]></description><link>https://forums.ubports.com/post/1318</link><guid isPermaLink="true">https://forums.ubports.com/post/1318</guid><dc:creator><![CDATA[garro]]></dc:creator><pubDate>Fri, 19 May 2017 12:13:52 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Fri, 19 May 2017 14:48:47 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/neothethird" aria-label="Profile: NeoTheThird">@<bdi>NeoTheThird</bdi></a> Sorry, I misunderstood your words - it's not your fault - I just thought micro-services -&gt; daemons. <img src="https://forums.ubports.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=56a73af4c47" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
<p dir="auto">That's something that would allow us to effectively keep control of what's running in background.<br />
However, some of my observations are still valid; I suggest you to give a look at the "Headless apps" for BBOS10, it's worth a read.</p>
<p dir="auto"><a href="https://developer.blackberry.com/native/documentation/device_platform/headless_apps/" target="_blank" rel="noopener noreferrer nofollow ugc">Headless apps - BlackBerry Native</a></p>
<p dir="auto">We'd need to limit CPU and memory usage for background services, a network bandwidth limitation would be desirable too. Also, services should be forced to complete their tasks within 20 seconds, in order to preserve battery life.</p>
<p dir="auto">See <a href="https://developer.blackberry.com/native/documentation/device_platform/headless_apps/#resourcemanagement" target="_blank" rel="noopener noreferrer nofollow ugc">Resource Management for Headless apps</a>.</p>
<p dir="auto">However that wouldn't solve some security concerns - we'd still need to provide a certain amount of isolation between the micro-service/headless-app and the main GUI. This would require a change in the Click package specifications, and we come back to the (infamous) question we still have to answer: Click, Snap or what else?</p>
<p dir="auto">If there's something I like of the Maemo/Meego/SailfishOS implementation, that is its simplicity. It's pretty straightfoward to implement "local" notifications that way.<br />
I still prefer a BBOS-like solution, but I think that we should initially focus on how to get dekko and telegram-app notifications working, understand their requirements, and then see which solution fits better.</p>
<p dir="auto">-- About ContentHub,<br />
I've been using it in almost all of my projects, from the DocumentViewer to InstantFX, with the authorization from the Canonical Security Team to use the "extra" permissions granted to Core Apps, or even fighting for sorting out a good user experience for an application (InstantFX) that requires a persistent access to user's Pictures folder.</p>
<p dir="auto">There's for sure some problem with ContentHub: although it has seen an increase of its capabilities (e.g. print and clipboard support), its model has never changed since 2013. I recall that a mime type filtering (instead of those "well-known" content types) has been promised some years ago, but never landed.</p>
<p dir="auto">I believe that user's public data (in "~/&lt;xdg_user_directories&gt;") should be consumed by any app or device that requires it. Otherwise there wouldn't be any need for data to be saved there, but we'd use apps private folders instead.</p>
<p dir="auto">However I still think that ContentHub might be useful for those applications that doesn't require a persistent access to user's folder.</p>
<p dir="auto">In any case, we might also want to change the ContentHub experience a bit:</p>
<ul>
<li>We may want to keep the current "peers model" for accessing private data owned by a single application. This is how it works now, and it's perfect for such scenario.</li>
<li>We may want to add a file picker UI directly in the ContentHub - like in Android. That'd be useful with public data, once we have mime type support.</li>
</ul>
<p dir="auto">Canonical wanted to enhance security. That came at a cost: applications can only access to their local copy of a file.<br />
I think the keyword here should be "privacy": applications can access user's data, but we explicitly inform the user of any change or access to her folder.</p>
<p dir="auto">I think we should get in touch with previous ContentHub maintainer: if there's a way to change AppArmor restriction during the app executions, adding some temporary read permission, that would be great.</p>
<p dir="auto">Generally speaking: major issues are:</p>
<ul>
<li>Content export: the app loses focus, therefore the user flow is interrupted.</li>
<li>Content peer UI: e.g. gallery-app, it's not much usable, IMHO</li>
<li>Well-known content types: not something really flexible.</li>
</ul>
<p dir="auto">Content import is annoying - that's true - and I'd like things to be handle differently. However receiving a copy of the original file is not so traumatic yet, if well handled.</p>
]]></description><link>https://forums.ubports.com/post/1315</link><guid isPermaLink="true">https://forums.ubports.com/post/1315</guid><dc:creator><![CDATA[sverzegnassi]]></dc:creator><pubDate>Fri, 19 May 2017 14:48:47 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Fri, 19 May 2017 10:10:46 GMT]]></title><description><![CDATA[<p dir="auto">Only an idea to realize notifications without loosing privacy: Should we bulid an <a href="https://ethereum.org/" target="_blank" rel="noopener noreferrer nofollow ugc">ethereum</a> blockchain <a href="http://dapps.ethercasts.com/" target="_blank" rel="noopener noreferrer nofollow ugc">Dapp</a> running on the UBports server?</p>
]]></description><link>https://forums.ubports.com/post/1312</link><guid isPermaLink="true">https://forums.ubports.com/post/1312</guid><dc:creator><![CDATA[Bastos]]></dc:creator><pubDate>Fri, 19 May 2017 10:10:46 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Fri, 19 May 2017 08:48:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/flohack" aria-label="Profile: Flohack">@<bdi>Flohack</bdi></a> Exactly, when the phone connects to it asking for them</p>
]]></description><link>https://forums.ubports.com/post/1311</link><guid isPermaLink="true">https://forums.ubports.com/post/1311</guid><dc:creator><![CDATA[garro]]></dc:creator><pubDate>Fri, 19 May 2017 08:48:07 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Fri, 19 May 2017 07:51:30 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/neothethird" aria-label="Profile: NeoTheThird">@<bdi>NeoTheThird</bdi></a> said in <a href="/post/1308">Notifications: Out of the comfort zone?</a>:</p>
<blockquote>
<p dir="auto">ack with the screen switched off, which is a really nice fea</p>
</blockquote>
<p dir="auto">I think it's an essential feature</p>
]]></description><link>https://forums.ubports.com/post/1310</link><guid isPermaLink="true">https://forums.ubports.com/post/1310</guid><dc:creator><![CDATA[uzanto]]></dc:creator><pubDate>Fri, 19 May 2017 07:51:30 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Thu, 18 May 2017 23:42:41 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/sverzegnassi" aria-label="Profile: sverzegnassi">@<bdi>sverzegnassi</bdi></a> Ok, i did not express myself clearly there: My point was to not let every app break the confinement rules and create their own background services, my point was to create a unified master-service that applications can then can ask to register their own service on (with the user moderating it). This is not only useful for notification services, but also for other background services like music playback with the screen switched off, which is a really nice feature.</p>
<p dir="auto">I totally agree with you, we can't have every app going around being a cowboy, but practicality beats purity. We should definitely restrict closed-source apps from breaking confinement, but of course this is no guarantee for safety either. You can easily hide malicious functionality in a block of obscure code... We should not panic too much about this, though.</p>
<p dir="auto">Tangent:<br />
Some points of confinement will have to be over-thought, like the content-hub for example. Of course it makes sense to have rules in place, but practicality beats purity. A calculator app does not need to have write access to the home folder, for example, but a text editor does. And creating local copies for <em>everything</em> seems a little weird...</p>
]]></description><link>https://forums.ubports.com/post/1308</link><guid isPermaLink="true">https://forums.ubports.com/post/1308</guid><dc:creator><![CDATA[NeoTheThird]]></dc:creator><pubDate>Thu, 18 May 2017 23:42:41 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Thu, 18 May 2017 22:03:59 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/neothethird" aria-label="Profile: NeoTheThird">@<bdi>NeoTheThird</bdi></a><br />
If I try to understand the strategy Canonical used for writing the current platform limitations, I see that running daemons - without any particular limitation - might turn to be too risky.</p>
<p dir="auto">There's already some way someone could potentially write an app that "soft-bricks" the device, but the only thing that prevents it is the absence of daemons - yep, it's something very stupid I've tried some time ago. XD<br />
This is clearly one of the bad scenarios I can think of right now, but it's still something to consider if you want to change the current strong confinement policies, IMO.</p>
<p dir="auto">We actually need to think at a solution - that's true - which could be something similar to BlackBerryOS 10, or just running a daemon like in SailfishOS (BTW, apps with daemons are not allowed to be released in the SFOS store).<br />
In any case, if we want to allow applications to be run as daemons, then, I would suggest that those apps needs to be open source, in order to be manually examined before they get released on the Open Store.</p>
]]></description><link>https://forums.ubports.com/post/1307</link><guid isPermaLink="true">https://forums.ubports.com/post/1307</guid><dc:creator><![CDATA[sverzegnassi]]></dc:creator><pubDate>Thu, 18 May 2017 22:03:59 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Thu, 18 May 2017 21:43:10 GMT]]></title><description><![CDATA[<p dir="auto">We can't live without any background services forever, so would it maybe be possible to have a background daemon where applications can register micro-services that the user can allow or block? That way applications could have stripped-down background options (to poll for notifications, for example) and the user could decide between functionality or battery life and you don't need a notification server and everything can be done on the client-side. I understand that it would be a lot of work and it's probably only feasible for the non-legacy, but might that be an option?</p>
]]></description><link>https://forums.ubports.com/post/1306</link><guid isPermaLink="true">https://forums.ubports.com/post/1306</guid><dc:creator><![CDATA[NeoTheThird]]></dc:creator><pubDate>Thu, 18 May 2017 21:43:10 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Thu, 18 May 2017 21:42:27 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ernest" aria-label="Profile: ernest">@<bdi>ernest</bdi></a> <a class="plugin-mentions-user plugin-mentions-a" href="/user/flohack" aria-label="Profile: Flohack">@<bdi>Flohack</bdi></a></p>
<p dir="auto">If we're talking about Sailorgram, the app is launched at startup, running as a daemon invoked by systemd. When the user taps its icon in the apps launcher, a message is sent to the app via DBus, requiring to show the GUI. When the user close that GUI, the main process keeps running in background.</p>
<p dir="auto">This might be a solution, but it involves a revision of the confinement policies and the whole app life-cycle story.<br />
EDIT: I'd like to make it clear, daemons are something shouldn't be implemented in the current platform, IMHO, since they might be a bit dangerous... :X</p>
]]></description><link>https://forums.ubports.com/post/1305</link><guid isPermaLink="true">https://forums.ubports.com/post/1305</guid><dc:creator><![CDATA[sverzegnassi]]></dc:creator><pubDate>Thu, 18 May 2017 21:42:27 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Thu, 18 May 2017 16:15:37 GMT]]></title><description><![CDATA[<p dir="auto">Could we just store the notifications locally? There's no real advantage to not doing it.</p>
]]></description><link>https://forums.ubports.com/post/1303</link><guid isPermaLink="true">https://forums.ubports.com/post/1303</guid><dc:creator><![CDATA[Leppa]]></dc:creator><pubDate>Thu, 18 May 2017 16:15:37 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Thu, 18 May 2017 14:43:41 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/garro" aria-label="Profile: garro">@<bdi>garro</bdi></a> Can you explain? You mean you run a separate software on your Desktop which will create the notifications and send them to the phone?</p>
<p dir="auto">BR</p>
]]></description><link>https://forums.ubports.com/post/1301</link><guid isPermaLink="true">https://forums.ubports.com/post/1301</guid><dc:creator><![CDATA[flohack]]></dc:creator><pubDate>Thu, 18 May 2017 14:43:41 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Thu, 18 May 2017 14:42:50 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ernest" aria-label="Profile: ernest">@<bdi>ernest</bdi></a> I dont know, maybe you can find out?<br />
BR</p>
]]></description><link>https://forums.ubports.com/post/1300</link><guid isPermaLink="true">https://forums.ubports.com/post/1300</guid><dc:creator><![CDATA[flohack]]></dc:creator><pubDate>Thu, 18 May 2017 14:42:50 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Thu, 18 May 2017 13:48:28 GMT]]></title><description><![CDATA[<p dir="auto">How does Sailfish handles telegram notification ? I'm not sure that their telegram app is officially supported.</p>
]]></description><link>https://forums.ubports.com/post/1298</link><guid isPermaLink="true">https://forums.ubports.com/post/1298</guid><dc:creator><![CDATA[ernest]]></dc:creator><pubDate>Thu, 18 May 2017 13:48:28 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Thu, 18 May 2017 12:19:25 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/flohack" aria-label="Profile: Flohack">@<bdi>Flohack</bdi></a> Is not possile to poll the servers through Telegram APIs, as we would without the push service or when you are on the desktop? The same you could do with e-mails.<br />
The Workstation/server wouldn't have battery problems, so it's not a problem to poll frequently.</p>
]]></description><link>https://forums.ubports.com/post/1296</link><guid isPermaLink="true">https://forums.ubports.com/post/1296</guid><dc:creator><![CDATA[garro]]></dc:creator><pubDate>Thu, 18 May 2017 12:19:25 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Thu, 18 May 2017 10:52:04 GMT]]></title><description><![CDATA[<p dir="auto">I'm starting to understand the complexity of notifications without the support of Canonical. It looks like we will have to go back to SMS for a while, fortunately they are free at least for me nowadays.</p>
]]></description><link>https://forums.ubports.com/post/1295</link><guid isPermaLink="true">https://forums.ubports.com/post/1295</guid><dc:creator><![CDATA[wgarcia]]></dc:creator><pubDate>Thu, 18 May 2017 10:52:04 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Thu, 18 May 2017 10:51:51 GMT]]></title><description><![CDATA[<p dir="auto">As for question 2, when I was working in Canonical I made a change to account-polld (the service which gets invoked every 5 minutes in your device to check if you have new notifications for any of your accounts) and I rewrote it in order to allow third party developers to write plugins for it.<br />
Plugins are in fact separate processes which communicate with the daemon via JSON messages (in a format similar to the one used by the push server), so they can be written in any language.</p>
<p dir="auto">The code for the service is here: <a href="https://github.com/mardy/account-polld" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/mardy/account-polld</a><br />
The existing plugins (written in Go) are here: <a href="https://github.com/mardy/account-polld-plugins-go" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/mardy/account-polld-plugins-go</a></p>
<p dir="auto">Unfortunately these changes got never merged into trunk, so if someone is making new images, please use the links above for building these components.</p>
<p dir="auto">I'm willing to maintain and develop further these components in my spare time (same goes for the Online Accounts feature which I was maintaining in Ubuntu), so feel free to reach out to me in case you have questions on how to use them.</p>
]]></description><link>https://forums.ubports.com/post/1294</link><guid isPermaLink="true">https://forums.ubports.com/post/1294</guid><dc:creator><![CDATA[mardy]]></dc:creator><pubDate>Thu, 18 May 2017 10:51:51 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Thu, 18 May 2017 10:43:17 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/garro" aria-label="Profile: garro">@<bdi>garro</bdi></a> said in <a href="/post/1287">Notifications: Out of the comfort zone?</a>:</p>
<blockquote>
<p dir="auto">uld run the program on their own workstation, so this is not a so big problem, in my opinion. Anyway the data should be stored in</p>
</blockquote>
<p dir="auto">No thats not so easy. Services like Telegram want to send actually notifications to one service only. If we can get the same agreement like Canonical had with Telegram they will require actually us to accept their data flow on a stable server. How we could get individual agreements with all users towards Telegram <img src="https://forums.ubports.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=56a73af4c47" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";)" alt="😉" /></p>
]]></description><link>https://forums.ubports.com/post/1293</link><guid isPermaLink="true">https://forums.ubports.com/post/1293</guid><dc:creator><![CDATA[flohack]]></dc:creator><pubDate>Thu, 18 May 2017 10:43:17 GMT</pubDate></item><item><title><![CDATA[Reply to Notifications: Out of the comfort zone? on Thu, 18 May 2017 10:42:01 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/tomoqv" aria-label="Profile: tomoqv">@<bdi>tomoqv</bdi></a> said in <a href="/post/1288">Notifications: Out of the comfort zone?</a>:</p>
<blockquote>
<p dir="auto">s too difficult to implement, maybe there could be some kind of "pull service" that could be enabled/disabled on a per app basis?</p>
</blockquote>
<p dir="auto">Yes basically possible. Only disadvantage is that every App has to implement a "lean worker" that does some job and can be called form the outside, optionally allowing forceful termination if it hangs or suddenly consumes 100% CPU etc. For example in Telegram that means to establish a full session to the network, filter groups that are not muted, count the messages and finally send the result locally. The session initiation in Telegram is not cheap - its heavy lifting, because it is expected to do it only once. And thats causing battery drain. One App is ok, imagine several messengers, sync clients (calendars) etc. All of them need to make their heavy session construct &amp; teardown every 5mins or so... Thats why push was invented xD</p>
]]></description><link>https://forums.ubports.com/post/1292</link><guid isPermaLink="true">https://forums.ubports.com/post/1292</guid><dc:creator><![CDATA[flohack]]></dc:creator><pubDate>Thu, 18 May 2017 10:42:01 GMT</pubDate></item></channel></rss>