I would say one of the most important things they need to compete with WhatsApp is a better desktop client. WhatsApp's client is great because it works in the browser and is a joy to use. It would be nice if people didn't have to be burdened with downloading a big Electron app and then sit through the slow process where it syncs contacts etc. (kind of makes the user feel like it's broken)
What? Whatsapp's client is terrible - it not only requires a phone during signup, it requires an active connection to your phone, so if your battery is every running low - good luck with that. Additionally, it allows just 1 desktop client to be active at a time, which is just a hassle. Finally, in practice the connection to a well-charged phone is still subject to the vagaries of a phone app - it's very common for the desktop client to lose its connection temporarily, and require the user to "nudge" the phone app to wake it up.
Much as electron is ridiculously heavy, I'd pick that every single day over the joke that is the whatsapp web UI. I guess our experiences differ!
As a power user I find what you said to be strong points of WhatsApp Web. For instance, I want it to alert me as soon as there's a web connection and that's only possible with the current connection model and for security measures I think it's safer to have only one instance at a time.
The connection reliability is a hassle but usually when you're in the desktop you also have a good wifi connection and even though the web client loses connectivity temporarily it keeps working as good as it can.
On the other hand it's easy to forget that you have an active session in other apps such as Telegram unless you keep track of it in your app. Someone you share your laptop with can just open the Telegram app and they'll be able to see my chat conversations be default.
I know some of these things might be something you'd prefer but I choose the hassle instead.
Whatsapp web connections aren't reliable in my experience, no matter the wifi. The problem appears to be the android "server", not the connection (or perhaps android bundles its network traffic and turns off the modem periodically to save power?) Regardless, messages get delayed, frequently, especially if you haven't touched your phone for a while. The desktop client notifying me that my idle phone isn't actively using the internet at the moment (something that merely saves power and is otherwise completely harmless, and essentially unobservable) is useless. I don't mind it telling me that the computer has no connection, but that's not what happens.
As to the "only one client is a feature" thing - it isn't for me. And if I didn't quite trust any others using my devices, chats aren't near the top of my priority list - if they have access to all my browsers cookies, and apps, and can change system settings etc etc etc I'm much more worried they'll accidentally install malware than anything else. Don't share your account if you care for privacy, it's a losing game.
I use multiple devices at a time, merely locking them. I don't want to also have all my apps go into an pseudo shutdown; and it's annoying to not be able to read old stuff during a temporary network hiccup.
Telegram desktop client source code is huge. For sure it is possible, once I was tempted to but understanding telegram UI part is the hardest part. (I was attempting to make it matrix client)
Agreed. And not only that, in my case at least the Signal desktop app is randomly missing messages (and 100% of the images). I tried reinstalling it multiple times to no avail (Ubuntu).
I'd really love to see more 3rd party alternatives.