Re: [Development] Repository request: Qt Notifier

2018-01-17 Thread Jason H

Please note that I have an issue: https://bugreports.qt.io/browse/QTBUG-44804 about notifications. Though I titled it wrong with "sending" which should be "receiving".

 

I did successfully integrate Firebase on Android and iOS. I'm not sure what help you need, but I can give parts of my existing code. I don't know what has been done already though so I don't know how helpful it will be. 

 

 

Sent: Wednesday, January 17, 2018 at 3:41 AM
From: "Ari Salmi" <ari.sa...@snowgrains.com>
To: "development@qt-project.org" <development@qt-project.org>
Subject: Re: [Development] Repository request: Qt Notifier



Hi there,

 

Thanks for asking:

 

>Ari: can you give (or point us to, if it's already written up) an 
>over-view of what's supported, on which platforms, and how far the API, 
>seen by Qt code using it, is independent of choice of back-end ? 
>How far is it dependent on the Kaltiot service ? What is that ? 
>The blog post looks promising, at least :-) 

 

The purpose of the Qt Cloud messaging is to provide possibility to wrap platform specific push notification backend or implement full cross platform with Qt’s own components (e.g. against customer’s own backend). API itself is independent of the backend - developer can choose which one to use for his/her product. Or can implement (and contribute) own backend as well.

 

Wrappers at the moment in QtCloudMessaging are:

- Firebase Cloud Messaging support for Android and iOS

- And Kaltiot embedded devices notification services. Kaltiot SDK also works on desktops so 

 

Kaltiot is a embedded notification service provider which is capable of handling, managing production level amount of devices (I guess there are no limit when negotiated with Kaltiot). Currently Kaltiot wrapper includes push notification service parts against their SDK. 
 

 

Going forward, next steps on this are to fine tune the SDK API. And find more fluent way to configure wrapped SDKs to make first time usage easier (currently needs few env. variables to point e.g. to downloaded Firebase SDK etc.) as it will help to implement more platform specific SDKs as backend. All the help on these are appreciated !

 

Current usage:

There are few customers using this wrapper already in their mobile app production against Firebase. 

Also Kaltiot customer base is now growing due this. 

 

So I guess time used for creating this has been worthwhile and gives more opportunities to Qt be on the chosen platform for device & app development :)

 

Br, Ari
 

Päällä 16 January 2018 klo 22.10.09, Samuel Gaist (samuel.ga...@edeltech.ch) kirjoitti:



 


> On 16 Jan 2018, at 15:04, Shawn Rutledge <shawn.rutle...@qt.io> wrote:
>
>
>> On 16 Jan 2018, at 14:49, Kari Oikarinen <kari.oikari...@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.

Hi,

The work you are thinking about is likely this one: https://codereview.qt-project.org/#/c/166456/. I’d be happy to reactivate it.

Cheers

Samuel
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development 


___ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development




___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Repository request: Qt Notifier

2018-01-17 Thread Ari Salmi
Hi there,

Thanks for asking:

>Ari: can you give (or point us to, if it's already written up) an 
>over-view of what's supported, on which platforms, and how far the API, 
>seen by Qt code using it, is independent of choice of back-end ? 
>How far is it dependent on the Kaltiot service ? What is that ? 
>The blog post looks promising, at least :-) 

The purpose of the Qt Cloud messaging is to provide possibility to wrap 
platform specific push notification backend or implement full cross platform 
with Qt’s own components (e.g. against customer’s own backend). API itself is 
independent of the backend - developer can choose which one to use for his/her 
product. Or can implement (and contribute) own backend as well.

Wrappers at the moment in QtCloudMessaging are:
- Firebase Cloud Messaging support for Android and iOS
- And Kaltiot embedded devices notification services. Kaltiot SDK also works on 
desktops so 

Kaltiot is a embedded notification service provider which is capable of 
handling, managing production level amount of devices (I guess there are no 
limit when negotiated with Kaltiot). Currently Kaltiot wrapper includes push 
notification service parts against their SDK. 

Going forward, next steps on this are to fine tune the SDK API. And find more 
fluent way to configure wrapped SDKs to make first time usage easier (currently 
needs few env. variables to point e.g. to downloaded Firebase SDK etc.) as it 
will help to implement more platform specific SDKs as backend. All the help on 
these are appreciated !

Current usage:
There are few customers using this wrapper already in their mobile app 
production against Firebase. 
Also Kaltiot customer base is now growing due this. 

So I guess time used for creating this has been worthwhile and gives more 
opportunities to Qt be on the chosen platform for device & app development :)

Br, Ari

Päällä 16 January 2018 klo 22.10.09, Samuel Gaist (samuel.ga...@edeltech.ch) 
kirjoitti:


> On 16 Jan 2018, at 15:04, Shawn Rutledge  wrote:  
>  
>  
>> On 16 Jan 2018, at 14:49, Kari Oikarinen  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.  

Hi,  

The work you are thinking about is likely this one: 
https://codereview.qt-project.org/#/c/166456/. I’d be happy to reactivate it.  

Cheers  

Samuel  
___  
Development mailing list  
Development@qt-project.org  
http://lists.qt-project.org/mailman/listinfo/development  
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Repository request: Qt Notifier

2018-01-16 Thread Samuel Gaist

> On 16 Jan 2018, at 15:04, Shawn Rutledge  wrote:
> 
> 
>> On 16 Jan 2018, at 14:49, Kari Oikarinen  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.

Hi,

The work you are thinking about is likely this one: 
https://codereview.qt-project.org/#/c/166456/. I’d be happy to reactivate it.

Cheers

Samuel


signature.asc
Description: Message signed with OpenPGP
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Repository request: Qt Notifier

2018-01-16 Thread Jason H


> Sent: Tuesday, January 16, 2018 at 9:18 AM
> From: "Konstantin Tokarev" <annu...@yandex.ru>
> To: "Shawn Rutledge" <shawn.rutle...@qt.io>, "development@qt-project.org" 
> <development@qt-project.org>
> Subject: Re: [Development] Repository request: Qt Notifier
>
> 
> 
> 16.01.2018, 17:05, "Shawn Rutledge" <shawn.rutle...@qt.io>:
> >>  On 16 Jan 2018, at 14:49, Kari Oikarinen <kari.oikari...@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. 
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Repository request: Qt Notifier

2018-01-16 Thread Konstantin Tokarev


16.01.2018, 17:46, "Shawn Rutledge" :
>>  On 16 Jan 2018, at 15:18, Konstantin Tokarev  wrote:
>>
>>  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?
>>
>>  https://github.com/wandenberg/nginx-push-stream-module
>
> An HTTP server is usually in the cloud too, isn’t it? unless it’s only on 
> your LAN and not Internet-accessible.

Or on my own server. Or Qt application on other device.

>
> “Notification” is a pretty generic term: could mean a Qt signal, an email, a 
> jumping icon in your dock, some other aspect of desktop or application UI, a 
> message from an IRC bot, a letter in the mail, …
> ___
> Development mailing list
> Development@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development

-- 
Regards,
Konstantin
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Repository request: Qt Notifier

2018-01-16 Thread Shawn Rutledge

> On 16 Jan 2018, at 15:18, Konstantin Tokarev  wrote:
> 
> 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?
> 
> https://github.com/wandenberg/nginx-push-stream-module

An HTTP server is usually in the cloud too, isn’t it? unless it’s only on your 
LAN and not Internet-accessible.

“Notification” is a pretty generic term: could mean a Qt signal, an email, a 
jumping icon in your dock, some other aspect of desktop or application UI, a 
message from an IRC bot, a letter in the mail, … 
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Repository request: Qt Notifier

2018-01-16 Thread Konstantin Tokarev


16.01.2018, 17:05, "Shawn Rutledge" :
>>  On 16 Jan 2018, at 14:49, Kari Oikarinen  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?

https://github.com/wandenberg/nginx-push-stream-module

>
> ___
> Development mailing list
> Development@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development

-- 
Regards,
Konstantin
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Repository request: Qt Notifier

2018-01-16 Thread Shawn Rutledge

> On 16 Jan 2018, at 14:49, Kari Oikarinen  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.

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Repository request: Qt Notifier

2018-01-16 Thread Kari Oikarinen


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/

--
Kari
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Repository request: Qt Notifier

2018-01-15 Thread Shawn Rutledge

> On 15 Jan 2018, at 16: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.

It will need to have multiple backends right from the beginning.

The usual problem on Android is that GCN depends on Google Play Services: it's 
not a built-in Android feature.  So some privacy-respecting free software uses 
polling solutions instead.  But polling solutions tend to drain the battery by 
using the radio too much (so I have had trouble using such apps).  That’s a 
shame (technically) because GCM manages to get all apps’ notifications over a 
single connection, which is idle most of the time and thus about as efficient 
as it can be.

Depending on a third-party library is weird though, I agree…

So maybe we need two backends already on Android.  One using GCN, and one where 
we try to make a polling solution that is good enough to actually use as an 
alternative.

iOS has APNS.  (They pioneered the idea, if memory serves.)

On other platforms we could imagine having alternative backends that use 
standards-based network solutions like XMPP or Matrix (but there are many many 
others to choose from, potentially).  https://puri.sm/shop/librem-5/ will use 
Matrix, so maybe we should help them support the same API that we come up with, 
so that Qt apps will be portable to that platform too, when it comes out.  
(They’ve already said they want to support Qt on it.)

Personally I’m interested in trying to use LoRaWAN for such purposes.

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Repository request: Qt Notifier

2018-01-15 Thread Jake Petroules
“Qt Notifications” (qtnotifications) would be more grammatically in line with 
the rest of our repository names.

--
Jake Petroules - jake.petrou...@qt.io
The Qt Company - Silicon Valley
Qbs build tool evangelist - qbs.io

From: Development <development-bounces+jake.petroules=qt...@qt-project.org> on 
behalf of Ryan Chu <ryan@qt.io>
Sent: Monday, January 15, 2018 4:25:20 PM
To: development@qt-project.org
Subject: [Development] Repository request: Qt Notifier

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.

The first draft of this work was implemented in QtAndroidExtra 
https://codereview.qt-project.org/#/c/216407/. That would have added its 
3rdparty libraries to every application, even if this feature is not used. A 
standalone module makes it possible for users to include or exclude this 
feature.

Name of the project: Qt Notify
Responsible person: Ryan Chu
Gerrit user/email: ryan@qt.io<mailto:ryan@qt.io>
Desired repository name: qtnotify

Best regards,
Ryan Chu

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


[Development] Repository request: Qt Notifier

2018-01-15 Thread Ryan Chu
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.

The first draft of this work was implemented in QtAndroidExtra 
https://codereview.qt-project.org/#/c/216407/. That would have added its 
3rdparty libraries to every application, even if this feature is not used. A 
standalone module makes it possible for users to include or exclude this 
feature.

Name of the project: Qt Notify
Responsible person: Ryan Chu
Gerrit user/email: ryan@qt.io
Desired repository name: qtnotify

Best regards,
Ryan Chu

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development