UnifiedPush – Part 4 – Power Efficiency

Finally in this series, I’d like to say a few words about UnifiedPush (UP) and power efficiency. UP is a decentralized system and can use different transport options. Have a look at previous posts on this topic for details. And surprisingly, some transport options are much better than other when it comes to sending keep alive packets to ensure that Network Address Translations (NAT) gateways do not forget the connection and inadvertently block incoming notifications.

XMPP and Conversation as Transport

For me, the most power efficient UnifiedPush transport is XMPP with a gateway to UnifiedPush on the network side and the Conversations messenger app on Android. I use Conversations for my day to day private messaging and I’ve deployed my own XMPP server. On the server side, I’ve optimized the keep-alive signaling and empty packets are now only exchanged once every 4.5 minutes.

Mozilla and SunUp as Transport

Next in my lineup of favorites when it comes to power and network efficiency is SunUp and the Mozilla UP infrastructure. The link is nicely optimized and keep-alive packets are only sent once very 5 minutes. While tracing, I noticed that the connection is reset by the server side once every 60 minutes and immediately reestablished by the Android app. Looks like Mozilla wants to make sure there are no dangling TCP connection in place. Works for me.

Ntfy as Transport

And the third UP transport I’ve had a look at was the ntfy app as front end and the standard ntfy server on the backend side. Here, keep alive packets are sent by the server every 45 seconds. In other words, the cellular modem is pretty much always active, there is little to no chance to go into sleep mode. I have to say I am very disappointed by this, as Ntfy seems to be a very popular notification service, particularly outside the UnifiedPush universe. I already noticed this behavior when I set-up my own ntfy server for another project some time ago and was hoping that the developer’s default server would act differently. It looks like it doesn’t.

Summary

It is very nice to see that there are so many options to transport UnifiedPush messages. I tried all those I described above, so it is no longer only a theoretical system. But there are great differences when it comes to power and network efficiency, so choose your transport wisely!

2 thoughts on “UnifiedPush – Part 4 – Power Efficiency”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.