As the person who designed and fought for this app, I am a bit sad about the change.
The native app was by no means perfect, but it felt like a real productivity tool that was trying to be respectful of it's environment.
I've come to the conclusion that native desktop apps are just not viable from large companies, even if there is headcount. The problem is coordination cost.
If you want to launch new features and experiments here, there and everywhere, then the coordination complexity increases nonlinearly with the number of platforms.
If you can sustain a more deliberate, low churn pace of development then it's workable. Features can be well defined and then implemented by the platform team as they see fit. But if you want a more fast-paced, "just in time" style of development, you need to coordinate with every team for every change... wouldn't it be nice to just write web code and be done?
Even Microsoft are building this way these days.
This is why ironically small companies seem more able to support native apps than large ones. The more "stuff" that's being worked on concurrently, the harder it is to support multiple platforms.
Is it really that useful to have feature parity across all platforms? In Telegram, for some features, it just says "please open this message on your smartphone", and that's fine. If I had the choice, I'd prefer fewer features and lower resource usage over having access to the very latest functionalities, and you can offer the web version as a supplement for whatever is missing.
I am baffled by this. I wrote a cross-platform GUI for an audio signal processor in wxWidgets that rendered all of its own widgets (own Draw calls, for faders, graphic EQ, compressors, drag/drop linking of nodes for a layout, knobs, meters/scopes) and incorporated Horde3D as a 3D rendering of the arena. It ran on macOS and Windows. Another chap handled the network control code that included joining multicast groups to discover the devices, and the device itself had a series of DSPs on it with an ARM processor for drawing on the LCD and handling the network stack and interfacing between the DSP and inputs from the network. That's 2 people.
So you're saying that it is impossible for a large company to somehow use native toolkits to draw text bubbles and emojis?? Video and audio is another matter, but MSN Messenger managed 75% of this decades ago, natively.
> So you're saying that it is impossible for a large company to somehow use native toolkits to draw text bubbles and emojis??
One weird thing about software development is that there are plenty of things which motivated individual developers can achieve which large companies can't even write the requirements for, let alone achieve.
Hacker News just recreated startups from first principles! /s
But seriously folks, this is why there will always be room for startups.
Megacorps are slow lumbering beats that suffer from entropy and signal loss at every edge on the graph.
The example here is that some marketing function gets the signal from Zuck to put Lego duplo characters everywhere because metaverse. Of course 90% of the company knows its dead on arrival so they are going to drag feet and try to work on their actual problems (or their local feifdom mandate) and wait for the latest fad to blow over.
Super wasteful, super inefficient but hey ads make an insane amount of money so Zuck can do whatever for a loooong time.
This is why Warren Buffet advocated dividends. Companies and people have few good ideas. Management however uses this money from the good ideas to fund boondoghles (see metaverse). The thinking here is that the money would be better utilized returned to investors to fund other good ideas.
If they want fungible engineers, yes. They don’t want to pay extra for an expert in wxWidgets and Horde3D. They don’t want to wait while that expert’s replacement comes up to speed on Horde3D. They don’t even want to wait for any existing engineers to learn these two technologies.
They know web, they can manage web - web is “less risky.”
> They don’t want to pay extra for an expert in wxWidgets and Horde3D.
In my experience, in a large software company [0] it's very common for new folks on a "team" to have to spend one or (often) more months learning both the software they're now working on and the various libraries used in its construction.
It's very nice if you can find an expert in everything you've used on a software project, but that's not going to happen often. [1] And -IMO- if whoever you've hired can't generally come up to speed on WxWidgets in a couple of weeks while also becoming familiar with the rest of the project they're now responsible for, they're not someone you want working on your project.
[0] Which is the sort of company we're talking about right now.
[1] In part because companies generally don't want to pay enough to hire such people.
I think what he is saying that native platform apps get delegated to different teams and coordinating among those teams becomes an additional cost. You don't want each team going off and doing their own thing.
Your 'answer' is "use a cross-platform GUI toolkit" but that has its own challenges. Not least that you typically build a native app because it delivers a native experience that users expect.
In general (and I accept there may be counter-examples) cross-platform tools fail to do this.
Yes. Arguably because of the organisational cost of maintaining both a web version (which they arguably need) and a native windows version (which they arguably don’t need).
yes, precisely that. Or if you want to generalize further: Companies have staff and processes to "improve" the product, process and productivity. After a few years, when they've done a marvelous job (worth every penny) the job doesn't exist anymore but they continue to tinker and ruin their creation.
In my manual labor occupation the office folk often try to get away with a horribly inefficient schedule designed to make their job easy. I often have to remind them that they work for me. I do the actual work, your job is to optimize it.
This to me is the same thing as replacing a rather decent desktop client with a web wrapper. This is their update, its obviously bad for the customer. The excuse is to make further updates easier. There is reason to think these will also be bad for the customer.
Someone once explained to me that the process of everything we build and create is very similar. If some young sector has a wildly different approach one should be very skeptical. It happens that an architect still has work to do after delivering the drawings. Sometimes it is necessary to recall thousands of cars.
Ideal would be to have a perfect construction drawing then build the machine. The architect moves on and designs the next garden. A plumber puts the pipes in, tests if everything works then goes to the next construction site. The difference with software is that, when done, it can last forever. The opposite of what the industry pretends to be true.
As much as I hate the cowboy cryptography of it, Telegram could do it. They are a 30 person team and maintain a web version, a first-class Qt desktop app, and native iOS and Android clients.
I would wager that if they wanted to simplify coordination, Flutter would easily kill iOS and Android with one stone, and optionally desktop and web if they so wish, all without a 1GB web wrapper.
You're in a very unique position to render a great public service just now - could you point in the direction of the secret storage used for the database key on Windows? I tried to locate it before but could not. Since that DB is about to be bricked it'd be real nice to export from it imminently
You're absolutely right that the issue is the coordination cost. It's not about the number of resources but just the fact that you need those resources to coordinate, slowing everything down.
Not a problem in waterfall, since you can set the targets beforehand and just have the teams work in parallel. In an "Agile" setting though (not the manifesto version, the current practice version)? It's a huge mess.
So then the question becomes, is this coordination cost worth it and how much are we willing to "spend". It seems the cost is worth it for Android and iOS since the native app experience on those platforms is so much better.
The macOS app is just a tweaked iOS app so it's also easy to justify.
But what about Windows? The Microsoft provided APIs are a disaster that keeps getting rewritten every half decade, and even Microsoft barely uses them. Windows users don't have a "feel" for a native app the way macOS and mobile users do, since there hasn't been a "native app experience" on Windows for a very long time.
Just look at the 2 context menus on Windows Explorer, they can't even get the sizes and colors between them right.
Meta would have been better off doing like Telegram and just using Qt.
> Microsoft provided APIs are a disaster that keeps getting rewritten every half decade
What a wrong and misleading statement.
Not they aren't. Otherwise Winamp 2.95 from 2003 wouldn't flawlessly work on my Windows 11 install 23 years later. Same with my Unreal Tournament 99 installation that I just copied over via a CD left from my Windows 98 PC.
As long as you haven't used any undocumented APIs or made your app hack its way into the OS via hooks like some games did back then for performance optimizations or some anti-piracy SW did, then most Windows apps from over 20+ years ago will still work today and it's also why WINE works so well to get Windows app working on Linux, is precisely because Microsoft HASN'T changed the APIs.
They're half-right. Microsoft do keep supporting the OS APIs, but it's the UI frameworks that get half-assed and abandoned. Which is why so many people recommend Avalonia these days. Microsoft don't even reliably use their own frameworks - go through Win11 and see how many Windows Forms dialogs are still present in things like settings and Explorer.
(WinUI is also a hybrid: since it uses the DirectX APIs rather than the old GDI model, most of it is in a userspace package that's delivered as an .appx)
It's not wrong nor misleading at all. Win32 doesn't even support dark mode properly because it's effectively "deprecated" like all the others in the graveyard.
Who cares if they keep working if the only way to get dark mode is to custom render the whole UI yourself? Might as well do something non-native at that point.
Microsoft does not provide a serious UI library for applications to use. It provides 10 half broken and deprecated ones.
>if the only way to get dark mode is to custom render the whole UI yourself
Most the apps I use support dark mode: Chrome, FF, Notepad++, Jellyfin, Qbittorrent, SumatraPDF, Signal, Wiztree, WinSCP, and others I'm forgetting. Seems like it's not an impossible task for the developers.
And on Github you can find FOSS apps[1] that have implemented light/dark mode switching for their UI, so you can just copy what they're doing if you don't know where to start.
Are you speaking as a user? I'm speaking as a dev. Of the applications you mentioned only a couple actually use the Win32 controls (like Notepad++) and they custom render them to get dark mode. That's a lot of extra work they had to do, essentially draw the whole look themselves.
Chrome is not native. FF is not native. Qbitorrent is not native (it uses Qt, right there in the name). Signal is not native, it's a web page bundled with Chromium (aka, an Electron app). WinSCP only this year actually started using the right font! But at least that one is native I'll give you that.
The GitHub you sent doesn't really have anything to do with the discussion.
> Win32 doesn't even support dark mode properly because it's effectively "deprecated" like all the others in the graveyard.
Remember when you used to be able to make custom Windows color schemes? Where you could color each widget type independently? I miss that.
Assuming that your report is true, if Microsoft gave a shit, they'd come up with four color schemes (high-contrast light/dark mode and regular-contrast light/dark mode) for Win32 programs and sync them with the relevant "modern" settings. Alas.
What do you do if you're a Win32 program who refuses to use the system color scheme? Well, I guess you'll stand out no less than you would have been in the Windows 95/98/ME days... stubbornly refusing to conform to the user's commanded colors and all that.
I like to joke that we already had dark mode on Window 95. It didn't work super well with black colored icons but you could always just tone down how dark you made it.
We also had pseudo-dark mode themes for Windows XP. But the new dark mode stuff in explorer doesn't use uxtheme anymore.
> I like to joke that we already had dark mode on Window 95.
When I say it, it's not a joke! :D
> But the new dark mode stuff in explorer doesn't use uxtheme anymore.
I'm only familiar with Windows 10, and in that version Windows Explorer seemed to conform to the system color scheme just fine. Did Microsoft break that at some point in the past three, four months, [0] or did they royally fuck the dog in Windows 11?
For me, the *maddening* color-scheme-nonconformance was Task Manager. No matter what I did, it was *white*. It made it substantially unpleasant when you wanted to check a performance something-or-other in a dark room.
[0] Ever since I learned just how well video games work on Linux (via Steam), I've not booted into Windows. It's so nice. Folks report that there are launchers to run games in the Epic Game Store, but I've not yet bothered, so I can't provide first-hand info.
Windows Explorer still respects the color-scheme preference but the problem is the way it does it.
When you as a dev use a Windows provided control (be it a button, a toolbar, a context menu, etc.) the system grabs the theme information from something called uxtheme. This is how it worked in Windows XP and why you had like 3 different themes you could pick from.
But dark mode doesn't work like that, there's no uxtheme for dark mode. Windows Explorer is given special treatment by Windows with undocumented APIs. Other apps are not so lucky. If they want dark mode, they need to effectively draw the whole UI themselves. Even apps like Notepad++ have to do that these days.
Of course it does, those APIs don't work well together. It's a pain in the ass to use the features only available in the new APIs on old applications. Microsoft has put some effort into making it work but it's still hugely hit and miss. You can mix WPF and WinUI2, but not WinUI3.
Amazing. I thought they fixed that years ago with "XAML islands", but apparently [1] they un-fixed it again with WinUI 3 and still haven't re-fixed it?
Yup, though I wouldn't even say they "fixed it" with XAML islands since they lock you into .NET core 3...
They also keep doing boneheaded decisions like the new DWriteCore, which is a reimplementation of DirectWrite, and some features are only available in DWriteCore, but DWriteCore is not a strict superset and doesn't even interoperate directly with Direct2D like DirectWrite did.
So once again, either stay on the "stable" as people like to call it version, which is effectively frozen, or use the new one and rewrite half you app!
And then people wonder why nobody uses Microsoft APIs if they can avoid it.
> Meta would have been better off doing like Telegram and just using Qt.
Qt would certainly be the better choice. However, since Meta already has a web version of the WhatsApp client, the WebView2 path was an easy and inexpensive option. After all, MS itself paved the way with Teams, Visual Studio Code, and Outlook.
I think few people are using the Win32 APIs directly and Microsoft has been shifting their stuff a bunch.
WPF (Windows Presentation Foundation ) had been the recommendation a while back, but then Microsoft started pushing UWP (Universal Windows Platform). Both of those have been succeeded by WinUI 3. UWP has been deprecated. WPF is alive, but more in a maintenance mode while WinUI 3 takes over the future. Oh, and WinForms were popular, but now not.
There's definitely been a lot of shifting and I think that's caused a lot of annoyance in the developer community - especially as Microsoft ships JS/WebView2 based apps instead of dogfooding their own stuff. If you hang out in the dotnet subreddit enough, you'll definitely see Windows devs annoyed at Microsoft's mercurial attitude toward their desktop frameworks and seeming lack of direction/interest - as their big new things are JS/WebView2.
They are talking about UI. Winforms (abandoned), WPF (abandoned), UWP (abandoned), MAUI.
Windows itself was always using their own custom stuff and not any of those. The closest thing to an established framework in Windows is react native that is sprinkled here and there. And QT that OneDrive uses
Yes, they are optimized for the developer, not the end user. It's a terrible situation that repeats all too often.
The developer makes a highly optimized native app that is a hit with the user. Now that it's a hit, the developer is now big company. And big company needs telemetry, A/B experiments, fast iteration. They can't just sit around waiting for the original developer to spend more years crafting another masterpiece. Due to tech, sign-ins, or what have you the app is also a kind of monopoly. Since it's a monopoly, quality doesn't matter. It can be a bloated electron thing and nobody can do anything about it other than suck it.
It's worth wondering why we need so many changes done to a chat app. Everything they introduce to this app just makes it worse. I just want to have something where I can chat and call my friends with no frills.
you kinda answered yourself and perhaps suggested the answer, but it's worth saying out loud: they don't want whatsapp to be a chat app. they want it to be the next facebook and they want to smuggle it in a chat app container. if it seems like if it starts working out, I'll be buying Meta stock with disgust.
Why buy stock of something you don't like? Surely you can find other profitable investment options that also then don't support the thing you don't like?
Buying shares in a company supports the company financially only in very limited contexts (e.g. IPO). Buying shares primarily benefits you as an investor.
Buying shares in a company doesn’t benefit its operations, like making a product, directly. Hence, buying shares != support company’s products, however counterintuitive that feels.
> The problem is coordination cost. If you want to launch new features and experiments here, there and everywhere, then the coordination complexity increases nonlinearly with the number of platforms.
Why not use a common library, where platform teams can update what features they use from it at their own pace?
Or why not use some other tech that allows multi-platform native shipping? The company I just started at, RemObjects, builds software for Mac and Windows (and iOS etc) from a common codebase. They just keep the UI separate, and all that is done when there's a new feature is _only_ UI layer coordination.
So an app has a C# (say) or Go codebase, and a UI layer in WPF and Cocoa.
I feel like coordination cost goes way down with both of these:
a) Library approach: central functionality, platform teams not tied to specifics
b) Shared codebase where all logic lives: platform teams do only UI
Edit: forgot to add, all this is can be across languages, ie maybe you have a Go shared library and write your Cocoa UI layer in C#, that's fine, their tech makes it all interop.
Personally I think the challenges with this approach (having literally used a Go shared library + native UI myself):
1. The web still exists. You can't practically use a Go shared library on the web. And you probably don't want your shared library written in JS.
2. In my experience, most of the coordination is about the UI, not the underlying implementation. So the human cost isn't reduced much with shared libraries.
3. At a big company, "feature teams" can't easily ship native desktop UI because feature team eng only knows web...
I do think this approach is super viable with a product development approach that is more waterfall, however. Where a team owns the platform and it's design.
Separating the UI from the functionality is not as easy as it sounds. Often the first iteration of a program has the business logic tightly coupled to the UI, and is designed for a single platform. You need engineers with foresight to refactor before it becomes a mess
Also even the non UI is not trivial. I once worked on a very la4ge code base that was console only. We en we eventually gave up on our Windows and Mac ports. Granted it was C++ …
Calling it nonlinear paints some horrible exponential picture. It's just squared (all to all communication). We deal with squared problems all the time (that's literally what distributed consensus is all about.....)
Practically it’s not squared because people randomly just ignore you (or even worse, maliciously comply), and tracking down all the people doing those things makes it more like exponential.
Eventually, the effort required to actually manage doing the thing is at least as large/larger than just doing it - ex: every large organization.
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...
The native client had features the web one didn't have, like video calls, so it was actually the one leading features-wise.
I guess it's because they decided to make the web client first-class, and instead of maintaining a native client for each platform (windows, mac, linux...) they opted to just serialize all non-mobile uses (which probably aren't that important to them to begin with) to web.
This is wrong. The "recommended" section of the start menu is written with React Native but compiled to native XAML and not running web technologies. See also: https://news.ycombinator.com/item?id=44125217
> in case anyone needs a reminder of Microsoft's org chart: ...
To be a little glib:
As someone who has worked for a few Big Software Companies, I guarantee that Microsoft's org chart has changed significantly at least once in the last fourteen years.
Re-organizations aren't referred to as "shuffling the deck chairs [on the Titanic]" by the rank and file for no reason, yanno?
I don't think that the activation of this process is tied to the enabled-state of any features and the recommended section/start menu in general does not even use a Webview. It may be active all the time because various parts of the OS use it (I think the settings app for MS account stuff and the Explorer for some Office 365 features?) and it's faster keeping it active instead of starting it constantly.
Dear God, I hate the way the Windows 11 Start Menu takes slightly too long to open - long enough that I often accidentally close it again. You can actually watch CPU usage increase if you toggle it.
> You can actually watch CPU usage increase if you toggle it.
Not any more, I kept windows 11 around for gaming but I binned the partition, how they managed to make a 7950X3D/7900XTX feel "clunky" is astounding given that I live in KDE which has a reputation for been a "heavy" DE and yet it it feels instantaneously fast in every dimension compared to windows 11.
I keep fighting with devs that want to use web-everything.
Luckily for me, i have the ultimate power so i can just say "Firefox doesn't support that. I don't use chrome. period."
But lately i had to start saying Safari doesn't support that so we would lose all iphones, or we can start investigate after we have a working solution. God damn react.
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.
Reminds me of this 2013 story where they moved to native Java for Android and hit limits with e.g. too many methods and instead of refactoring or just not bloating their app they hacked some internals of the Davlik VM while it's running during app install: https://engineering.fb.com/2013/03/04/android/under-the-hood...
For some application certainly. Instant messaging of course has many strong point in term of what is to be dealt with. Short messages, photos, quick visios.
But to edit large document, visualize any large corpus with side by side comparison, unless we plug our mobile on a large screen, a keyboard and some arrow pointer handler, there is no real sane equivalent to work with on mobile.
I just don't get it. Well ok, I kinda get it. I get the feeling nobody wants to build native apps anymore, or they don't or can't advocate for it strongly enough, or those advocates aren't in a position where they can make decisions.
And from a manager's point of view it seems wasteful to develop the same feature across multiple platforms. And if you look at the numbers it does, but numbers-driven development has been a huge issue for a long time now. They don't consider performance or memory usage a factor, and perceived performance is "good enough" for a web app.
> numbers-driven development has been a huge issue for a long time now
Ever since UX and UIs started to be driven mainly by metrics and numbers, I felt something started going wrong already. Since then (the decades...), I've learned about "McNamara fallacy" which seems to perfectly fit a lot of "modern" software engineering and product management today:
> The McNamara fallacy (also known as the quantitative fallacy) [...] involves making a decision based solely on quantitative observations (or metrics) and ignoring all others. The reason given is often that these other observations cannot be proven.
I occasionally use whatsapp or discord webapps, but won't install the apps. I don't know for sure which sandboxes the processes more effectively, but I kinda assume the browser is my better bet for protecting myself from crap.
Happy to learn otherwise, but might be a datapoint on user behaviour (which could also drive corporate choices).
When you use a desktop computer with 32GB RAM and everything you do work-related runs on a giant world-wide datacenter, numbers start to look small.
When a developer/company decides to not implement things local and proper way and push it out and be done with it regardless of the resources the product use on the users' system, I mark the company as lazy and cheap, actually.
Shoving the complexity and cost to users' is being inconsiderate.
As much as I like super snappy and efficient native apps, we just gotta accept that no sane company is going to invest significant resources in something that isn’t used 99%+ of the time. WhatsApp (and the world) is almost exclusively mobile + web.
So it’s either feature lag, or something like this. And these days most users won’t even feel the 1GB waste.
I think we’re not far away from shipping native compiled to Wasm running on Electron in a Docker container inside a full blown VM with the virtualization software bundled in, all compiled once more to Wasm and running in the browser of your washing machine just to display the time. And honestly when things are cheap, who cares.
Do you think most people have 128GB laptop? It’s more likely to be 8 or 16 GB. The OS os likely taking 4 or more, the browser two or more. And if you add any office applications, that’s another few GB gone. Then how many Electron monstrosities you think the user can add on top of that?
Some PM: users are locked in to our ecosystem; they can't load other apps after ours! /s
But for real, the average number of apps people downloading get fewer year over year. When the most popular/essential apps take up more RAM, this effect will only exacerbate. RAM prices have also doubled over the last 3 months and I expect this to hold true for a couple more years.
It depends what metrics are considered. We can’t continue to transform earth into a wasteland eternally just because in the narrow window it takes as reference a system disconnect reward from long terms effects.
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.
If they hadn’t fumbled the UI framework, and to a lesser extent the language design, you’re effectively describing .Net’s original role in the MS ecosystem and their play for web dominance.
JIT compiling, native graphics, quick and easy online deployment into sandboxes, support for desktop standards like keypresses, etc.
It feels like the web ate up the windows desktop experience instead of that experience spreading cross-platform and dominating.
Ah no I was just being snarky and not at you. We're all missing (hyper)text markup language as the UI markup layer, plus js. We previously had some kind of alternative "load app from internet" but the runtimes were external (and provided lots of fun security holes).
I completely agree it would be better to rethink what we want and have markup/code/etc optimised to the task of rendering applications. I don't think it'll happen unfortunately.
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.
I see the same bugs. It looks like after ICQ, writing a chat app has become an impossible computer science problem (skype, teams, whatsapp,…). How did that ancient civilisation from the 90s managed to build a functional chat app? The know how is lost to times.
The more time passes, the more impressed I am with mIRC. It was an incredibly fully featured chat client - with hundreds of features, and its own scripting language for more advanced use. All that in a 4mb download. It probably still works great, to this day.
As a teenager, I thought we'd get better at making software over time. Not worse.
> How did that ancient civilisation from the 90s managed to build a functional chat app?
By only accepting ANSI input, not encrypting any messages, and not bothering to protect users' from remote attacks.
Facebooks's GUI stack for WhatsApp may be rather buggy but on a technical level there's a lot more going on than back in the days of unencrypted TCP connections over plaintext protocols.
Meanwhile, Telegram has an excellent desktop app (despite their terrible protocol), so it's not like the knowledge was lost either.
Secure, end-to-end, multi-device encryption isn't easy. Plenty of people try and fail to build secure messengers based on top of PGP and Signal's protocol.
I don't use the Telegram web app, but their native apps work excellently. The insertion of ads has been a major disappointment but the chat UX itself is still great, even on native Linux.
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!
The WhatsApp web app is not perfect (no software is) but I’ve never had any major issues with it. It’s snappy and very rarely does it glitch out. I find your comment surprising.
It's a ram hog if you stay the tab open for a while, with ton of messages. So from time to time I need to close the tab and open again.
Huge perf issues because of this.
Also had some serious bugs for a few week. Had to let WhatsApp Web wait for completely sync for 15 minutes~ or else it just stop responding and crashes everything.
Sounds like the all powerful mighty Meta didn't have capable engineering working on that app. No idea how that could happen, given that they only hire top talent ...
While I don’t have as many problems as you seem to, I did notice that it was much slower (like a minute or two) to “connect” after opening the window compared to before.
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.
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.
> This is always what efficiency leads to, higher resource consumption.
That's not the same thing. If you make batteries more efficient then people build more devices that run on batteries and then you need more batteries than ever. But you also get a bunch of new devices you didn't used to have.
When computers get more efficient, miserly corporations cut staff or hire less competent programmers and force their customers to waste the efficiency gains on that, because they don't have enough competition or the customers are locked in by a network effect. The difference is whether you actually get something for it instead of having it taken from you so somebody else can cheap out.
There's a lot of advanced home insulation out there. In theory, buying expensive insulation is much better than making energy cheaper, because you only pay for the insulation once, and then save money indefinitely from it. But most people don't re-insulate their homes (or try to find cold-spots, seal leaks, etc). Despite the fact that we have more efficient insulation, it hasn't driven up demand for insulation. Why is this? The idea that efficiency == increased demand is a logical idea. But humans aren't logical.
We have more efficient hardware, so we should be seeing hardware everywhere. But actually we all use the same amount of hardware we did 20 years ago. We all have a desktop, a laptop, a smartphone, a modem, hell even a computer watch, like we did 20 years ago. But they're more efficient now.
Where we do see more hardware now, is in pre-existing appliances, like fridges, TVs. And why is there more hardware? Sometimes it's just a remote control ("turn off TV"). But more often, the increase in adoption follows a specific motive: like figuring out that they could sell ads or subscriptions through it. And the hardware itself is not what's making the ads work: it's the software, that collects the information, feeds it to companies over networks, lets them data-mine it and sell it continuously. Both of these are just serving a human interest to make more money through the creative use of surveillance and marketing. And honestly, most of this could've been done with hardware and software 20 years ago. But because it's in vogue now, we see more of the hardware and software now.
We are comforted by coming up with an explanation that makes logical sense, like the paradox. But the paradox applies most when it coincides with an unrelated human interest. What motivates us is not A+B=C, but a combination of different calculations that sometimes involve A and B, and incidentally add up to C.
That said, I do firmly agree with the parent: there is choice involved here, engineering decisions.
The Microsoft world is particularly bloated, as they insist on shoehorning in unwanted anti-features into their OS. Much more efficient operating systems (and ways of building a chat client) exist.
Jevon's paradox may describe a general tendency, but it's no excuse for awful software.
I see where you went sideways, you confused trigger with consequence completely. Here the efficiency for the very same application got very, very very, increadibly hugely, galactically worse. Not better. The premise of the linked article is that the same application gets more efficient. Then comes the increased use of the affected resource. Here the same application went shit, complete shit, concerning efficiency, and had no effect on memory manufacture and prices, WhatsApp is not that significant in computing.
Probably a better analogy was that if technological and tigtly related economical advances raise the availability of resources (here memory, CPU) then things go dumb. If something then the generalized (from time to any resources) Parkinson's law is relevant here: increasing available resources beyond reasonable leading to waste and bad quality outcomes, overcomplication.
> 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
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!
From what I've seen web devs spend a huge portion of their time upgrading their dependencies, fighting with frameworks (they all curse react), or moving to the latest cool bundler.
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.
It probably isn't really using that much but it will have reserved that much. V8 reserves memory in chunks of 256MB using virtualalloc with MEM_RESERVE on Windows (I think). It has to do that for each isolated process where an isolate is a tab, webview, worker, etc. A page that's built up from 4 isolated processes will reserve 1GB of RAM. That's only virtual alloc though, so other OS processes can take the memory if they really need it.
There is essentially no way to tell if a JS app is using a lot of memory just by looking at what the process has reserved. There's loads of things that end up in that space - cached pages, cached compiled code, cached bitmaps of rendered pages, etc.
The task monitor tells you what Chrome or Chromium (e.g. Electron) is doing, not what the web app is doing.
There is a good argument to suggest Chromium is hogging more than it should. That's not really WhatsApp's fault though.
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.
I don't use WhatsApp so I have no idea what that is like. I have telegram running on two mobile devices and two desktops. There is no "moving messages" or "losing messages", I just install telegram or telegram desktop and all my chats appear with all the messages.
Everybody is on telegram today, it's not like five years ago when people did not know what it was.
I feel this trend is going to stick for the upcoming years! It's not just Meta, every big player there is adopting this mentality.
Take Microsoft for instance, they have been pushing heavily what they called the New Outlook, which is basically a web-based client mirroring Outlook on the web (OWA) , packed into an EXE file (not sure if it is Electronized or not)! Then, they renamed the real native Outlook app as Classic Outlook to feel old-fashioned and outdated and as result, we ended up losing some core features that made Outlook, Outlook. We lose: COM Add-ins and VBA Macros, MAPI Support, Word as Email Editor, .PST File Support.. to name a few..
Speaking of new outlook, has anyone else had search just...not work? I'll search for emails sent from myself, to myself (of which I know there are hundreds) and get 7 results. Same in the web app, but outlook classic works fine. Mind boggling
True, but it's funny how C-level people at these companies mention the apparently ever-increasing percentage of their code that is written by LLMs every chance they get, but can't even maintain a relatively simple Windows application.
Zuck, six months ago: “Within 12 to 18 months, most of the code will be written by AI. And I don’t mean autocomplete.”
Meta, today: "Maintaining this basic Windows app is just too much work."
Out of curiosity, Does anyone know where exactly does the bloat of the electron come from in terms of ram usage, compared to a "native toolkit"?
Because just parsing html/xml/some declarative ui description to create a scenegraph and pushing it to the GPU is something I'm sure even native frameworks like Qt do.
Yet I can feel the latency in vs code vs. say sublime text.
It's tempting to blame the huge js blobs trying to create an application abstraction over a document object model but i feel like there should be more to it than just that...
It’s the extra API and layout rules. A lot of UI toolkit supports some version of xml for declarative UI programming. And they will create a widget tree to match it. But they’re far simpler than the DOM and therefore faster.
Also think all the web subsystem that has been added over they years. Every electron app is bundling those in, even the inspector. It’s shipping a whole VM with your code. Containers have at least the decency to strip things down to the bare minimum, but no one is thinning chromium to only what they need.
- HTML rendering - which is insanely complex to do efficiently for arbitrary web apps.
- Video conferencing software
- A graphics engine. Used for rendering web content, canvas2d, webgl, webgpu and video encoding & decoding for a bunch of formats. It also has a bunch of backends (eg CPU, Metal, Vulcan, etc)
- JS, and every feature ever added to JS.
- WASM compiler, optimizer & runtime
- Memory manager, process isolation per tab, and all the plumbing to make that work.
- The Inspector - which contains a debugger and most of an IDE for JS, WASM, CSS and HTML.
- So much interop. Like chromecast support, http1, http2, quic, websockets, webtransport, webrtc, javascript remote debugger protocol, support for lots of pre-unicode text formats, DoH, webdriver, and on and on.
- Extension support
- Gamepad drivers, web bluetooth, webserial, midi support
What am I missing? Probably lots of stuff. I have no idea how much each of these components contributes to browser bloat. But all up? Its a lot. Chrome is bigger than most complete operating systems from a decade or two ago. Browser vendors have to pick between fast, simple and fully featured. Chrome sacrifices simplicity every time.
I think Flutter could have been a good compromise here. Build a solid (and cross platform) desktop app in Flutter and have it run on all the major platforms. It'll use a lot less resources and also be quick (assuming they know a bit about UI profiling and eliminating jank).
Software engineering really took a dive in the last 10 years. For instance, KDE has a daemon that asks for donations, added by Nate "I am the king of KDE". Granted, the daemon is mostly pointless in general and not causing much issues (people are typically only bothered by it once then you can silence it), but just the time people invest here to harass others or add unnecessary software on other computers shows how there is a disregard for people. They simply try to leverage software to abuse people. I am totally against that (both what Meta does and KDE too, ever since Nate became self-proclaimed king of KDE; see also this blog here that showcases how Nate may not be as good as he tries to self-promote himself there - that is the criticism https://jriddell.org/2025/09/14/adios-chicos-25-years-of-kde... it always comes down to greed; Meta also is very greedy, why do they have spy-apps that eat so much RAM when idle?).
KDE is in a better shape than anything on its past. Whatever you feel about Nate, he cares — and that's a huge, almost unique quality today. Also, the nagging to donate doesn't bother at all — and has had a positive impact in increasing donations do KDE project.
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 problem is Whatsapp is now being used more and more in a professional context, even in Europe, and it's just not a pro software by any means. Searching for old messages is a pain, the web version is slow, there is now optimized overview or folders, etc...
And now it seems that there is not even a benefit to installing the native vbersion, they will probably do the same for Mac also now.
My Brazilian friend told me they use Whatsapp as a replacement for Slack since they don't want to pay for Slack As an Indian, I can confirm the same here for many companies
Complacency is the enemy of innovation. So many other chat clients are way better, yet WhatsApp is irreplaceable because it enjoys the competitive advantage of network effects.
What did we do wrong when simple chat app requires hundrets of megabytes of memory, or even gigabytes! Sure, its not just plain text but images and videos, but still...
Heh, when I had to use Whatsapp on Windows for a while for work, it was one of the worst pieces of software I've seen, almost rivaling Skype v7-v8. It was not redesigned for desktop, it was silently crashing minimum twice a day every day, and that's under very light use. You are telling me it got even worse? :)
Well, Messenger and Facebook were the same, and they just phased out Messenger. One of the largest tech companies in the world cannot afford to hire a team of Windows native app developers! Shame on Meta!
Will it be like signal now... it's supposed to be a web app but it still needs to update every single time i sit down at my computer. And after every update there is not a single perceptible change.
> 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
When I buy a refrigerator, if a model has insane power consumption that makes me think about my electric bill, I’d be less inclined to buy it. The refrigerator manufacturer is going to sell less. So in a way, you can say that they’re definitely paying for those wasted resources.
For software companies it’s the same, in a way. They pay whatever the consumers deem appropriate. It’s just that consumers don’t really care for the most part, so the cost is basically $0. RAM is cheap, and if a company prioritizes shipping features over optimizing RAM, that’s almost always going to be the deciding factor.
First of all, RAM is not cheap. Second, the average consumer is not able to install more RAM even if it was. Consumer hardware often has barely enough RAM to run Windows.
Power consumption of newly sold refrigerators is regulated by the U.S. government (and, I assume, other big countries), so I don't think this argument works in your favor.
How expensive is it? Is it expensive enough to suffer a month of feature lag? A year of feature lag? A decade of feature lag? Probably not.
Regardless, we’re talking about the average user. As the article implies, on average, users’ time is in fact cheap compared to the alternative, or maybe the time cost is simply insignificant.
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.
I force reloaded it now and it took only a few seconds. It's on CPU from 2014 on a 4G connection. However we are only two data points. Meta probably has a good knowledge of the distribution of the load times.
If your spikes in load time are random it could be the connection, the amount of free RAM on your computer in that very moment, or maybe how well it is syncing with your phone. However I don't know how it handles that. It used to require an online phone but it seems that it can do without it now.
Yeah, why not something else? There are a lot of better alternatives. Matrix (Element) although does the search functionality work yet? It sucked ass. I wonder if it works now.
Even Telegram is better, then there is Signal, Briar, and XMPP, too. They are fully featured ones. If you are fine with text only, then Ricochet Refresh is the best candidate as far as privacy goes.
Most parents I know dont even allow their children WhatsApp (as you said there are safer alternatives like Signal without weird social network functions you can barely control) so why would parents use it?
For me this just sounds nonsensical. I am sure it makes sense somewhere in the world
Where I live, WhatsApp is the standard. 100% of people have it installed, minus some hermits who have never heard of the Internet.
My parents know how to use WhatsApp and have it installed. My sister and her family, too. My friends, their friends, the scammer trying to explain to me how to access the crypto I apparently lost track of on their platform, my former coworkers, my current coworkers, the people I interact with for my freelance work, the government's road safety alerts, my ex-girlfriend who still has a bunch of my clothes, my neighborhthey areood group informing me when I need to put out the trash-they're all on WhatsApp.
It's the network effect. Even to get my family group on Signal, I'd have to get twenty people to install Signal, probably visit some of them to help them with the setup, do it again every time they switch phones, and so on. And they'd probably still default to WhatsApp because that's what they know.
I mean yeah, I'm sure it depends and varies a lot. I would feel more comfortable if they used something more privacy-oriented, and I do the same. The rest, of course, is up to me.
I do not think I would be able to get my kid off the grid completely so might as well use a better alternative, and in many cases you simply just can't because you have to submit your homework through Facebook, and so forth. Thankfully it has settled down a bit post-COVID but there may still be cases of this crap. I loathe it.
In any case, a privacy-oriented alternative is better than the cancerous Meta. If you want no IMs at all, well, that may be tough. Kids find a way, trust me. I know I did. :D
Have you tried WhatsApp? There are weird non moderated groups of children, organised crime and much more. It's a fucking weird and dangerous place to be around IMO.
You also end up handling 10x more faeces and vomit than you have seen in your existence to date ... while whatsapp is more gross, you handle it the same way you handle diarrhea - you hold your nose and deal with it.
When you're using WebView2, it uses Windows' built-in browser runtime (Chromium/Edge). Electron ships a browser runtime, but the article notes they're using WebView2.
the desktop app allows the taskbar icon to have notification indicators. these work offline, so i can quickly and easily glance at the bottom of my screen to see if I have any messages. these can be read offline, with the taskbar updating still.
the desktop app is considerably faster and more responsive.
the deaktop app allows OS level shortcut keys
the desktop app is easier to work with when applying parameters in programs like excluding it from my VPN or for sandboxing or for isolating network traffic. Or for looking at how much space it takes up on disk. (im not a web developer), it doesnt cause any confusion or mistakes to be made as its logical separation in OS is clear, this is also faster
the desktop app has better keyboard shortcuts that dont collide with your browser, and the same with right click menus
I can easily video call from various PCs while still not trusting my browser with camera/mic permissions
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.
Just open it in a separate browser window then? Different windows can have different sizes and get separate buttons in the taskbar.
I guess if you're using Microsoft's ill-advised window grouping feature it would work less well (require more clicks), but breaking websites out into entirely separate programs just so we can have separate windows because Microsoft screwed up the window management functionality seems like a very inefficient workaround.
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.
You know I heard something funny the other day, someone saying that now thanks to Claude Code, companies might go back to doing actual native support because the specialized knowledge and effort have both been basically automated now.
> WhatsApp for Windows was originally an Electron app, and it was eventually replaced with UWP after years of investment. Four years later, WhatsApp is going back to WebView2, abandoning the original WinUI/UWP native idea.
> My understanding is that the recent layoffs at Mark Zuckerberg-headed Meta likely disbanded the entire team behind the native WhatsApp. I don’t see any other reason why Meta would abandon its native app for Windows. Meta will save costs by maintaining the web app codebase on Windows, but you’re going to hate the experience.
Giving them more time won't change much if they have resigned from devs in order to save some money.
It seems that anybody mentioning Telegram is downvoted, but I'm gonna try anyway just to add a simple fact: I just looked up the app in my task manager, while being used, the Telegram app is using 24 mb of ram.
Telegram has its own faults and issues, but the native Windows app is incredibly good and fast.
It's always the same discussions here whenever a company decides to use Electron or a similar solution. It's beyond tiring to see the same arguments being repeated.
A company's goal is to make money by optimizing its resources. What benefits would Meta gain by maintaining native apps for WhatsApp across the three major operating systems? I can tell you: absolutely none, only negatives. Nobody except a negligible fraction of users would care about native performance or idle memory consumption. No one is going to switch to Signal or whatever the flavor-of-the-year messaging app is because of this.
It would be a different story if WhatsApp were to lose a significant portion of its user base due to the app becoming unusable or extremely slow. But for the vast majority, this change will go unnoticed or frankly won't matter at all. So, expect most companies to continue adopting Electron-like apps (for the few that still have native apps anyway) for exactly the same reasons.
Sorry to be blunt, but it's really tiresome to see these discussions going around in circles here. It’s pointless to keep debating this, it's not going to change. If one day a framework emerges that's comparable to Electron (or something similar) but requires fewer resources to develop against, I could see Meta and other companies considering it... provided the migration costs aren’t too high. But again, no end-user truly cares about this.
Just another reason not to use services based on closed protocols like WhatsApp. With open ones, you can just choose to use another client, even a terminal-based one that uses 2 MB of RAM if you like.
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 mean I know that I can google it up but I'm looking for a working example. I found some code in github that is obsolete. Also whatsapp requires phone code and qr scan so looks like it's designed to prevent a server-only bridge.
All this “engineering” from Meta and algorithm acrobatics with hundreds of optimization puzzles and they accept a solution that performs completely far worse in both runtime and space complexity.
Whoever believes that this is the acceptable solution from a trillion dollar company would have failed their own interview.
No company would accept a huge regression like that and push it to billions of users but Meta.
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.
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!?
Define “scarce.” A pair of 16GB modules (32GB total) is around $100.
You can buy an entire complete mini PC including 16GB of modular RAM for $240 on AliExpress.
I’m not saying “don’t optimize.” I’m saying that watching your task manager, seeing a big number and freaking out isn’t really the definition of unacceptable performance.
> 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.
I don’t think that’s a reasonable expectation at all. That’s like saying “oh well we landed on the moon with a turd burger of a computer so that means I shouldn’t need more than 8kb of memory!”
Okay but I’m not trying to land on the moon, I’m trying to have an HD group video call and maybe play Cyberpunk in 4K later.
Let me ask you, how much did that 8MB of RAM cost you back in the day? I bet it was more than the $100 it costs to get 32GB of RAM or the $200 it costs to get 64GB. Before you apply inflation!
> 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.
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".
He did, via the task manager. You're the one saying high RAM utilization doesn't matter because 'wrong reasons in theory and in practice', so it's on you to check and confirm it so that you could be correct at least in practice in this specific case
Oh, man, how can you be wrong about everything? Here is the author noticing performance issues, he's even in a "but in theory it doesn't have to be slow" camp that's closer to yours:
> An app can use a lot of memory, and it does not necessarily mean it’s a performance nightmare, but the issue with the new WhatsApp is that it feels sluggish. You’re going to notice sluggish performance, long loading time, and other performance issues when browsing different conversations.
Honestly I think you're mostly correct. The amount of people using WhatsApp on the desktop is probably rather limited, certainly in the scope of WhatsApp usage in general. Memory, while I feel that a gigabyte is way to much for what is essentially a chat app, it is virtual memory, so it's not as problematic as I'd like it to be.
The issue, I think, is who the desktop users are. They sales people, they are people who conduct business over WhatsApp. The buyers at a previous job uses whatever the sellers in Asia, eastern Europe and the middle east are using. A long time ago, that was mostly Skype, now it WhatsApp. There a huge benefit to having WhatsApp on your desktop, with easy copy/paste, Excel and everything you need to make the deals.
Maybe Meta doesn't believe you should do business over WhatsApp and don't wont to cater to that crowed.
I would love to see what a professional Windows application developer, if those are still around, could do with a native WhatsApp client. Using modern C++, or just C# and all the tooling provided by the platform, how small and functional could you actually make something like that.
I agree about this potential of most WhatsApp users residing in markets with less powerful median hardware.
Still, I think the experience reported is very similar to running Chrome, and I think any laptop with 8GB of RAM can handle the application plus Excel and a web browser (or just run WhatsApp in the browser) just fine.
A complete mini PC with 16GB RAM, 512GB storage, and a relatively modern processor goes for like $240 on AliExpress. And that’s before you consider used hardware.
It would be interesting in knowing how many feel like I do. Running an application in a browser window or tab is measure of last resort. People already have tens of tabs, if not hundreds, and multiple browser windows open, stuffing an application into one for those are terrible for the user experience. That's a worse solution than a web wrapper.
It's much easier to locate an application that has it's own process and presence in the operating system.
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.
As the person who designed and fought for this app, I am a bit sad about the change.
The native app was by no means perfect, but it felt like a real productivity tool that was trying to be respectful of it's environment.
I've come to the conclusion that native desktop apps are just not viable from large companies, even if there is headcount. The problem is coordination cost.
If you want to launch new features and experiments here, there and everywhere, then the coordination complexity increases nonlinearly with the number of platforms.
If you can sustain a more deliberate, low churn pace of development then it's workable. Features can be well defined and then implemented by the platform team as they see fit. But if you want a more fast-paced, "just in time" style of development, you need to coordinate with every team for every change... wouldn't it be nice to just write web code and be done?
Even Microsoft are building this way these days.
This is why ironically small companies seem more able to support native apps than large ones. The more "stuff" that's being worked on concurrently, the harder it is to support multiple platforms.
Is it really that useful to have feature parity across all platforms? In Telegram, for some features, it just says "please open this message on your smartphone", and that's fine. If I had the choice, I'd prefer fewer features and lower resource usage over having access to the very latest functionalities, and you can offer the web version as a supplement for whatever is missing.
I am baffled by this. I wrote a cross-platform GUI for an audio signal processor in wxWidgets that rendered all of its own widgets (own Draw calls, for faders, graphic EQ, compressors, drag/drop linking of nodes for a layout, knobs, meters/scopes) and incorporated Horde3D as a 3D rendering of the arena. It ran on macOS and Windows. Another chap handled the network control code that included joining multicast groups to discover the devices, and the device itself had a series of DSPs on it with an ARM processor for drawing on the LCD and handling the network stack and interfacing between the DSP and inputs from the network. That's 2 people.
So you're saying that it is impossible for a large company to somehow use native toolkits to draw text bubbles and emojis?? Video and audio is another matter, but MSN Messenger managed 75% of this decades ago, natively.
> So you're saying that it is impossible for a large company to somehow use native toolkits to draw text bubbles and emojis??
One weird thing about software development is that there are plenty of things which motivated individual developers can achieve which large companies can't even write the requirements for, let alone achieve.
Hacker News just recreated startups from first principles! /s
But seriously folks, this is why there will always be room for startups.
Megacorps are slow lumbering beats that suffer from entropy and signal loss at every edge on the graph.
The example here is that some marketing function gets the signal from Zuck to put Lego duplo characters everywhere because metaverse. Of course 90% of the company knows its dead on arrival so they are going to drag feet and try to work on their actual problems (or their local feifdom mandate) and wait for the latest fad to blow over.
Super wasteful, super inefficient but hey ads make an insane amount of money so Zuck can do whatever for a loooong time.
This is why Warren Buffet advocated dividends. Companies and people have few good ideas. Management however uses this money from the good ideas to fund boondoghles (see metaverse). The thinking here is that the money would be better utilized returned to investors to fund other good ideas.
If they want fungible engineers, yes. They don’t want to pay extra for an expert in wxWidgets and Horde3D. They don’t want to wait while that expert’s replacement comes up to speed on Horde3D. They don’t even want to wait for any existing engineers to learn these two technologies.
They know web, they can manage web - web is “less risky.”
I too did not know anything about Horde3D when I found it and incorporated it.
You're deliberately missing the point
Once you have MBAs, they don't want you wasting their 6-month bonus
You don’t need to be an expert in wxWidgets to send some text messages…
npm instal vxwigdes doesn't work
> They don’t want to pay extra for an expert in wxWidgets and Horde3D.
In my experience, in a large software company [0] it's very common for new folks on a "team" to have to spend one or (often) more months learning both the software they're now working on and the various libraries used in its construction.
It's very nice if you can find an expert in everything you've used on a software project, but that's not going to happen often. [1] And -IMO- if whoever you've hired can't generally come up to speed on WxWidgets in a couple of weeks while also becoming familiar with the rest of the project they're now responsible for, they're not someone you want working on your project.
[0] Which is the sort of company we're talking about right now.
[1] In part because companies generally don't want to pay enough to hire such people.
I don't think that's what he's saying precisely.
I think what he is saying that native platform apps get delegated to different teams and coordinating among those teams becomes an additional cost. You don't want each team going off and doing their own thing.
Your 'answer' is "use a cross-platform GUI toolkit" but that has its own challenges. Not least that you typically build a native app because it delivers a native experience that users expect.
In general (and I accept there may be counter-examples) cross-platform tools fail to do this.
nobody they hire knows how to do anything that isn't react anymore.
They said software will eat the world. They were sort of right. React will eat the world.
If you can deploy your wxwidgets app as a networked app in the browser too, then sure.
That's not what the issue here is.
The issue is not that a native Windows app needs to run in a browser.
The issue is that a native Windows app has been replaced by yet another browser.
Yes. Arguably because of the organisational cost of maintaining both a web version (which they arguably need) and a native windows version (which they arguably don’t need).
Bubbles are antipattern that only adds more padding to already excessive padding.
it's simply just cheaper, and almost nobody is going to ditch WhatsApp for it, so it's a no-brainer for companies
yes, precisely that. Or if you want to generalize further: Companies have staff and processes to "improve" the product, process and productivity. After a few years, when they've done a marvelous job (worth every penny) the job doesn't exist anymore but they continue to tinker and ruin their creation.
In my manual labor occupation the office folk often try to get away with a horribly inefficient schedule designed to make their job easy. I often have to remind them that they work for me. I do the actual work, your job is to optimize it.
This to me is the same thing as replacing a rather decent desktop client with a web wrapper. This is their update, its obviously bad for the customer. The excuse is to make further updates easier. There is reason to think these will also be bad for the customer.
Someone once explained to me that the process of everything we build and create is very similar. If some young sector has a wildly different approach one should be very skeptical. It happens that an architect still has work to do after delivering the drawings. Sometimes it is necessary to recall thousands of cars.
Ideal would be to have a perfect construction drawing then build the machine. The architect moves on and designs the next garden. A plumber puts the pipes in, tests if everything works then goes to the next construction site. The difference with software is that, when done, it can last forever. The opposite of what the industry pretends to be true.
As much as I hate the cowboy cryptography of it, Telegram could do it. They are a 30 person team and maintain a web version, a first-class Qt desktop app, and native iOS and Android clients.
I would wager that if they wanted to simplify coordination, Flutter would easily kill iOS and Android with one stone, and optionally desktop and web if they so wish, all without a 1GB web wrapper.
You're in a very unique position to render a great public service just now - could you point in the direction of the secret storage used for the database key on Windows? I tried to locate it before but could not. Since that DB is about to be bricked it'd be real nice to export from it imminently
You're absolutely right that the issue is the coordination cost. It's not about the number of resources but just the fact that you need those resources to coordinate, slowing everything down.
Not a problem in waterfall, since you can set the targets beforehand and just have the teams work in parallel. In an "Agile" setting though (not the manifesto version, the current practice version)? It's a huge mess.
So then the question becomes, is this coordination cost worth it and how much are we willing to "spend". It seems the cost is worth it for Android and iOS since the native app experience on those platforms is so much better.
The macOS app is just a tweaked iOS app so it's also easy to justify.
But what about Windows? The Microsoft provided APIs are a disaster that keeps getting rewritten every half decade, and even Microsoft barely uses them. Windows users don't have a "feel" for a native app the way macOS and mobile users do, since there hasn't been a "native app experience" on Windows for a very long time.
Just look at the 2 context menus on Windows Explorer, they can't even get the sizes and colors between them right.
Meta would have been better off doing like Telegram and just using Qt.
> Microsoft provided APIs are a disaster that keeps getting rewritten every half decade
What a wrong and misleading statement.
Not they aren't. Otherwise Winamp 2.95 from 2003 wouldn't flawlessly work on my Windows 11 install 23 years later. Same with my Unreal Tournament 99 installation that I just copied over via a CD left from my Windows 98 PC.
As long as you haven't used any undocumented APIs or made your app hack its way into the OS via hooks like some games did back then for performance optimizations or some anti-piracy SW did, then most Windows apps from over 20+ years ago will still work today and it's also why WINE works so well to get Windows app working on Linux, is precisely because Microsoft HASN'T changed the APIs.
They're half-right. Microsoft do keep supporting the OS APIs, but it's the UI frameworks that get half-assed and abandoned. Which is why so many people recommend Avalonia these days. Microsoft don't even reliably use their own frameworks - go through Win11 and see how many Windows Forms dialogs are still present in things like settings and Explorer.
(WinUI is also a hybrid: since it uses the DirectX APIs rather than the old GDI model, most of it is in a userspace package that's delivered as an .appx)
It's not wrong nor misleading at all. Win32 doesn't even support dark mode properly because it's effectively "deprecated" like all the others in the graveyard.
Who cares if they keep working if the only way to get dark mode is to custom render the whole UI yourself? Might as well do something non-native at that point.
Microsoft does not provide a serious UI library for applications to use. It provides 10 half broken and deprecated ones.
>It's not wrong nor misleading at all.
Yeah it totally is and I explained why.
>Who cares if they keep working
A lot of people.
>if the only way to get dark mode is to custom render the whole UI yourself
Most the apps I use support dark mode: Chrome, FF, Notepad++, Jellyfin, Qbittorrent, SumatraPDF, Signal, Wiztree, WinSCP, and others I'm forgetting. Seems like it's not an impossible task for the developers.
And on Github you can find FOSS apps[1] that have implemented light/dark mode switching for their UI, so you can just copy what they're doing if you don't know where to start.
[1] https://github.com/AutoDarkMode/Windows-Auto-Night-Mode
Are you speaking as a user? I'm speaking as a dev. Of the applications you mentioned only a couple actually use the Win32 controls (like Notepad++) and they custom render them to get dark mode. That's a lot of extra work they had to do, essentially draw the whole look themselves.
Chrome is not native. FF is not native. Qbitorrent is not native (it uses Qt, right there in the name). Signal is not native, it's a web page bundled with Chromium (aka, an Electron app). WinSCP only this year actually started using the right font! But at least that one is native I'll give you that.
The GitHub you sent doesn't really have anything to do with the discussion.
> Win32 doesn't even support dark mode properly because it's effectively "deprecated" like all the others in the graveyard.
Remember when you used to be able to make custom Windows color schemes? Where you could color each widget type independently? I miss that.
Assuming that your report is true, if Microsoft gave a shit, they'd come up with four color schemes (high-contrast light/dark mode and regular-contrast light/dark mode) for Win32 programs and sync them with the relevant "modern" settings. Alas.
What do you do if you're a Win32 program who refuses to use the system color scheme? Well, I guess you'll stand out no less than you would have been in the Windows 95/98/ME days... stubbornly refusing to conform to the user's commanded colors and all that.
I like to joke that we already had dark mode on Window 95. It didn't work super well with black colored icons but you could always just tone down how dark you made it.
We also had pseudo-dark mode themes for Windows XP. But the new dark mode stuff in explorer doesn't use uxtheme anymore.
> I like to joke that we already had dark mode on Window 95.
When I say it, it's not a joke! :D
> But the new dark mode stuff in explorer doesn't use uxtheme anymore.
I'm only familiar with Windows 10, and in that version Windows Explorer seemed to conform to the system color scheme just fine. Did Microsoft break that at some point in the past three, four months, [0] or did they royally fuck the dog in Windows 11?
For me, the *maddening* color-scheme-nonconformance was Task Manager. No matter what I did, it was *white*. It made it substantially unpleasant when you wanted to check a performance something-or-other in a dark room.
[0] Ever since I learned just how well video games work on Linux (via Steam), I've not booted into Windows. It's so nice. Folks report that there are launchers to run games in the Epic Game Store, but I've not yet bothered, so I can't provide first-hand info.
Windows Explorer still respects the color-scheme preference but the problem is the way it does it.
When you as a dev use a Windows provided control (be it a button, a toolbar, a context menu, etc.) the system grabs the theme information from something called uxtheme. This is how it worked in Windows XP and why you had like 3 different themes you could pick from.
But dark mode doesn't work like that, there's no uxtheme for dark mode. Windows Explorer is given special treatment by Windows with undocumented APIs. Other apps are not so lucky. If they want dark mode, they need to effectively draw the whole UI themselves. Even apps like Notepad++ have to do that these days.
While the old APIs keep working, Microsoft does like to come up with completely new APIs every five years or so.
If you want to do basic UI on Windows today, you can use:
And I'm sure there are many others that I'm forgetting.Adding new APIs does not hinder your ability to use the old APIs you're familiar with.
I think apps like Notepad++ and Sumatra PDF are still written in Win32.
Of course it does, those APIs don't work well together. It's a pain in the ass to use the features only available in the new APIs on old applications. Microsoft has put some effort into making it work but it's still hugely hit and miss. You can mix WPF and WinUI2, but not WinUI3.
Amazing. I thought they fixed that years ago with "XAML islands", but apparently [1] they un-fixed it again with WinUI 3 and still haven't re-fixed it?
[1] https://learn.microsoft.com/en-us/windows/apps/desktop/moder...
Yup, though I wouldn't even say they "fixed it" with XAML islands since they lock you into .NET core 3...
They also keep doing boneheaded decisions like the new DWriteCore, which is a reimplementation of DirectWrite, and some features are only available in DWriteCore, but DWriteCore is not a strict superset and doesn't even interoperate directly with Direct2D like DirectWrite did.
So once again, either stay on the "stable" as people like to call it version, which is effectively frozen, or use the new one and rewrite half you app!
And then people wonder why nobody uses Microsoft APIs if they can avoid it.
> Meta would have been better off doing like Telegram and just using Qt.
Qt would certainly be the better choice. However, since Meta already has a web version of the WhatsApp client, the WebView2 path was an easy and inexpensive option. After all, MS itself paved the way with Teams, Visual Studio Code, and Outlook.
VS Code is Electron not WebView2
> The Microsoft provided APIs are a disaster that keeps getting rewritten every half decade, and even Microsoft barely uses them.
What are you talking about? The Windows APIs have been stable for at least 20 years.
I think few people are using the Win32 APIs directly and Microsoft has been shifting their stuff a bunch.
WPF (Windows Presentation Foundation ) had been the recommendation a while back, but then Microsoft started pushing UWP (Universal Windows Platform). Both of those have been succeeded by WinUI 3. UWP has been deprecated. WPF is alive, but more in a maintenance mode while WinUI 3 takes over the future. Oh, and WinForms were popular, but now not.
There's definitely been a lot of shifting and I think that's caused a lot of annoyance in the developer community - especially as Microsoft ships JS/WebView2 based apps instead of dogfooding their own stuff. If you hang out in the dotnet subreddit enough, you'll definitely see Windows devs annoyed at Microsoft's mercurial attitude toward their desktop frameworks and seeming lack of direction/interest - as their big new things are JS/WebView2.
afaik UWP still works though, and switching to WinUI3 is mostly just updating the namespace of your windows components
Stable is the wrong way to view it. Frozen is the right way to view it.
You have a graveyard of frozen APIs you can use, with new features only available on the later ones.
They are talking about UI. Winforms (abandoned), WPF (abandoned), UWP (abandoned), MAUI.
Windows itself was always using their own custom stuff and not any of those. The closest thing to an established framework in Windows is react native that is sprinkled here and there. And QT that OneDrive uses
you can still use all of them to write windows apps, even though they might not receive the latest & greatest shiny features
Yes, they are optimized for the developer, not the end user. It's a terrible situation that repeats all too often.
The developer makes a highly optimized native app that is a hit with the user. Now that it's a hit, the developer is now big company. And big company needs telemetry, A/B experiments, fast iteration. They can't just sit around waiting for the original developer to spend more years crafting another masterpiece. Due to tech, sign-ins, or what have you the app is also a kind of monopoly. Since it's a monopoly, quality doesn't matter. It can be a bloated electron thing and nobody can do anything about it other than suck it.
It's worth wondering why we need so many changes done to a chat app. Everything they introduce to this app just makes it worse. I just want to have something where I can chat and call my friends with no frills.
you kinda answered yourself and perhaps suggested the answer, but it's worth saying out loud: they don't want whatsapp to be a chat app. they want it to be the next facebook and they want to smuggle it in a chat app container. if it seems like if it starts working out, I'll be buying Meta stock with disgust.
Why buy stock of something you don't like? Surely you can find other profitable investment options that also then don't support the thing you don't like?
Buying shares in a company supports the company financially only in very limited contexts (e.g. IPO). Buying shares primarily benefits you as an investor.
Buying shares in a company doesn’t benefit its operations, like making a product, directly. Hence, buying shares != support company’s products, however counterintuitive that feels.
“Buying shares primarily benefits you as an investor.”
Maybe during a never-ending bull market … but all bull markets end … look at the “lost decade”
> The problem is coordination cost. If you want to launch new features and experiments here, there and everywhere, then the coordination complexity increases nonlinearly with the number of platforms.
Why not use a common library, where platform teams can update what features they use from it at their own pace?
Or why not use some other tech that allows multi-platform native shipping? The company I just started at, RemObjects, builds software for Mac and Windows (and iOS etc) from a common codebase. They just keep the UI separate, and all that is done when there's a new feature is _only_ UI layer coordination.
So an app has a C# (say) or Go codebase, and a UI layer in WPF and Cocoa.
I feel like coordination cost goes way down with both of these:
a) Library approach: central functionality, platform teams not tied to specifics
b) Shared codebase where all logic lives: platform teams do only UI
Edit: forgot to add, all this is can be across languages, ie maybe you have a Go shared library and write your Cocoa UI layer in C#, that's fine, their tech makes it all interop.
Personally I think the challenges with this approach (having literally used a Go shared library + native UI myself): 1. The web still exists. You can't practically use a Go shared library on the web. And you probably don't want your shared library written in JS. 2. In my experience, most of the coordination is about the UI, not the underlying implementation. So the human cost isn't reduced much with shared libraries. 3. At a big company, "feature teams" can't easily ship native desktop UI because feature team eng only knows web...
I do think this approach is super viable with a product development approach that is more waterfall, however. Where a team owns the platform and it's design.
Separating the UI from the functionality is not as easy as it sounds. Often the first iteration of a program has the business logic tightly coupled to the UI, and is designed for a single platform. You need engineers with foresight to refactor before it becomes a mess
Also even the non UI is not trivial. I once worked on a very la4ge code base that was console only. We en we eventually gave up on our Windows and Mac ports. Granted it was C++ …
"only" is doing a lot of work here
This is ridiculous. The real explanation is a level of uncaring incompetence that can only be sustained in large organizations.
> nonlinearly
Calling it nonlinear paints some horrible exponential picture. It's just squared (all to all communication). We deal with squared problems all the time (that's literally what distributed consensus is all about.....)
Practically it’s not squared because people randomly just ignore you (or even worse, maliciously comply), and tracking down all the people doing those things makes it more like exponential.
Eventually, the effort required to actually manage doing the thing is at least as large/larger than just doing it - ex: every large organization.
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...
The native client had features the web one didn't have, like video calls, so it was actually the one leading features-wise.
I guess it's because they decided to make the web client first-class, and instead of maintaining a native client for each platform (windows, mac, linux...) they opted to just serialize all non-mobile uses (which probably aren't that important to them to begin with) to web.
Windows doesn't even feel like a native Windows app anymore.
This is because many of the "native" windows components like the start menu are written in react native.
This is wrong. The "recommended" section of the start menu is written with React Native but compiled to native XAML and not running web technologies. See also: https://news.ycombinator.com/item?id=44125217
Wait.....why develop that small part so differently than the rest?
Classic case of shipping the org chart
(in case anyone needs a reminder of Microsoft's org chart: https://www.globalnerdy.com/2011/07/03/org-charts-of-the-big...)
> in case anyone needs a reminder of Microsoft's org chart: ...
To be a little glib:
As someone who has worked for a few Big Software Companies, I guarantee that Microsoft's org chart has changed significantly at least once in the last fourteen years.
Re-organizations aren't referred to as "shuffling the deck chairs [on the Titanic]" by the rank and file for no reason, yanno?
Is that's why on a system where I removed widgets and web search results windows keeps msedgewebview2 active?
I don't think that the activation of this process is tied to the enabled-state of any features and the recommended section/start menu in general does not even use a Webview. It may be active all the time because various parts of the OS use it (I think the settings app for MS account stuff and the Explorer for some Office 365 features?) and it's faster keeping it active instead of starting it constantly.
I thought they just rewrote Start in Rust?
Anyone remembers Active Desktop?
They main purpose of active desktop was to claim IE was an inextricable part of windows
Windows still has Active Desktop, doesn't it?
I believe that went out with Internet Explorer. You certainly can't set your desktop to a web page any more.
Dear God, I hate the way the Windows 11 Start Menu takes slightly too long to open - long enough that I often accidentally close it again. You can actually watch CPU usage increase if you toggle it.
> You can actually watch CPU usage increase if you toggle it.
Not any more, I kept windows 11 around for gaming but I binned the partition, how they managed to make a 7950X3D/7900XTX feel "clunky" is astounding given that I live in KDE which has a reputation for been a "heavy" DE and yet it it feels instantaneously fast in every dimension compared to windows 11.
KDE is a "heavy" DE! Compare its startup time to -say- Windowmaker.
Full disclosure: I use KDE almost exclusively.
Never use the start menu anymore with CmdPal in PowerToys.
macOS spoiled me.
Same could be said for macOS, sadly. Today it looks like a bad render from a teenager in 2012
Yeah, i don't really miss frutiger aero, but they lost me when they made the dock flat.
No, not at all.
I keep fighting with devs that want to use web-everything.
Luckily for me, i have the ultimate power so i can just say "Firefox doesn't support that. I don't use chrome. period."
But lately i had to start saying Safari doesn't support that so we would lose all iphones, or we can start investigate after we have a working solution. God damn react.
It’s such a mess isn’t it.
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...
Reminds me of this 2013 story where they moved to native Java for Android and hit limits with e.g. too many methods and instead of refactoring or just not bloating their app they hacked some internals of the Davlik VM while it's running during app install: https://engineering.fb.com/2013/03/04/android/under-the-hood...
Mobile is where the users are. Desktop users are vanishing before our eyes as a market segment.
For some application certainly. Instant messaging of course has many strong point in term of what is to be dealt with. Short messages, photos, quick visios.
But to edit large document, visualize any large corpus with side by side comparison, unless we plug our mobile on a large screen, a keyboard and some arrow pointer handler, there is no real sane equivalent to work with on mobile.
A 2012 iPhone and a 2025 Windows PC shouldn't be assumed to have the same tradeoff set just because "web vs native" is found in each description.
It's a tradeoff, different companies are allowed to chose differently or even to change their mind after some time.
I just don't get it. Well ok, I kinda get it. I get the feeling nobody wants to build native apps anymore, or they don't or can't advocate for it strongly enough, or those advocates aren't in a position where they can make decisions.
And from a manager's point of view it seems wasteful to develop the same feature across multiple platforms. And if you look at the numbers it does, but numbers-driven development has been a huge issue for a long time now. They don't consider performance or memory usage a factor, and perceived performance is "good enough" for a web app.
> numbers-driven development has been a huge issue for a long time now
Ever since UX and UIs started to be driven mainly by metrics and numbers, I felt something started going wrong already. Since then (the decades...), I've learned about "McNamara fallacy" which seems to perfectly fit a lot of "modern" software engineering and product management today:
> The McNamara fallacy (also known as the quantitative fallacy) [...] involves making a decision based solely on quantitative observations (or metrics) and ignoring all others. The reason given is often that these other observations cannot be proven.
https://en.wikipedia.org/wiki/McNamara_fallacy
I occasionally use whatsapp or discord webapps, but won't install the apps. I don't know for sure which sandboxes the processes more effectively, but I kinda assume the browser is my better bet for protecting myself from crap.
Happy to learn otherwise, but might be a datapoint on user behaviour (which could also drive corporate choices).
Why just they don't give the Web UI code to their AI and tell it to convert the code to Windows native code without making mistakes?
Stop it lol
When you use a desktop computer with 32GB RAM and everything you do work-related runs on a giant world-wide datacenter, numbers start to look small.
When a developer/company decides to not implement things local and proper way and push it out and be done with it regardless of the resources the product use on the users' system, I mark the company as lazy and cheap, actually.
Shoving the complexity and cost to users' is being inconsiderate.
Ref: https://pbs.twimg.com/media/DuJMkjIXcAcRru9?format=jpg
Yeah, I kinda agree with that reluctantly.
As much as I like super snappy and efficient native apps, we just gotta accept that no sane company is going to invest significant resources in something that isn’t used 99%+ of the time. WhatsApp (and the world) is almost exclusively mobile + web.
So it’s either feature lag, or something like this. And these days most users won’t even feel the 1GB waste.
I think we’re not far away from shipping native compiled to Wasm running on Electron in a Docker container inside a full blown VM with the virtualization software bundled in, all compiled once more to Wasm and running in the browser of your washing machine just to display the time. And honestly when things are cheap, who cares.
Do you think most people have 128GB laptop? It’s more likely to be 8 or 16 GB. The OS os likely taking 4 or more, the browser two or more. And if you add any office applications, that’s another few GB gone. Then how many Electron monstrosities you think the user can add on top of that?
Some PM: users are locked in to our ecosystem; they can't load other apps after ours! /s
But for real, the average number of apps people downloading get fewer year over year. When the most popular/essential apps take up more RAM, this effect will only exacerbate. RAM prices have also doubled over the last 3 months and I expect this to hold true for a couple more years.
> And honestly when things are cheap, who cares.
It depends what metrics are considered. We can’t continue to transform earth into a wasteland eternally just because in the narrow window it takes as reference a system disconnect reward from long terms effects.
>I'm actually sort-of impressed, in that I have no idea how I would even make that happen!
Let google do it on your behalf.
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.
If they hadn’t fumbled the UI framework, and to a lesser extent the language design, you’re effectively describing .Net’s original role in the MS ecosystem and their play for web dominance.
JIT compiling, native graphics, quick and easy online deployment into sandboxes, support for desktop standards like keypresses, etc.
It feels like the web ate up the windows desktop experience instead of that experience spreading cross-platform and dominating.
Mozilla did that for a while, but ended up giving up on it, and spend 5 years pulling the UI markup out of their code and engine.
https://doc.qt.io/qt-6/qmlreference.html
Yes, but QT is precompiled. If QML can be served over the web and JIT compiled locally, that might be closer to what I'm talking about.
We could call it Flash. Or Java Applets.
You have completely misunderstood the proposal. None of those drive OS native UI widgets through markup and scripts downloaded from the web.
Ah no I was just being snarky and not at you. We're all missing (hyper)text markup language as the UI markup layer, plus js. We previously had some kind of alternative "load app from internet" but the runtimes were external (and provided lots of fun security holes).
I completely agree it would be better to rethink what we want and have markup/code/etc optimised to the task of rendering applications. I don't think it'll happen unfortunately.
Well if you are concerned about a resource hog, why are you running Windows in the first place?
There is a reason they became a multibillion AI-powered behemoth
Do you mean, USA Military–industrial complex?
https://en.wikipedia.org/wiki/Military%E2%80%93industrial_co...
https://www.intereconomics.eu/contents/year/2025/number/2/ar...
https://www.msn.com/en-us/news/technology/mark-zuckerberg-jo...
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.
I see the same bugs. It looks like after ICQ, writing a chat app has become an impossible computer science problem (skype, teams, whatsapp,…). How did that ancient civilisation from the 90s managed to build a functional chat app? The know how is lost to times.
The more time passes, the more impressed I am with mIRC. It was an incredibly fully featured chat client - with hundreds of features, and its own scripting language for more advanced use. All that in a 4mb download. It probably still works great, to this day.
As a teenager, I thought we'd get better at making software over time. Not worse.
It still works great and it's still being updated! https://www.mirc.com/news.html
> How did that ancient civilisation from the 90s managed to build a functional chat app?
By only accepting ANSI input, not encrypting any messages, and not bothering to protect users' from remote attacks.
Facebooks's GUI stack for WhatsApp may be rather buggy but on a technical level there's a lot more going on than back in the days of unencrypted TCP connections over plaintext protocols.
Meanwhile, Telegram has an excellent desktop app (despite their terrible protocol), so it's not like the knowledge was lost either.
SSL and basic encryption isn’t exactly rocket science today. I have not used the telegram desktop app but their web app is completely broken.
Secure, end-to-end, multi-device encryption isn't easy. Plenty of people try and fail to build secure messengers based on top of PGP and Signal's protocol.
I don't use the Telegram web app, but their native apps work excellently. The insertion of ads has been a major disappointment but the chat UX itself is still great, even on native Linux.
But Telegram end-to-end encryption is optional as far as I know.
It is, and it's a good reason to avoid the platform, but they do support E2EE _and_ have a good, native desktop application.
early ICQ didn't have to support Unicode IMEs either...
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!
The WhatsApp web app is not perfect (no software is) but I’ve never had any major issues with it. It’s snappy and very rarely does it glitch out. I find your comment surprising.
It's a ram hog if you stay the tab open for a while, with ton of messages. So from time to time I need to close the tab and open again.
Huge perf issues because of this.
Also had some serious bugs for a few week. Had to let WhatsApp Web wait for completely sync for 15 minutes~ or else it just stop responding and crashes everything.
Sounds like the all powerful mighty Meta didn't have capable engineering working on that app. No idea how that could happen, given that they only hire top talent ...
Yes, also a heavy user and I'm actually excited about this change. I'm sure the Electron app won't be perfect but I am sure it won't be worse.
I agree but also: famous last words. :)
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.
While I don’t have as many problems as you seem to, I did notice that it was much slower (like a minute or two) to “connect” after opening the window compared to before.
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.
Yeah I tried telegram. None of my contacts did though…
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.
> This is always what efficiency leads to, higher resource consumption.
That's not the same thing. If you make batteries more efficient then people build more devices that run on batteries and then you need more batteries than ever. But you also get a bunch of new devices you didn't used to have.
When computers get more efficient, miserly corporations cut staff or hire less competent programmers and force their customers to waste the efficiency gains on that, because they don't have enough competition or the customers are locked in by a network effect. The difference is whether you actually get something for it instead of having it taken from you so somebody else can cheap out.
Both of you are right.
Without any regulations companies will create software that costs more to the users, but saves pennies to the company.
So, we have regressed in efficency.
They are not mutually exclusive but one follows from the other.
Your framing is correct
It’s company vs user not regression vs efficiency
There's a lot of advanced home insulation out there. In theory, buying expensive insulation is much better than making energy cheaper, because you only pay for the insulation once, and then save money indefinitely from it. But most people don't re-insulate their homes (or try to find cold-spots, seal leaks, etc). Despite the fact that we have more efficient insulation, it hasn't driven up demand for insulation. Why is this? The idea that efficiency == increased demand is a logical idea. But humans aren't logical.
We have more efficient hardware, so we should be seeing hardware everywhere. But actually we all use the same amount of hardware we did 20 years ago. We all have a desktop, a laptop, a smartphone, a modem, hell even a computer watch, like we did 20 years ago. But they're more efficient now.
Where we do see more hardware now, is in pre-existing appliances, like fridges, TVs. And why is there more hardware? Sometimes it's just a remote control ("turn off TV"). But more often, the increase in adoption follows a specific motive: like figuring out that they could sell ads or subscriptions through it. And the hardware itself is not what's making the ads work: it's the software, that collects the information, feeds it to companies over networks, lets them data-mine it and sell it continuously. Both of these are just serving a human interest to make more money through the creative use of surveillance and marketing. And honestly, most of this could've been done with hardware and software 20 years ago. But because it's in vogue now, we see more of the hardware and software now.
We are comforted by coming up with an explanation that makes logical sense, like the paradox. But the paradox applies most when it coincides with an unrelated human interest. What motivates us is not A+B=C, but a combination of different calculations that sometimes involve A and B, and incidentally add up to C.
A reasonable comment, unfairly downvoted.
That said, I do firmly agree with the parent: there is choice involved here, engineering decisions.
The Microsoft world is particularly bloated, as they insist on shoehorning in unwanted anti-features into their OS. Much more efficient operating systems (and ways of building a chat client) exist.
Jevon's paradox may describe a general tendency, but it's no excuse for awful software.
> 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
Completely wrong an irrelevant analogy!
I see where you went sideways, you confused trigger with consequence completely. Here the efficiency for the very same application got very, very very, increadibly hugely, galactically worse. Not better. The premise of the linked article is that the same application gets more efficient. Then comes the increased use of the affected resource. Here the same application went shit, complete shit, concerning efficiency, and had no effect on memory manufacture and prices, WhatsApp is not that significant in computing.
Probably a better analogy was that if technological and tigtly related economical advances raise the availability of resources (here memory, CPU) then things go dumb. If something then the generalized (from time to any resources) Parkinson's law is relevant here: increasing available resources beyond reasonable leading to waste and bad quality outcomes, overcomplication.
To be fair, the resolution and bitrate were worse, and it wasn't end to end encrypted. I agree, though, that we've regressed.
Wasn't early skype end-to-end encrypted?
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
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!
From what I've seen web devs spend a huge portion of their time upgrading their dependencies, fighting with frameworks (they all curse react), or moving to the latest cool bundler.
Nobody ever got promo for not rewriting the app
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.
It probably isn't really using that much but it will have reserved that much. V8 reserves memory in chunks of 256MB using virtualalloc with MEM_RESERVE on Windows (I think). It has to do that for each isolated process where an isolate is a tab, webview, worker, etc. A page that's built up from 4 isolated processes will reserve 1GB of RAM. That's only virtual alloc though, so other OS processes can take the memory if they really need it.
There is essentially no way to tell if a JS app is using a lot of memory just by looking at what the process has reserved. There's loads of things that end up in that space - cached pages, cached compiled code, cached bitmaps of rendered pages, etc.
The task monitor tells you what Chrome or Chromium (e.g. Electron) is doing, not what the web app is doing.
There is a good argument to suggest Chromium is hogging more than it should. That's not really WhatsApp's fault though.
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.
I don't use WhatsApp so I have no idea what that is like. I have telegram running on two mobile devices and two desktops. There is no "moving messages" or "losing messages", I just install telegram or telegram desktop and all my chats appear with all the messages.
Everybody is on telegram today, it's not like five years ago when people did not know what it was.
Well, Telegram stores all messages without e2ee in the cloud, so barely comparable.
Matrix gives a similar experience with e2ee though, but you have to save a recovery key for the case you lose access to all your sessions
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.
I feel this trend is going to stick for the upcoming years! It's not just Meta, every big player there is adopting this mentality.
Take Microsoft for instance, they have been pushing heavily what they called the New Outlook, which is basically a web-based client mirroring Outlook on the web (OWA) , packed into an EXE file (not sure if it is Electronized or not)! Then, they renamed the real native Outlook app as Classic Outlook to feel old-fashioned and outdated and as result, we ended up losing some core features that made Outlook, Outlook. We lose: COM Add-ins and VBA Macros, MAPI Support, Word as Email Editor, .PST File Support.. to name a few..
This would be probably one of the reasons contributing to the Collapse of Civilization (https://news.ycombinator.com/item?id=25788317)
Speaking of new outlook, has anyone else had search just...not work? I'll search for emails sent from myself, to myself (of which I know there are hundreds) and get 7 results. Same in the web app, but outlook classic works fine. Mind boggling
Search on Outlook is horrendous. Our company bought Copilot just so people can start searching their e-mails.
The old Outlook was way better. Every user in our org has been complaining about this.
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.
True, but it's funny how C-level people at these companies mention the apparently ever-increasing percentage of their code that is written by LLMs every chance they get, but can't even maintain a relatively simple Windows application.
Zuck, six months ago: “Within 12 to 18 months, most of the code will be written by AI. And I don’t mean autocomplete.”
Meta, today: "Maintaining this basic Windows app is just too much work."
Out of curiosity, Does anyone know where exactly does the bloat of the electron come from in terms of ram usage, compared to a "native toolkit"?
Because just parsing html/xml/some declarative ui description to create a scenegraph and pushing it to the GPU is something I'm sure even native frameworks like Qt do.
Yet I can feel the latency in vs code vs. say sublime text.
It's tempting to blame the huge js blobs trying to create an application abstraction over a document object model but i feel like there should be more to it than just that...
It’s the extra API and layout rules. A lot of UI toolkit supports some version of xml for declarative UI programming. And they will create a widget tree to match it. But they’re far simpler than the DOM and therefore faster.
Also think all the web subsystem that has been added over they years. Every electron app is bundling those in, even the inspector. It’s shipping a whole VM with your code. Containers have at least the decency to strip things down to the bare minimum, but no one is thinning chromium to only what they need.
Yep. Chrome contains:
- HTML rendering - which is insanely complex to do efficiently for arbitrary web apps.
- Video conferencing software
- A graphics engine. Used for rendering web content, canvas2d, webgl, webgpu and video encoding & decoding for a bunch of formats. It also has a bunch of backends (eg CPU, Metal, Vulcan, etc)
- JS, and every feature ever added to JS.
- WASM compiler, optimizer & runtime
- Memory manager, process isolation per tab, and all the plumbing to make that work.
- The Inspector - which contains a debugger and most of an IDE for JS, WASM, CSS and HTML.
- So much interop. Like chromecast support, http1, http2, quic, websockets, webtransport, webrtc, javascript remote debugger protocol, support for lots of pre-unicode text formats, DoH, webdriver, and on and on.
- Extension support
- Gamepad drivers, web bluetooth, webserial, midi support
What am I missing? Probably lots of stuff. I have no idea how much each of these components contributes to browser bloat. But all up? Its a lot. Chrome is bigger than most complete operating systems from a decade or two ago. Browser vendors have to pick between fast, simple and fully featured. Chrome sacrifices simplicity every time.
I think Flutter could have been a good compromise here. Build a solid (and cross platform) desktop app in Flutter and have it run on all the major platforms. It'll use a lot less resources and also be quick (assuming they know a bit about UI profiling and eliminating jank).
Shouldn't it be easier to maintain multiple versions of the same app because of the better productivity AI gives you?
You're absolutely right!
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.
Apparently what it provided was a more lightweight experience at 1/10th the RAM consumption.
maybe they will provide a lite.whatsapp.com version (someone add it to the corporate vision board please)
> If it allowed me to do video calls from a laptop
It does though?
https://www.youtube.com/watch?v=r3FkkHyvw8M
Sorry I should have been clearer.
According to this not any more.
Yeah, calls are the only I installed the Windows desktop app instead of using WhatsApp Web.
The Pidgin plugin for WhatsApp uses very little ram, if people are looking for low-ram alternatives. Although doesn't support calling.
(disclaimer, I help out a little with that plugin, amongst others for Pidgin-
https://dusted.dk/pages/aesthetics-of-programming/The%20Ethi...
Software engineering really took a dive in the last 10 years. For instance, KDE has a daemon that asks for donations, added by Nate "I am the king of KDE". Granted, the daemon is mostly pointless in general and not causing much issues (people are typically only bothered by it once then you can silence it), but just the time people invest here to harass others or add unnecessary software on other computers shows how there is a disregard for people. They simply try to leverage software to abuse people. I am totally against that (both what Meta does and KDE too, ever since Nate became self-proclaimed king of KDE; see also this blog here that showcases how Nate may not be as good as he tries to self-promote himself there - that is the criticism https://jriddell.org/2025/09/14/adios-chicos-25-years-of-kde... it always comes down to greed; Meta also is very greedy, why do they have spy-apps that eat so much RAM when idle?).
> https://jriddell.org/2025/09/14/adios-chicos-25-years-of-kde...
That was.. ..an interesting read. The seemingly perpetual need of defaulting back to greed and authoritarianism never ceases to amaze me.
I was thinking about switching back to KDE. Well, maybe not after all. Cheerio, as they say.
KDE is in a better shape than anything on its past. Whatever you feel about Nate, he cares — and that's a huge, almost unique quality today. Also, the nagging to donate doesn't bother at all — and has had a positive impact in increasing donations do KDE project.
Meta and KDE are not comparable. Not even in the same galaxy.
This comment is just an excuse to do a hitjob on KDE donations. KDE is FOSS and doesn’t use your data to make money.
Yeah it's an especially bizarre remark because the pop-up isn't a nag, it literally only shows up once per year. It's also demonstrably worked to increase donations to KDE: https://pointieststick.com/2024/12/02/i-think-the-donation-n...
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 problem is Whatsapp is now being used more and more in a professional context, even in Europe, and it's just not a pro software by any means. Searching for old messages is a pain, the web version is slow, there is now optimized overview or folders, etc...
And now it seems that there is not even a benefit to installing the native vbersion, they will probably do the same for Mac also now.
My Brazilian friend told me they use Whatsapp as a replacement for Slack since they don't want to pay for Slack As an Indian, I can confirm the same here for many companies
I'm not defending WhatsApp by any means, but “professional” chat apps are equally bad — MS Teams, Slack etc.
I long for a simple, stable chat app that doesn't change every other day. Maybe we should all go back to IRC.
Complacency is the enemy of innovation. So many other chat clients are way better, yet WhatsApp is irreplaceable because it enjoys the competitive advantage of network effects.
That must be part of their new AI strategy, tapping into their users potential.
What did we do wrong when simple chat app requires hundrets of megabytes of memory, or even gigabytes! Sure, its not just plain text but images and videos, but still...
This app culture is getting out of hand, on all platforms. Why can't people offer and use web browser directly? Isn't that sexy enough?
You can use WhatsApp on a browser. If you have Chromium installed, you can even "install" WhatsApp as a PWA.
Safari and Firefox as well. In any case, they are all resource hogs.
I used to play a 3D MMO (Lineage 2) with hundreds of people on screen with spell effects, sounds etc on a computer with 512 MB of RAM.
I was also running a mIRC client in rooms with hundreds to thousands of people at once.
And I was able to do both at the same time.
Now that computer can't even run 1v1 chat.
Heh, when I had to use Whatsapp on Windows for a while for work, it was one of the worst pieces of software I've seen, almost rivaling Skype v7-v8. It was not redesigned for desktop, it was silently crashing minimum twice a day every day, and that's under very light use. You are telling me it got even worse? :)
Well, Messenger and Facebook were the same, and they just phased out Messenger. One of the largest tech companies in the world cannot afford to hire a team of Windows native app developers! Shame on Meta!
Will it be like signal now... it's supposed to be a web app but it still needs to update every single time i sit down at my computer. And after every update there is not a single perceptible change.
> 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 think Zoom is like that too and uses some obscure chinese GUI library.
Me found hammer/react/shiny web framework … must use to make everything. No care about users.
As a Linux user, I am glad to see Whatshapp Web App isn't going away anytime so.
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
The macOS app is the iOS app running on macOS thanks to Catalyst, hopefully they won't replace it with that Electron/WebViewOfTheDay crap.
TFA claims it is using WebView2
If companies needed to pay ressource usage of their apps, the digital world would look nothing like today
When I buy a refrigerator, if a model has insane power consumption that makes me think about my electric bill, I’d be less inclined to buy it. The refrigerator manufacturer is going to sell less. So in a way, you can say that they’re definitely paying for those wasted resources.
For software companies it’s the same, in a way. They pay whatever the consumers deem appropriate. It’s just that consumers don’t really care for the most part, so the cost is basically $0. RAM is cheap, and if a company prioritizes shipping features over optimizing RAM, that’s almost always going to be the deciding factor.
First of all, RAM is not cheap. Second, the average consumer is not able to install more RAM even if it was. Consumer hardware often has barely enough RAM to run Windows.
> It’s just that consumers don’t really care for the most part, so the cost is basically $0.
It's zero, because most people cannot just not use WhatsApp, M$ Teams, etc. because WhatsApp has a monopoly on their centralized garden.
It's not like a Matrix where I can easily switch clients like I can switch refrigerators.
Even if someone would be able to provide an alternative, Facebook would just "kill" them like Apple did kill Beepers iMessage alternative.
Power consumption of newly sold refrigerators is regulated by the U.S. government (and, I assume, other big countries), so I don't think this argument works in your favor.
> RAM is cheap
Have you checked RAM prices this week?
Cheap in the sense that most target users don’t have to worry about allocating it
Are you sure? Or do you think users only run one app on their desktop?
> RAM is cheap
My time isn't
How expensive is it? Is it expensive enough to suffer a month of feature lag? A year of feature lag? A decade of feature lag? Probably not.
Regardless, we’re talking about the average user. As the article implies, on average, users’ time is in fact cheap compared to the alternative, or maybe the time cost is simply insignificant.
What is the alternative?
Additional 100k cost per year vs time, energy and hardware for billions of users?
Most of Apple's business model is built on the back of this resource bloat
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.
But the web app is genuinely unusable. Often times takes 2+ minutes to properly load. This issue seems to be quite random though, not everyone has it.
I force reloaded it now and it took only a few seconds. It's on CPU from 2014 on a 4G connection. However we are only two data points. Meta probably has a good knowledge of the distribution of the load times.
If your spikes in load time are random it could be the connection, the amount of free RAM on your computer in that very moment, or maybe how well it is syncing with your phone. However I don't know how it handles that. It used to require an online phone but it seems that it can do without it now.
How many new desktop/laptop will be bought because RAM will be to small...
I'm still running the old version, and it's using 171MB of memory. That seems excessive already. Granted, I have 128GB, but still....
Off topic but I hate being forced to use Facebook properties like WhatsApp.
I’m forced to be in parent group chats in this accursed ecosystem and give Zuck another DAU.
You can SMS to/from WhatsApp clients. Of course video calling etc won't work.
Why are you forced to be in parent group chats?
Well ... when a mummy and a daddy love each other very much
... You'll end up being forced into WhatsApp groups? Sounds dangerous
Yeah, why not something else? There are a lot of better alternatives. Matrix (Element) although does the search functionality work yet? It sucked ass. I wonder if it works now.
Even Telegram is better, then there is Signal, Briar, and XMPP, too. They are fully featured ones. If you are fine with text only, then Ricochet Refresh is the best candidate as far as privacy goes.
Most parents I know dont even allow their children WhatsApp (as you said there are safer alternatives like Signal without weird social network functions you can barely control) so why would parents use it?
For me this just sounds nonsensical. I am sure it makes sense somewhere in the world
Where I live, WhatsApp is the standard. 100% of people have it installed, minus some hermits who have never heard of the Internet.
My parents know how to use WhatsApp and have it installed. My sister and her family, too. My friends, their friends, the scammer trying to explain to me how to access the crypto I apparently lost track of on their platform, my former coworkers, my current coworkers, the people I interact with for my freelance work, the government's road safety alerts, my ex-girlfriend who still has a bunch of my clothes, my neighborhthey areood group informing me when I need to put out the trash-they're all on WhatsApp.
It's the network effect. Even to get my family group on Signal, I'd have to get twenty people to install Signal, probably visit some of them to help them with the setup, do it again every time they switch phones, and so on. And they'd probably still default to WhatsApp because that's what they know.
this means WhatsApp is the easy choice, but nobody forces you ... yet
I mean yeah, I'm sure it depends and varies a lot. I would feel more comfortable if they used something more privacy-oriented, and I do the same. The rest, of course, is up to me.
I do not think I would be able to get my kid off the grid completely so might as well use a better alternative, and in many cases you simply just can't because you have to submit your homework through Facebook, and so forth. Thankfully it has settled down a bit post-COVID but there may still be cases of this crap. I loathe it.
In any case, a privacy-oriented alternative is better than the cancerous Meta. If you want no IMs at all, well, that may be tough. Kids find a way, trust me. I know I did. :D
I can report that Matrix/Element is still absolutely terrible, and not just the search.
Have you tried WhatsApp? There are weird non moderated groups of children, organised crime and much more. It's a fucking weird and dangerous place to be around IMO.
not perfect? yes
terrible? no way
Every time I use it, it has some huge box over a third of the page saying I must "verify sessions".
It's incredibly slow to propagate messages.
Initial set up is very confusing and offers far too many choices.
I've never worked out how to find rooms. Regularly someone will give me a room name and I can't find it or join it.
Their entire service went down (did someone say "decentralised"?) a few months ago.
> Every time I use it, it has some huge box over a third of the page saying I must "verify sessions".
do you use element web on the phone?
> It's incredibly slow to propagate messages.
was
> Initial set up is very confusing and offers far too many choices.
thing of the past, currently there are two choices, in the future there will be only one
> I've never worked out how to find rooms. Regularly someone will give me a room name and I can't find it or join it.
let someone invite you to the room or share a link
> Their entire service went down (did someone say "decentralised"?) a few months ago.
afaik only matrix.org went down
> afaik only matrix.org went down
correct; the rest of the network was unaffected - it was just one instance (albeit the biggest one). https://matrix.org/blog/2025/10/post-mortem.
You also end up handling 10x more faeces and vomit than you have seen in your existence to date ... while whatsapp is more gross, you handle it the same way you handle diarrhea - you hold your nose and deal with it.
Want to know why web based UIs keep winning? It's simple: native UI APIs are terrible.
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.
When you're using WebView2, it uses Windows' built-in browser runtime (Chromium/Edge). Electron ships a browser runtime, but the article notes they're using WebView2.
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 wish they used an SDK and published that, so we could build better clients.
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 allows the taskbar icon to have notification indicators. these work offline, so i can quickly and easily glance at the bottom of my screen to see if I have any messages. these can be read offline, with the taskbar updating still.
the desktop app is considerably faster and more responsive.
the deaktop app allows OS level shortcut keys
the desktop app is easier to work with when applying parameters in programs like excluding it from my VPN or for sandboxing or for isolating network traffic. Or for looking at how much space it takes up on disk. (im not a web developer), it doesnt cause any confusion or mistakes to be made as its logical separation in OS is clear, this is also faster
the desktop app has better keyboard shortcuts that dont collide with your browser, and the same with right click menus
I can easily video call from various PCs while still not trusting my browser with camera/mic permissions
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.
Just open it in a separate browser window then? Different windows can have different sizes and get separate buttons in the taskbar.
I guess if you're using Microsoft's ill-advised window grouping feature it would work less well (require more clicks), but breaking websites out into entirely separate programs just so we can have separate windows because Microsoft screwed up the window management functionality seems like a very inefficient workaround.
That still requires picking a specific window. If I have 6 browser windows I need to find the correct one of six.
With a native app it's just alt+tab - or, if the app is pinned to the taskbar, Win+(1/2/3/4...)
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.
> Sure it's a little quirky at times
So it doesn't behave like a separate app.
It does in the ways that seem important to GP based on their comment, and aside from restarting when the browser updates or other pedantry, it does.
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
Last time i checked the web version didn't support calls (on macos)
So what's your shortcut to switch to Whatsapp if it's inactive, launch it if it's not running, and hide it if it's active, in a browser tab?
It will use 1gb on your browser.
Using 224MB on Firefox. Still feels way too high for what it is.
I use exactly on Firefox, but maybe your use is less? With groups, etc it heavy super fast...
They can't afford to make a native one, huh?
You know I heard something funny the other day, someone saying that now thanks to Claude Code, companies might go back to doing actual native support because the specialized knowledge and effort have both been basically automated now.
Well, give it a few years!
From article:
> WhatsApp for Windows was originally an Electron app, and it was eventually replaced with UWP after years of investment. Four years later, WhatsApp is going back to WebView2, abandoning the original WinUI/UWP native idea.
> My understanding is that the recent layoffs at Mark Zuckerberg-headed Meta likely disbanded the entire team behind the native WhatsApp. I don’t see any other reason why Meta would abandon its native app for Windows. Meta will save costs by maintaining the web app codebase on Windows, but you’re going to hate the experience.
Giving them more time won't change much if they have resigned from devs in order to save some money.
It seems that anybody mentioning Telegram is downvoted, but I'm gonna try anyway just to add a simple fact: I just looked up the app in my task manager, while being used, the Telegram app is using 24 mb of ram.
Telegram has its own faults and issues, but the native Windows app is incredibly good and fast.
Meta is one true guardian of the web!
It's always the same discussions here whenever a company decides to use Electron or a similar solution. It's beyond tiring to see the same arguments being repeated.
A company's goal is to make money by optimizing its resources. What benefits would Meta gain by maintaining native apps for WhatsApp across the three major operating systems? I can tell you: absolutely none, only negatives. Nobody except a negligible fraction of users would care about native performance or idle memory consumption. No one is going to switch to Signal or whatever the flavor-of-the-year messaging app is because of this.
It would be a different story if WhatsApp were to lose a significant portion of its user base due to the app becoming unusable or extremely slow. But for the vast majority, this change will go unnoticed or frankly won't matter at all. So, expect most companies to continue adopting Electron-like apps (for the few that still have native apps anyway) for exactly the same reasons.
Sorry to be blunt, but it's really tiresome to see these discussions going around in circles here. It’s pointless to keep debating this, it's not going to change. If one day a framework emerges that's comparable to Electron (or something similar) but requires fewer resources to develop against, I could see Meta and other companies considering it... provided the migration costs aren’t too high. But again, no end-user truly cares about this.
Who even uses WA when there is blazing fast and feature pumped Telegram. ps. it even has a portable edition. Goat.
Just another reason not to use services based on closed protocols like WhatsApp. With open ones, you can just choose to use another client, even a terminal-based one that uses 2 MB of RAM if you like.
This makes PWAs more and more attractive to me.
this is why web wins, not because its the best but cost cheaper
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.
how to?
I mean I know that I can google it up but I'm looking for a working example. I found some code in github that is obsolete. Also whatsapp requires phone code and qr scan so looks like it's designed to prevent a server-only bridge.
Europe has already forced meta to make WhatsApp open. It’s just that no other app has expressed any interest in interoperating for obvious reasons.
Pathetic.
All this “engineering” from Meta and algorithm acrobatics with hundreds of optimization puzzles and they accept a solution that performs completely far worse in both runtime and space complexity.
Whoever believes that this is the acceptable solution from a trillion dollar company would have failed their own interview.
No company would accept a huge regression like that and push it to billions of users but Meta.
Total amateurs.
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
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.
https://news.ycombinator.com/item?id=1692122
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!?
Define “scarce.” A pair of 16GB modules (32GB total) is around $100.
You can buy an entire complete mini PC including 16GB of modular RAM for $240 on AliExpress.
I’m not saying “don’t optimize.” I’m saying that watching your task manager, seeing a big number and freaking out isn’t really the definition of unacceptable performance.
> 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.
I don’t think that’s a reasonable expectation at all. That’s like saying “oh well we landed on the moon with a turd burger of a computer so that means I shouldn’t need more than 8kb of memory!”
Okay but I’m not trying to land on the moon, I’m trying to have an HD group video call and maybe play Cyberpunk in 4K later.
Let me ask you, how much did that 8MB of RAM cost you back in the day? I bet it was more than the $100 it costs to get 32GB of RAM or the $200 it costs to get 64GB. Before you apply inflation!
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
> 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.
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".
Well, the author of the article sure didn’t check. They just opened the task manager and got mad.
He did, via the task manager. You're the one saying high RAM utilization doesn't matter because 'wrong reasons in theory and in practice', so it's on you to check and confirm it so that you could be correct at least in practice in this specific case
Okay, it’s on me. Send me to jail.
Oh, man, how can you be wrong about everything? Here is the author noticing performance issues, he's even in a "but in theory it doesn't have to be slow" camp that's closer to yours:
> An app can use a lot of memory, and it does not necessarily mean it’s a performance nightmare, but the issue with the new WhatsApp is that it feels sluggish. You’re going to notice sluggish performance, long loading time, and other performance issues when browsing different conversations.
Honestly I think you're mostly correct. The amount of people using WhatsApp on the desktop is probably rather limited, certainly in the scope of WhatsApp usage in general. Memory, while I feel that a gigabyte is way to much for what is essentially a chat app, it is virtual memory, so it's not as problematic as I'd like it to be.
The issue, I think, is who the desktop users are. They sales people, they are people who conduct business over WhatsApp. The buyers at a previous job uses whatever the sellers in Asia, eastern Europe and the middle east are using. A long time ago, that was mostly Skype, now it WhatsApp. There a huge benefit to having WhatsApp on your desktop, with easy copy/paste, Excel and everything you need to make the deals.
Maybe Meta doesn't believe you should do business over WhatsApp and don't wont to cater to that crowed.
I would love to see what a professional Windows application developer, if those are still around, could do with a native WhatsApp client. Using modern C++, or just C# and all the tooling provided by the platform, how small and functional could you actually make something like that.
I agree about this potential of most WhatsApp users residing in markets with less powerful median hardware.
Still, I think the experience reported is very similar to running Chrome, and I think any laptop with 8GB of RAM can handle the application plus Excel and a web browser (or just run WhatsApp in the browser) just fine.
A complete mini PC with 16GB RAM, 512GB storage, and a relatively modern processor goes for like $240 on AliExpress. And that’s before you consider used hardware.
It would be interesting in knowing how many feel like I do. Running an application in a browser window or tab is measure of last resort. People already have tens of tabs, if not hundreds, and multiple browser windows open, stuffing an application into one for those are terrible for the user experience. That's a worse solution than a web wrapper.
It's much easier to locate an application that has it's own process and presence in the operating system.
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
Thanks for the correction. Then wondering even more where all those wasted resources go.