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.
It’s in the realm of “64KB of RAM should be more than enough for any computer”
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...
Photos are generally <1MB in size and I think have a single photo sent but not received on average per user seems reasonable (most users probably almost never use Signal, and of those that do probably most only use text, and those that use photos probably most don't send more than one or a few per day).
Videos are probably relatively rare and if not maybe they should do something about them, like not storing overly large ones them on servers and requiring both phones to be online to transfer.
There's a 500x margin between the estimate and their costs anyway.
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).
$1.3M seems excessive, but your calculation is really, really naive.
Storage for a business doesn't really compare to buying a 4TB SSD for your personal use.
It's probably more than just storing it in s3. Given their list of
> Storage: $1.3 million dollars per year. > Servers: $2.9 million dollars per year. > Registration Fees: $6 million dollars per year. > Total Bandwidth: $2.8 million dollars per year. > Additional Services: $700,000 dollars per year.
"Storage" probably also includes the cost to host it on their databases or some queuing/redis etc...
Maybe I'll find the time...
But, like everyone else is saying, putting things in a datacenter in a resilient way for a high profile, high bandwidth, multi-national app is not the same as buying some ssd, or even running a hetzner instance.
Retrieving from the phone would be a better idea I agree.