I do want to point out, as someone who uses the WhatsApp app (to me, it’s slightly more convenient than the web version) that the old native windows app was /awful/. It looked native enough, but it just didn’t work. For as long as I remember it would randomly stop accepting input into the text field and I’d have to restart the app, and this was insanely frequent. Typing dead keys was also randomly broken with accents not coming through, which is really annoying if you’re trying to sound professional on a language that requires them.
The new electron app does take more resources, but at the very least it works.
If is anything like the WhatsApp Web, "works" might be optimistic choice of word.
When I switched from Windows, the thing that I missed from Windows on Linux was the native WhatsApp App. Now they killed there, so feeling better on my switch now!
Have you tried telegram desktop to compare? I don't use whatsapp, but I have never had a performance problem with telegram desktop and I've been using it for years on underpowered machines. I usually run some variant of Debian on them.
Well, the reason for the replacement seems pretty obvious: they're shipping new features on the web that aren't matched by the native client, and apparently that was just too hard to update for a multibillion AI-powered behemoth. So, a wrapper it is!
You may not like that from a 'native look and feel' point of view, but the question 'what is a native Windows app these days anyway' is very much unanswerable, and you can actually implement stuff like this in a performant and offline-sensitive way.
But, yeah, by the time the resulting GPU worker process balloons up to 400MB, that pretty much goes out of the window. I'm actually sort-of impressed, in that I have no idea how I would even make that happen! But that's why I don't work at a powerhouse like Meta, I guess...
Your reasoning seems counter intuitive as back in 2012 Facebook rewrote their HTML5 based app to native iOS code, optimized for performance, and knowingly took the feature parity hit.
I've been wondering whether it's time to reserve browsers for their original purpose of reading documents and move web applications to a different paradigm: perhaps native controls/windows rendered and controlled by cross-platform markup served over the web, running on a "headless" sandbox. Perhaps a bit like React Native, but JIT compiled on the client. Not sure if this already exists. I'd really like to have native UI controls back for applications.
I remember doing voice and video calls, and of course IM, on a PC with 128MB of RAM and a single core CPU around the turn of the century. It's amazing how far we've regressed in efficency.
> It's amazing how far we've regressed in efficency.
I don’t think we have. This is always what efficiency leads to, higher resource consumption. The phenomenon was described already in the 1800s: https://en.wikipedia.org/wiki/Jevons_paradox
JS and the web has seen performance improvements. They lead to more ads being served and more code being released faster to users.
> WhatsApp is one of those Windows apps that went from being a web wrapper to a native app and then back to the web again after all these years of investment.
We often hear stories about the speed of development and the issues of maintaining native apps, and then there are these rewrites every few years. Don't they waste more resources vs. creating / fixing the gaps in the native app? And this isn't somes quick startup prototype app that can flop and the effort would be wasted
From what I've seen web devs spend a huge portion of their time upgrading their dependencies, fighting with frameworks, or moving to the latest cool bundler.
It’s probably a coup internally and some idiot who sucked up to the right people made a load of bad technical decisions. But at least they got promoted!
How many chat apps did Google launch and kill? Its all about incentives: how to get that promotion. Maintaining a well working, established app isn’t going to get you anywhere.
For someone who travels a lot, I would love to have the ability to have WhatsApp on multiple phones (like telegram). I have a separate phone for traveling to US/Canada, which I usually wipe clean before crossing. It's really cumbersome to backup/restore Whatsapp messages from one phone to another. Or I just lose the messages that I send/receive while traveling.
You can install Whatsapp on up to four or five devices. There one main device, and the rest are "clients", exactly like the desktop apps. But they can send and receive messages even when the main device is offline.
> You’d realise how bad this is when I tell you the benchmarks for the native WhatsApp for comparison. I tested the old/native WhatsApp, and it uses just 190MB most of the time, dropping to less than 100MB when it’s completely idle. At worst, it would reach 300MB, which can happen only when the chat is really active.
Well sounds like a lot of useless work was being done then, how does it gobble 100MB when idle? Are the protocols that complex?
Just do as I do and open web.whatsapp.com in your favorite browser
If most Windows users are using WhatsApp web on Microsoft Edge then making it an app like this saves them a huge chunk of effort in maintaining two apps (WhatsApp web and a separate Windows app)
The desktop app is very good for quickly attaching pictures and documents, or receiving them, I find it harder to do that on the phone app , and a web app just doesn’t work very well when you want it open all the time. Same with Slack, having a desktop app really improves things.
Now you have to switch apps to the browser, find which browser window has the session you want, switch to the tab, etc., instead of just switching to WhatsApp app via keyboard or taskbar directly.
The ergonomics are significantly worse.
I want most of my browser windows full screen. I don't want my instant messenger full screen. Using it in a browser means I have to have one size, and resizing one changes the other.
The experience of using a native app is far superior.
I use the WhatsApp Web PWA and it allows me to have a dedicated window/app for it?
Sure it's a little quirky at times (eg it closes if the browser restarts for update) and it doesn't have a system tray icon, but aside from that, it behaves like a separate app.
No. People are stupid. They love when taskbar (rightbottom) is flooded with icons and constantly blink to disturb when using device while sucking tons of CPU/memory.
I can understand (although I'd still think it's a bad idea) going with a web app wrapper if you're starting out that way, but what makes this decision truly baffling is that they already had a UWP app.
Meta makes more money than god and there's over a billion WhatsApp users. It's not like this thing is Blender or a AAA game, it's a chat frontend. Maintaining it has to be a rounding error in the budget.
Ah yes the high quality engineering FB is famous for. Remember when their mobile app was snooping on users (probably microphone but who knows what else) some years ago so it was 'mysteriously' draining the battery when not used? Either unacceptable level of crap engineering consistently across quite a few updates from such a big wealthy company or... worse. I don't believe engineers there would be so bad consistently, so to me its pretty clear given overall behavior of company and its owner.
I was very happy with that situation - it was the last and good enough reason to uninstall all FB-related apps from phone, and never looked back. That company (and not only that) is a cancer to whole society, as per design.
It's a piece of shit and they know they can get away with it. Omg why are there no open protocols on Instant messengIng like email. Europe should enforce it.
I have 64GB of RAM and between IDE, some Docker containers and a local LLM, that started feeling like too little already. It’s just never enough, we always find creative ways to use every byte that’s available.
Oh and the browser (any browser, I tried many) just takes up 1GB per tab it seems. It’s insane. My old 8GB laptop is nearly unusable now and can barely be used to browse the internet and very little else. I can at least keep coding on emacs. Who would think emacs would one day be an example of a lean app!?
> Anyway, I’d remind everyone that “using” RAM doesn’t mean “would not function with less RAM.”
> Many applications just use a lot if it’s available.
Some of that memory isn't going to be touched again, and will eventually be moved to swap, but it still pushed things out of RAM to be there and is a troublemaker.
The rest of that memory will be needed again, so if it gets swapped out it'll lag badly when you switch back to the program.
Either way 99% of programs are not doing any kind of intelligent use of spare memory. If you see them doing something that looks wasteful, that's because they're being wasteful.
The one thing to remember is that at the OS level, disk cache pretty much qualifies as free memory. But that's unrelated to this issue.
"RAM is not really something you explicitly ration."
It most certainly is. My old pc ran on 8MB of ram. Modern ones need 16GB for a comfortable experience. They do not do much more than I needed back then. I think it's reasonable to expect a simple chat app to not take up 128 times as much memory as my entire PC had when I was young.
Before reminding everyone of a theory, did you check where that theory applies in this discussion of an app in practice?
Also, even in theory the issue isn't only with "wouldn't function", but "would function slower due to eg disk swaps / cause other apps to function slower".
> Anyway, I’d remind everyone that “using” RAM doesn’t mean “would not function with less RAM.”
Except when something really does need more RAM, and fails. LLVM for example having, somehow, become a bit chonky and now fails to compile on 32-bit OpenBSD systems because it wants more memory than is available. Less bloated software of course does not suffer from this problem, and continues to run on still functional 32-bit systems.
> Many applications just use a lot if it’s available.
Xorg is using 92M, irssi 21M (bloated, but I've been lazy about finding something leaner), xenodm 12M. That's the top three. Oh, Windows? Yeah. About that. Best you can hope for is not to catch too much of the splatter. (What passes for Mac OS X these days also seems fairly dismal.)
> RAM is not really something you explicitly ration.
Paperclips were hung on the rack doors to make it easier to poke the wee little red reset button when some poorly written software went all gibblesquik (as poorly written software is wont to do) and the OOM killer could not cope and, whelp, reset time. Elsewhere, RAM is explicitly rationed—perhaps certain aspects of timesharing have been somewhat forgotten in this benighted era of bloat?—and malloc will return NULL, something certain programmers often fail to check for, which is generally followed by the kernel taking the error-ridden code out back and shooting it.
I also use it a lot but the app has always been terrible. I forget exactly what the problems are but I think the text input becomes unresponsive and it becomes unusable.
The keyword you missed is 'idle'. An app should use as much Ram as needed to cache computation and network as it runs. But it shouldn't do when in the background. The Ram used here is not for accelerating the user experience. It's for the internal functioning of the managed language (Javascript) and virtual machine (Dom and browser API) because it has been packaged as a full Chrome clone running a single web app.
I do want to point out, as someone who uses the WhatsApp app (to me, it’s slightly more convenient than the web version) that the old native windows app was /awful/. It looked native enough, but it just didn’t work. For as long as I remember it would randomly stop accepting input into the text field and I’d have to restart the app, and this was insanely frequent. Typing dead keys was also randomly broken with accents not coming through, which is really annoying if you’re trying to sound professional on a language that requires them.
The new electron app does take more resources, but at the very least it works.
If is anything like the WhatsApp Web, "works" might be optimistic choice of word.
When I switched from Windows, the thing that I missed from Windows on Linux was the native WhatsApp App. Now they killed there, so feeling better on my switch now!
IIRC (I tried it last year and gave up) the desktop app also didn't properly deal with archived chats, and maybe some other notifications behaviors.
Maybe this will make me try the desktop app again.
Have you tried telegram desktop to compare? I don't use whatsapp, but I have never had a performance problem with telegram desktop and I've been using it for years on underpowered machines. I usually run some variant of Debian on them.
Well, the reason for the replacement seems pretty obvious: they're shipping new features on the web that aren't matched by the native client, and apparently that was just too hard to update for a multibillion AI-powered behemoth. So, a wrapper it is!
You may not like that from a 'native look and feel' point of view, but the question 'what is a native Windows app these days anyway' is very much unanswerable, and you can actually implement stuff like this in a performant and offline-sensitive way.
But, yeah, by the time the resulting GPU worker process balloons up to 400MB, that pretty much goes out of the window. I'm actually sort-of impressed, in that I have no idea how I would even make that happen! But that's why I don't work at a powerhouse like Meta, I guess...
Your reasoning seems counter intuitive as back in 2012 Facebook rewrote their HTML5 based app to native iOS code, optimized for performance, and knowingly took the feature parity hit.
https://engineering.fb.com/2014/10/31/ios/making-news-feed-n...
Windows doesn't even feel like a native Windows app anymore.
I've been wondering whether it's time to reserve browsers for their original purpose of reading documents and move web applications to a different paradigm: perhaps native controls/windows rendered and controlled by cross-platform markup served over the web, running on a "headless" sandbox. Perhaps a bit like React Native, but JIT compiled on the client. Not sure if this already exists. I'd really like to have native UI controls back for applications.
The majority of people use web browsers to run applications because every website nowadays is a huge blob of js.
Maybe what you thinking is a wasm runtime like wasmer.
There is a reason they became a multibillion AI-powered behemoth
I remember doing voice and video calls, and of course IM, on a PC with 128MB of RAM and a single core CPU around the turn of the century. It's amazing how far we've regressed in efficency.
> It's amazing how far we've regressed in efficency.
I don’t think we have. This is always what efficiency leads to, higher resource consumption. The phenomenon was described already in the 1800s: https://en.wikipedia.org/wiki/Jevons_paradox
JS and the web has seen performance improvements. They lead to more ads being served and more code being released faster to users.
I had a think pad with 32 mb of RAM and it did everything fine
You weren't being tracked then, and targetted advertising was not as developed as it is today. Those features take client resources too to run.
> WhatsApp is one of those Windows apps that went from being a web wrapper to a native app and then back to the web again after all these years of investment.
We often hear stories about the speed of development and the issues of maintaining native apps, and then there are these rewrites every few years. Don't they waste more resources vs. creating / fixing the gaps in the native app? And this isn't somes quick startup prototype app that can flop and the effort would be wasted
From what I've seen web devs spend a huge portion of their time upgrading their dependencies, fighting with frameworks, or moving to the latest cool bundler.
It’s probably a coup internally and some idiot who sucked up to the right people made a load of bad technical decisions. But at least they got promoted!
How many chat apps did Google launch and kill? Its all about incentives: how to get that promotion. Maintaining a well working, established app isn’t going to get you anywhere.
Erm, so why wouldn’t I just use WhatsApp as a PWA? I wouldn’t even need to waste the disk space for yet another browser runtime.
Their great AI coding agent could not keep the native app working?
Unfortunately I don't think a vibe-coded native app would be that much better either.
For someone who travels a lot, I would love to have the ability to have WhatsApp on multiple phones (like telegram). I have a separate phone for traveling to US/Canada, which I usually wipe clean before crossing. It's really cumbersome to backup/restore Whatsapp messages from one phone to another. Or I just lose the messages that I send/receive while traveling.
You can install Whatsapp on up to four or five devices. There one main device, and the rest are "clients", exactly like the desktop apps. But they can send and receive messages even when the main device is offline.
What do you put on the cleaned phone?
Entering/Leaving is the biggest problem with US travel and hardware. In the time inbetween you can just use it like a normal phone.
Who even uses WA when there is blazing fast and feature pumped Telegram. ps. it even has a portable edition. Goat.
> You’d realise how bad this is when I tell you the benchmarks for the native WhatsApp for comparison. I tested the old/native WhatsApp, and it uses just 190MB most of the time, dropping to less than 100MB when it’s completely idle. At worst, it would reach 300MB, which can happen only when the chat is really active.
Well sounds like a lot of useless work was being done then, how does it gobble 100MB when idle? Are the protocols that complex?
Just do as I do and open web.whatsapp.com in your favorite browser
web.whatsapp.com is still going to use more RAM than the old native version.
I use WhatsApp web and avoided the apps on desktop.
Yet, I really don't understand why WhatsApp would need app especially with the state mentioned here (which is a basic wrapper)
There are no calls in the web app, but modern web stack is more than enough to provide all the real functionality needed for it.
Indeed, the desktop app provides absolutely nothing.
If it allowed me to do video calls from a laptop, that could be useful but obviously that can't be a feature they therefore offer.
> If it allowed me to do video calls from a laptop
It does though?
https://www.youtube.com/watch?v=r3FkkHyvw8M
Yeah, calls are the only I installed the Windows desktop app instead of using WhatsApp Web.
Apparently what it provided was a more lightweight experience at 1/10th the RAM consumption.
Shouldn't it be easier to maintain multiple versions of the same app because of the better productivity AI gives you?
If most Windows users are using WhatsApp web on Microsoft Edge then making it an app like this saves them a huge chunk of effort in maintaining two apps (WhatsApp web and a separate Windows app)
You can use WhatsApp in your browser: web.whatsapp.com
No 1 GB or installation needed
Why is the desktop app even a thing?
The desktop app is very good for quickly attaching pictures and documents, or receiving them, I find it harder to do that on the phone app , and a web app just doesn’t work very well when you want it open all the time. Same with Slack, having a desktop app really improves things.
> a web app just doesn’t work very well when you want it open all the time.
Pin tab, problem solved?
Now you have to switch apps to the browser, find which browser window has the session you want, switch to the tab, etc., instead of just switching to WhatsApp app via keyboard or taskbar directly.
The ergonomics are significantly worse.
I want most of my browser windows full screen. I don't want my instant messenger full screen. Using it in a browser means I have to have one size, and resizing one changes the other.
The experience of using a native app is far superior.
I use the WhatsApp Web PWA and it allows me to have a dedicated window/app for it?
Sure it's a little quirky at times (eg it closes if the browser restarts for update) and it doesn't have a system tray icon, but aside from that, it behaves like a separate app.
No. People are stupid. They love when taskbar (rightbottom) is flooded with icons and constantly blink to disturb when using device while sucking tons of CPU/memory.
/s
Ms Edge offers webview2 which should share a single browser engine and profile (like your browser has tabs )
I wonder if they avoided that so they could use Electron and target MacOS / Linux too
TFA claims it is using WebView2
The macOS app is the iOS app running on macOS thanks to Catalyst, hopefully they won't replace it with that Electron/WebViewOfTheDay crap.
That must be part of their new AI strategy, tapping into their users potential.
I don't mind as long as I can make calls from the app. The call feature isn't available on Linux/Web app unfortunately.
I can understand (although I'd still think it's a bad idea) going with a web app wrapper if you're starting out that way, but what makes this decision truly baffling is that they already had a UWP app.
Meta makes more money than god and there's over a billion WhatsApp users. It's not like this thing is Blender or a AAA game, it's a chat frontend. Maintaining it has to be a rounding error in the budget.
Ah yes the high quality engineering FB is famous for. Remember when their mobile app was snooping on users (probably microphone but who knows what else) some years ago so it was 'mysteriously' draining the battery when not used? Either unacceptable level of crap engineering consistently across quite a few updates from such a big wealthy company or... worse. I don't believe engineers there would be so bad consistently, so to me its pretty clear given overall behavior of company and its owner.
I was very happy with that situation - it was the last and good enough reason to uninstall all FB-related apps from phone, and never looked back. That company (and not only that) is a cancer to whole society, as per design.
Just use the Web client instead.
Another example of WinUI anemic state.
Sometimes antitrust is a hard decision. Where do you draw the line, there are natural monopolies, etc so on so forth
Whatsapp screams antitrust. If you look in the dictionary for antitrust, you see Whatsapp
https://news.ycombinator.com/item?id=1692122
What's missing from this history though is that when WhatsApp went from an Electron app to a native windows app it got decisively worse.
It's a piece of shit and they know they can get away with it. Omg why are there no open protocols on Instant messengIng like email. Europe should enforce it.
You mean like Matrix or XMPP? They just aren't as ubiquitous as email unfortunately.
At least you can bridge WhatsApp and then use whatever client you like.
People use WhatsApp on the computer? From the Windows Store of all places?
Must be a tiny percentage, which is why this version is now a basic web wrapper now.
Anyway, I’d remind everyone that “using” RAM doesn’t mean “would not function with less RAM.”
Many applications just use a lot if it’s available.
RAM is not really something you explicitly ration.
> RAM is not really something you explicitly ration.
I guess this modern attitude is how we are where we are.
RAM is absolutely a scarce precious resource that we optimize for. At least we used to, and some of us still do.
I have 64GB of RAM and between IDE, some Docker containers and a local LLM, that started feeling like too little already. It’s just never enough, we always find creative ways to use every byte that’s available.
Oh and the browser (any browser, I tried many) just takes up 1GB per tab it seems. It’s insane. My old 8GB laptop is nearly unusable now and can barely be used to browse the internet and very little else. I can at least keep coding on emacs. Who would think emacs would one day be an example of a lean app!?
> Anyway, I’d remind everyone that “using” RAM doesn’t mean “would not function with less RAM.”
> Many applications just use a lot if it’s available.
Some of that memory isn't going to be touched again, and will eventually be moved to swap, but it still pushed things out of RAM to be there and is a troublemaker.
The rest of that memory will be needed again, so if it gets swapped out it'll lag badly when you switch back to the program.
Either way 99% of programs are not doing any kind of intelligent use of spare memory. If you see them doing something that looks wasteful, that's because they're being wasteful.
The one thing to remember is that at the OS level, disk cache pretty much qualifies as free memory. But that's unrelated to this issue.
"RAM is not really something you explicitly ration."
It most certainly is. My old pc ran on 8MB of ram. Modern ones need 16GB for a comfortable experience. They do not do much more than I needed back then. I think it's reasonable to expect a simple chat app to not take up 128 times as much memory as my entire PC had when I was young.
2048 times
I use it extensively. For years Whatsapp had a lovely native windows app and now they're replacing it with this horrible bloated thing
Before reminding everyone of a theory, did you check where that theory applies in this discussion of an app in practice?
Also, even in theory the issue isn't only with "wouldn't function", but "would function slower due to eg disk swaps / cause other apps to function slower".
> Anyway, I’d remind everyone that “using” RAM doesn’t mean “would not function with less RAM.”
Except when something really does need more RAM, and fails. LLVM for example having, somehow, become a bit chonky and now fails to compile on 32-bit OpenBSD systems because it wants more memory than is available. Less bloated software of course does not suffer from this problem, and continues to run on still functional 32-bit systems.
> Many applications just use a lot if it’s available.
Xorg is using 92M, irssi 21M (bloated, but I've been lazy about finding something leaner), xenodm 12M. That's the top three. Oh, Windows? Yeah. About that. Best you can hope for is not to catch too much of the splatter. (What passes for Mac OS X these days also seems fairly dismal.)
> RAM is not really something you explicitly ration.
Paperclips were hung on the rack doors to make it easier to poke the wee little red reset button when some poorly written software went all gibblesquik (as poorly written software is wont to do) and the OOM killer could not cope and, whelp, reset time. Elsewhere, RAM is explicitly rationed—perhaps certain aspects of timesharing have been somewhat forgotten in this benighted era of bloat?—and malloc will return NULL, something certain programmers often fail to check for, which is generally followed by the kernel taking the error-ridden code out back and shooting it.
I also use it a lot but the app has always been terrible. I forget exactly what the problems are but I think the text input becomes unresponsive and it becomes unusable.
The keyword you missed is 'idle'. An app should use as much Ram as needed to cache computation and network as it runs. But it shouldn't do when in the background. The Ram used here is not for accelerating the user experience. It's for the internal functioning of the managed language (Javascript) and virtual machine (Dom and browser API) because it has been packaged as a full Chrome clone running a single web app.
Electron again? If they really can't develop a native interface, could they alt least consider Tauri?
It isn't electron. It's WebView2 which is also what tauri would be using on windows