Open bittner opened 9 years ago
+1, just so I can track this. I'm interested in helping implement this.
As much as I liked that I fear that this isn't possible right now. The problem is: for real push notifications I would need a server which leads too privacy concerns and thus a great responsibility (and not to forget the server costs). That's out of the range of this project. I hope that there will be a way for Ubuntu Touch apps to run in background to check for messages, maybe using a routine which is called every minute. We'll see whether there will be a way in the future.
What about as an alternative, create an indicator that polls for messages every "X" seconds? I have found some hints on this (https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators), but I'm not even sure it works on ubuntu touch (seems like so but I'm not 100% sure). The API example is for python so it should not be a stretch... Here's some more information (once again, desktop focused, but it should be the same API) http://askubuntu.com/questions/158323/how-do-i-create-a-working-indicator-with-qt-c And this is also probably relevant: https://launchpad.net/sni-qt
Do you think this is a possible way to go?
The problem is: for real push notifications I would need a server which leads too privacy concerns and thus a great responsibility (and not to forget the server costs). That's out of the range of this project.
In addition to those problems, Google would probably block having too many different accounts using Hangouts from one IP. You'd have to let users self-host the server component.
Canonical currently polls Google servers already. Maybe their server already queries the online status, or we could ask them to also poll it? It's an interim solution for Canonical, so maybe they let us use it too.
Read more at "If Gmail can, why other apps can't?" on the ubuntu-phone mailing list.
@StuntsPT yeah, that's what I like to do but currently there's no way for apps to run in the background on Ubuntu Touch.
Humm... I was under the impression (I could be completely wrong, though) that if an app was on the indicator it did not get backgrounded (eg. networkmanager). I'll try to research this better tonight and report back.
@StuntsPT well, I don't think you can use this desktop-style indicators on Ubuntu Touch (or at least I haven't seen yet something like this :)). If it'd be possible, this wouldn't solve the problem, the app would probably still get suspended when it has no active focus.
So, after researching this topic, here's what I have figured:
This might also be relevant: https://bugs.launchpad.net/dekko/+bug/1421923
"Dekko", and email client also had issues with notifications. We can try to solve it the same way they do... https://plus.google.com/101390620047921378812/posts
Yup, Dekko is using account-polld
@StuntsPT thanks for your research. account-polld might be a possibility. I think they stated that it's just meant as an interim solution though.
You're welcome! Yes, it's in interim solution... until google eventually support the Ubuntu push notifications system. When/if that happens, switching to push notifications should be rather trivial.
@StuntsPT will this ever happen? 0.0
I think it's too early to tell. Ubuntu touch is doing better than most have anticipated, but not as well as the most optimistic predictions. If it does happen it will be in the long term - most likely longer than the life expectancy of our current phones. xD
@StuntsPT yep agree, I doubt this will happen at all. Unless @google turns out to be super awesome :)
@tim-sueberkrueb look here. Get this number up 100 fold and it might just happen. But that's OT.
Tonight I'll research the use of account-polld
and see where that leaves us.
@tim-sueberkrueb I think this should be what we need: http://bazaar.launchpad.net/~nikwen/account-polld/imap-mails/view/head:/plugins/gmail/gmail.go I did not go deep into it... how much would it need to be modified to get hangouts notifications? Maybe @tdryer could provide us with a hint on this?
I did not go deep into it... how much would it need to be modified to get hangouts notifications?
You'd have to port some things to Go, but for simple polling all you'd need is a stripped-down hangups.Client
, which should be pretty simple.
@tdryer Thanks! I'll take a stab at that during the weekend if I have the chance.
Also, @tim-sueberkrueb look here: http://nikwen.github.io/ubuntu/2015/09/17/my-work-on-email-notifications.html Notification problem and (possible) solution explained in detail.
You cannot install a plug-in for accounts-polld in an application package, so that is not an option. The accounts-polld will also go away when the services it currently has plug-ins for get push notifications. The only plug-in being used in accounts-polld now I think is for Twitter.
@dobey ok, what about GMail notifications? Well, yeah, this would've required cooperation with Canonical or publishing it to the open store. That wouldn't be optimal of course :| I'd really like to see a proper solution for background processing from Canonical's side for this. See https://bugs.launchpad.net/ubuntu-application-lifecycle/+bug/1532221.
At the moment Hangups doesn't notify a user about new incoming messages. That's partly because an application falls asleep as soon as it goes into the background. Push notifications are needed to address this problem. Without push notifications any messaging app makes only limited sense. (Users will complain soon.)
The Ubuntu push notification framework provides a server-side API to deliver notifications to registered clients regardless of whether the app is active or even started. When a push notification arrives the notification control would activate the app (when the user clicks on a notification).
References
Some findings from a (rather superficial) research: