For instance, 1.3$ million per year for storage??? Apparently, they have 40 million users, so 1 MB per user (seems reasonable for Signal) means 40TB. You can buy a 4TB SSD for $200, which means you need $2000 one-time for 1MB per user.
How they get from $2000 to 1.3$ million is a mystery.
As for SMS registration, if they are spending 6 million, maybe they should find some way of doing it for free, e.g. Google might be offering it with Firebase, Twitter used to have it, etc. It's not great for privacy, but if they care about that they should just stop using phone numbers.
Routing video calls through a server to obscure IP address seems totally pointless while you are revealing the phone number anyway. And again there might be a way to do this for free, e.g. perhaps using one of free WebRTC STUN/TURN servers that e.g. Google seems to run.
As for bandwidth, a very conservative estimate seems 100 MB per month for each of 40 million users, giving 4 PB per month (though I guess the real usage is 1/10 that at most). Hetzner charges $1/TB, so that gives $4000 per month or $40k per year, overestimated.
Again a mystery how they get from $40k per month to $2.7 million.
Maybe the problem is that they use AWS/GCP/Azure/etc.? They have to be real idiots to use them since everyone knows they are insanely overpriced and should never be used unless a large corporation or deep-pocketed investors are footing the bills or they is no other possible solution.
Perhaps they need to consider stopping dumping money down the drain before asking for donations.
Maybe the problem is that the Signal app doesn't eagerly download messages upon notification? They should start doing that given the money issues.
But if you have Desktop client(s) registered, then they need to hold onto those messages until you open your client(s).
That is why they have a 30 day login limit on Desktop clients. If they didn't they'd potentially have to hold onto messages forever.
https://github.com/signalapp/Signal-Desktop/issues/4730 https://community.signalusers.org/t/dont-unlink-devices-afte...
But the solution seems to be to have the desktop client request data from the phone.
In fact I'm not sure how it can possibly work otherwise (what if someone just uses their phone for years and then opens the desktop client for the first time ever? does that not show any old messages? seems a terrible design).