[Development] Repository request: Qt Notifier

Jason H jhihn at gmx.com
Tue Jan 16 18:22:34 CET 2018



> Sent: Tuesday, January 16, 2018 at 9:18 AM
> From: "Konstantin Tokarev" <annulen at yandex.ru>
> To: "Shawn Rutledge" <shawn.rutledge at qt.io>, "development at qt-project.org" <development at qt-project.org>
> Subject: Re: [Development] Repository request: Qt Notifier
>
> 
> 
> 16.01.2018, 17:05, "Shawn Rutledge" <shawn.rutledge at qt.io>:
> >>  On 16 Jan 2018, at 14:49, Kari Oikarinen <kari.oikarinen at qt.io> wrote:
> >>
> >>  On 15.01.2018 17:25, Ryan Chu wrote:
> >>>  Hi all,
> >>>  I'm working on a task supporting "Push Notification" for Qt applications. This feature will be implemented on Android and iOS devices as the first stage. A new module called "Qt Notify" will be created for all platforms. Therefore I request a repository.
> >>
> >>  This sounds like it overlaps with qtcloudmessaging which also seems
> >>  to be about push notifications? Or are they actually about something
> >>  different and I'm mixing things?
> >>
> >>  http://blog.qt.io/blog/2018/01/02/qt-cloud-messaging-api-available-embedded-systems/
> >
> > Good catch. So is the API suitable for expanding to mainstream platforms?
> >
> > Also “Qt Notifications” sounds too generic to me, and maybe a bit misleading… we know we need to add support for system/desktop notifications (like the sidebar on macOS, and other UIs on Android and iOS and others) and some work was supposed to be in the pipeline for that at some point - not that it needs its own repo, but this concept might still be the first association for many people. Cloud-based notification is more specific.
> 
> Is cloud aspect so principal? Can there be "non-cloud" backend which just uses persistent
> HTTP connection, e.g. with nginx-push-stream-module on the server side?
> 

Sure, actually no connection at all is needed. As someone who made android apps with local and push notifications, I can tell you that there are a few differences between local and push notifications.

Notes on local (non-cloud) notifications:
- Toner low 
- Network disconnected
- Calendar alarm or local timer event
- Processing completed (local worker)
- No special permission required on mobile
- Can invoke the application on receipt

Notes on push notifications:
- Processing completed (remote job)
- Someone messaged you
- Can come from a variety of backends (Firebase (Google), APNS (Apple), Amazon, V-Play, etc)
- Permissions are/may be required on mobile
- Will be stored & forwarded by the provider
- Can invoke the application on receipt
- Not all providers use the same schema on all platforms (Firebase schema is different on iOS vs Android)

Notifications were once a mobile phenomenon, but have extended to include all the major Desktop environents. 

I would hope that whatever Qt provides would be structured in such a way that remote notifications use the same as local notifications, and that we can just plug in whatever backends we are using. 



More information about the Development mailing list