Top
Best
New

Posted by akyuu 13 hours ago

Windows 11's built-in Weather app wastes more than 1 GB of RAM(www.notebookcheck.net)
419 points | 349 commentspage 2
eviks 11 hours ago|
> By comparison, Apple's native Weather app on macOS reportedly uses less than 250 MB of RAM

That's also bloated, couldn't they find a better comparison to illustrate the egregious waste?

nashashmi 11 hours ago||
It’s an equivalent app to make a comparison with, one from an OS company.

But yeah, I still remember when a weather app would take 10 MB and I was complaining (1999)

derac 9 hours ago|||
I prompted my own windows taskbar weather app in rust with radar and forecasts and it's 233 kB.

https://github.com/derac/WeatherTray

I use Linux now, so you're on your own if there are issues. It might require some windows library to be installed but I don't recall. I ran it for a long while on win11.

vel0city 1 hour ago|||
Not trying to excuse the Windows app's memory usage, but these are vastly different apps. Your app is nice, don't get me wrong, but it doesn't have anywhere near the same number of features as the default weather app. In some ways that's a pro for the Windows weather app (animated radar, easy to pan around in the radar view, extra map modes, lots of graphical elements to the presentation), in some ways yours is better (ad-free, for example).

Don't get me wrong, I imagine one could get close to the same featureset while using <600+ MB of RAM, but an app that just shows a table of numbers and a static PNG for a radar isn't really the same.

FWIW, while your compiled binary is 233kB, when its running its using 2.5-4.5MB.

fuzzfactor 8 hours ago|||
That's embarrassing.

Not your app, it rocks.

Microsoft. It's like some decision-maker thinks it's OK to waste memory as long as it's someone (everyone) elses' memory, but it really adds up if you know anything about scale.

But what they're also doing is a non-businesslike under-utilization of their own resources.

Which is disgraceful in itself on top of that.

They're supposed to have much better AI than average and nobody even bothered to ask ChatGPT why in the world weather should take more than kilobytes?

And if their AI can't do it autonomously in under a megabyte it should be able to give a plausible explanation why not by now, and at least it would be orders of magnitude better than a gigabyte.

I assume yours went smoothly as prompted and it surely is an excellent example :)

sssilver 7 hours ago|||
> It's like some decision-maker thinks it's OK to waste memory as long as it's someone (everyone) elses' memory

My friend, you're giving them way too much credit.

Nobody, especially no decision-maker involved with this, has ever spent a single thought anywhere near any concept related to memory.

It just literally never crossed anyone's mind.

userbinator 7 hours ago||||
They're supposed to have much better AI than average

I suspect there will be a bit of revelation once people realise how much better AI can make software if prompted correctly. Of course a lot of slop will always exist, but things like https://news.ycombinator.com/item?id=49226923 show that it can be a powerful force multiplier if used right.

ziiinq 6 hours ago|||
[dead]
lambdaone 7 hours ago||||
250 MB is exactly the sort of bloat you'd expect from this sort of daft web-browser-wrapper application, and Apple get it there. 1.2 GB, on the other hand, is 5x as much, and completely insane even when you start off with daft as your starting point.
danpalmer 7 hours ago||
Apple weather is fully native from what I understand. I suspect the 250MB comes from the video backgrounds they play. Arguably that would be a reasonable thing to sacrifice on low memory systems, you'd barely notice.
odo1242 6 hours ago||
I was able to do some tests with AI agent help and got:

- ~45 MB on buffers for animated backgrounds

- ~10 MB used for the Swift language runtime (runtime type information)

- ~44 MB used for system libraries: libSwiftCore, CoreFoundation, libobjc, Metal, VFX

- ~21 MB used on GPU buffers (GPU memory is also part of used system memory because of unified memory)

- ~6.3 MB for the weatherd daemon that actually collects the weather info and makes it available to the weather app and to widgets

- ~6.2 MB used for the display color pipeline (to handle color gamuts proprtly)

- ~7 MB runtime caches (shader compiler cache, libobjc cache, etc.)

- ~1-2 MB used for particle effects

- ~34-40 MB of memory as general heap memory that was otherwise unaccounted for (this seems to mostly be stack memory and threading-related stuff, and the actual application logic)

Overall the app is relatively optimized

danpalmer 2 hours ago|||
Nice find and summary. Of I'm not surprised to see the ~75MB for the high graphical fidelity of the app.

I am however surprised that 10MB is Swift language runtime - with ABI compat this is supposed to be shared, and that the weather daemon is >6MB (surely this is just a simple API client?!).

exceptione 6 hours ago||||
Relatively optimized? typo?
danpalmer 2 hours ago||
I think this depends on perspective. Compared to an Electron app, it's significantly better. Compared to a hand-optimised app implemented in a low level language it's not great.

I've not done a lot of Swift/iOS/macOS, but I have a passing familiarity. These numbers are basically what I'd expect for a normal app. In other words I think the relative optimisation comes from the fundamentally better technology choice rather than from being particularly careful about performance.

ziiinq 6 hours ago|||
[dead]
glimshe 10 hours ago||||
10MB to tell me the weather from a remote server...

Let's remember that the sprawling world of Legend of Zelda SNES (a Link to the Past), including all graphics, music, code and dialogue was 1MB.

inigyou 6 hours ago|||
1MB is about the lowest memory usage you can get on Windows 7, because of reasonable tradeoffs made in the operating system to things like buffer and stack sizes. The OS creates a few threads for you, those threads have stacks and they didn't optimize the allocation size of those stacks - they used a currently reasonable default.
vlovich123 6 hours ago||
Depends on the app/framework but typically phantom threads don’t get started. Also, those stacks aren’t materialized until you write something - they’re all CoW’ed pages from a sentinel 0-filled page the kernel keeps around just for this purpose.
dwattttt 5 hours ago||
It's been a while, but I believe Windows initialises an internal thread pool & parallelises (some parts of) process start / module loading
vlovich123 5 hours ago||
You’re right. I hadn’t realized that Windows creates a hidden thread pool under the hood for parallelized DLL loading.
beloch 8 hours ago|||
What else might that weather app be doing to justify the memory footprint? MS might suck at memory efficiency, but you can't claim they'd ever miss an opportunity to monetize their users. How can a weather app make MS money? MS has asked themselves this, so maybe we should too.
usea 7 hours ago||
You're right that it's a matter of incentives, but it's because of cost not revenue.

It's bloated not because of a sneaky plan to include revenue generation. It's cheaper to make it bloated because quality is costly. They can externalize costs to users and nobody cares.

TitaRusell 6 hours ago||
I play videogames. As soon as it became technically feasible to patch games we began to see videogames come out with first day patches.

When you take away the constraints the slop emerges. You could not make mistakes in software when it was all printed on CDROMs and DVDs.

smelendez 6 hours ago||
I remember playing The Elder Scrolls: Daggerfall in the 1990s. It came on CD and was very buggy, and I would periodically call Bethesda and they would send me the newest patches on a floppy disk.
blackhaz 11 hours ago|||
10 MB is ridiculously overbloated. 1 MB or something in that vicinity should be more like it.
magackame 9 hours ago|||
I think you guys on HN can be a bit out of touch maybe? On my linux machine (measured with tux-manager):

  nautilus                            177 MB
  kitty                               150 MB
  alacritty                           107 MB
  mpv --idle --force-window           160 MB
  winit empty window + OpenGL context 100 MB
  tux-manager                         69  MB
  hexchat                             55  MB
  gnome-terminal                      47  MB
  st                                  12  MB
  xterm                               12  MB
All these apps are what you would consider native, good apps. Written with Qt, GTK, some in low level langs like C\C++, Rust as well. There is of course different ways to measure the usage and maybe some more testing needs to be done, but stuff like 1-10 MB seems completely unrealistic. I think any empty Qt/GTK app eats 40 MB at least. Only thing that even gets close is st at 12 MB. And mind you it's a terminal (which is 1000x simpler than any modern GUI app, doesn't load any assets etc) and it doesn't even use any GPU accel (which itself seem to add a lot of baseline cost).

Honestly I was a bit surprised myself. I have a Rust winit + ash vulkan hardcoded triangle demo app and it eats 86 MB (the binary itself is 5.5 MB). I would love to know, if anyone could explain why GPU accel seems to eat up so much RAM. Like yeah, there are a bunch of images that live on swapchain, but they should all be in VRAM. Outside of that I don't see what would require MBs worth of overhead.

preg_match 9 hours ago|||
Yes these are all very, very complex applications though.

But I agree: using more memory is good, actually, because it means more stuff is being cached. Nautilus is probably pre-indexing directory structure so it doesn't have to read disk every single time you open your home folder. That's good. Oh, and thumbnails. Thumbnails are incredibly expensive memory wise, but very useful!

Also modern apps have A LOT built-in. Tons of font management stuff, accessibility, they work on many different environments. I mean, look at everything that goes into a modern terminal emulator.

But... a weather app is much simpler, IMO, than Nautilus or Kitty.

torginus 9 hours ago|||
Counterpoint: Nautilus is both slower and less stable than Windows Explorer on large folders, even though the Linux filesystem is much faster. These super-indexed desktop linux search functions are also dog slow, while `grep` and `find` in the terminal are much faster (for searching inside files), and those certainly don't cache anything.
preg_match 5 hours ago|||
Windows Explorer crashes for me about ~3 times a day at work, and takes down the taskbar with it, so not sure about more stable. I don't use Nautilus though because it's pretty bare bones compared to Dolphin. Also:

> These super-indexed desktop linux search functions are also dog slow

Baloo-indexed KRunner on Plasma is instant. I index my entire home folder, including hidden files, and I can substring search with imperceptible latency. I can't speak to other search implementations, but yes KRunner + Baloo is much faster than grep.

okasaki 6 hours ago|||
Thunar is very fast compared to Nautilus.
kasabali 6 hours ago|||
> Nautilus is probably pre-indexing directory structure so it doesn't have to read disk every single time you open your home folder. That's good

No it isn't good, and no it probably doesn't because it is kernel's job. I'd rather they don't do double caching, and it's actually worse if they do.

preg_match 5 hours ago||
Syscalls are expensive. It's not double caching, it's layers of caching. The kernel caches inside kernel memory space, sure, but you still need a syscall to reach that. Every application has layers of caching, it's very normal. This isn't even the top layer of cache, because of course the CPU itself has multiple caches.

But, for example, in a web application you will commonly cache requests. But then the database also has a cache. And then the filesystem the database is on also has a cache.

kvemkon 8 hours ago||||
> I think any empty Qt/GTK app eats 40 MB at least.

Classic GTK is (much) better (RSS on Linux):

  GTK2 14 MB
  GTK3 24 MB
Once it was decided that a desktop application must have fancy animation effects (like on smartphones) and be rendered completely on GPU things got very different:

  GTK4 98 MB
goalieca 7 hours ago||
GTK used to be considered the bloated option along with QT. My first Linux box had 128MB of ram and it was screaming fast.
Joeri 7 hours ago|||
At one point I ran graphical linux on a 20 mb ram laptop although admittedly that was very tight.

I also remember running nt4 with photoshop, word, and my IDE (borland delphi) all at the same time and comfortably in 128 mb of ram.

inigyou 6 hours ago|||
What was the lean option?
torginus 9 hours ago||||
These apps have codebases going back to the 2000s when having 256MB ram total was a big deal, yet these apps could contend with that (while offering pretty much identical functionality). I remember one of the big arguments for GTK against Qt was that C++ relied heavily on templates, thus every C++ app would have their own copies of the same functions in RAM, while GTK was C, and a lot of those library pages could be shared. Qt even did some nonstandard tricks to cut down on this duplication, which was unpopular with the C++ people.
danudey 6 hours ago|||
My Windows 98 install got ten times faster when I went from 32 MB of RAM to 48 MB of RAM.

A fresh boot of my Windows 98 install at the time, once everything was loaded and settled, used up 27 MB of RAM, meaning that after 5 MB of allocations someone was getting paged out somewhere. That extra 16 MB made a world of difference.

Do bear in mind, though, that we're dealing with a lot more than we were back then. Our hardware is more complex, with more and more complex drivers needed to manage more things. Accessibility is different, screens are larger (my monitor now has 27 times the pixels as my monitor then) meaning more memory required for larger textures which are now composited in hardware rather than re-rendered every frame.

I agree with others that things are ridiculous these days, but it's also easy to see that our expectations also need to adjust somewhat. Still, using a webview for displaying the weather... I get why they do it, but it's a scourge. It's emblematic of their care for the customer, which is nonexistent.

inigyou 6 hours ago||
Casey Muratori has complained about the hardware driver overhead, because it is possible for hardware to have standard interfaces without needing a device-specific software translation layer, especially for more basic modes (like framebuffer).
ahartmetz 8 hours ago|||
AFAIK, Qt's C++ extensions (moc, meta-object compiler) have nothing to do with how it reduces template bloat from containers, which is by moving some type-independent implementation parts to shared methods.
kasabali 6 hours ago||||
> mpv --idle --force-window 160 MB

That's still a HUGE amount when you remember mplayer (which mpv was based on) ran on PCs that has had less RAM than that.

inigyou 6 hours ago|||
Yeah, most of modern Linux wastes memory too. 100MB for a blank OpenGL context? Ridiculous.
Const-me 11 hours ago||||
10 MB is not too bad for a GUI app. If the app is full screen, display is FullHD and has 8 bit depth, that's almost 8 MB memory for the back buffer alone. Enable HDR and pixels become 8 bytes RGBA16_Float instead of 4 bytes BGRA8_Unorm, twice as much memory.
anabab 10 hours ago|||
2 bit 160x144px ought to be enough for anything
khazhoux 9 hours ago||
Look at Richie Rich over here with his 2 bits!
perching_aix 10 hours ago||||
This is only relevant if we assume CPU rendering. The article described system RAM use, not video RAM use. Task Manager doesn't combine the two.

They clearly spent it on maintaining their independent Chromium instance instead.

Const-me 9 hours ago|||
True, but many modern computers are using unified memory. On such systems all memory is almost equal, despite often reported differently.

For example, on my 5 years old laptop with integrated AMD GPU, windows 10 calculator in default state uses 33 MB system RAM, 9.6 MB dedicated VRAM. Maximized to FullHD screen, same app uses 36 MB system RAM, 13 MB dedicated VRAM. Maybe the OS counts VRAM as active private working set, maybe the app uses more than 1 buffer.

Regardless of the reason, it’s IMO unrealistic to expect a modern GUI app to consume less memory than required for the frame buffer for its window.

inigyou 2 hours ago|||
Before Windows Vista, Windows apps normally didn't have framebuffers. There was one framebuffer for the whole screen, and apps drew into it. That's why dragging another window over a non-responsive window left a "slime trail" - the non-responsive window wasn't redrawing parts of itself when the window covering them moved away.
vel0city 3 hours ago|||
> many modern computers are using unified memory.

Not really true. Even machines with integrated graphics in Windows aren't truly using a fully shared memory pool. Usually the hardware reserves a chunk of the system memory for the iGPU.

torginus 8 hours ago|||
One thing shared between old software rendered desktops and modern videogames is that they shunned these intermediate 'composited' screens. On the desktop, there used to be the screen, and basically windows used to draw on top of each other, there was no intermediate buffer for the whole window to draw itself to, which would then be smushed together with all others.

Video games are the same (mostly) - everything is rendered in screen space for performance reasons, it's very, very rare, that you would render something into a temporary buffer then composite it on top of the rest of the scene - you would need exceptional reasons for that.

Maybe it's time to get back to the olden days of display servers - where applications would push a list of render commands to the 'display server', which would consist of rendering primitives, which would then take these commands and construct the whole UI on the screen, without the intermediate steps of each app drawing into its own little buffer.

You could always fall back to drawing your own applciations, then asking the display server to composite that, but that would pretty much be the exception, not the norm.

Const-me 4 hours ago|||
There’s a reason why all modern desktop environments are designed the same way: power efficiency when multitasking.

Imagine you have 3 windows visible at the same time: a videogame rendering at the refresh rate of the display 144 Hz, a video player rendering frames at 30 Hz, and a text editor rendering blinking cursor at 2 Hz. Because the videogame wants to deliver frames at 144 Hz, the desktop compositor has to deliver the entire desktop at 144 Hz. Asking the video player and especially the text editor to also deliver frames at that frequency would be wasteful. Irrelevant for desktops with fast discrete GPUs, but directly translates to battery drain on laptops.

inigyou 2 hours ago||
I don't think this is any better for power efficiency? You're taking the modern system as an axiom, which it isn't. The old system didn't "deliver frames at" any specific rate. The graphics chipset sent to the monitor whatever was in the framebuffer at a specific rate, and windows updated whenever they wanted to. The text editor didn't "deliver frames at 144Hz" or any other Hz - it updated some of the pixels in the framebuffer when you pressed a key.

It cost nothing to not change the pixels when you didn't press a key, no matter whether you weren't pressing keys at 60Hz or you weren't pressing them at 144Hz.

MindSpunk 3 hours ago||||
Most games haven't rendered directly into the "screen buffer" for 15-20 years.

Vast majority of titles use deferred rendering, and lighting is done off screen too. Usually the only thing done to the "screen buffer" is a final post-process pass or a copy.

inigyou 1 hour ago||
It's one possible rendering pipeline. Is it really most games?

Regardless, video games normally update the entire screen (or window) every frame, because the screen is so dynamic. This is unlike Microsoft Excel which has a mostly static screen. Building Excel as if it's a video game is going to waste resources.

goalieca 7 hours ago|||
This would really help responsiveness. Keypress to pixel is a huge issue in these bloated frameworks which are running on top of bloated OS
david-gpu 11 hours ago||||
How much money are these companies going to make by reducing their weather app to 1MB, or 10MB? How much is it going to cost them to get there?

The world doesn't run on personal aesthetics, when nobody is willing to pay for them.

nashashmi 10 hours ago|||
These days we have an AI system to do exactly this kind of optimization, too expensive for humans, and too cheap compared to consuming expensive modern hardware
inigyou 1 hour ago||
Can AI optimize? All signs point to it writing extensive amounts of unnecessary code
LinXitoW 6 hours ago||||
Hey, just a few more years of rising memory prices and it'll actually be a marketing term how much RAM something uses.
fragmede 11 hours ago|||
The MacBook Neo has only 8GiB of RAM. This is widely decried as not enough. The RAMpocalypse means that 8 GiB is going to have to be enough or else it'll eat into Apple's margins. The Neos are wildly popular though because people have used it and 8 GiB is fine. So while the singular weather app being smaller itself isn't material, in aggregate, macOS being more efficient is something that lets Apple sell a lower spec product while still justifying a higher price and thus better margins for Apple.
bilekas 10 hours ago|||
Let's not ignore the new "windows copilot laptops" that come with 4GiB.

https://en.gamegpu.com/news/zhelezo/defitsit-pamyati-zastavi...

SXX 7 hours ago||
Insanity. 4GB was often not enough even back in late Windows 7 era.
Narishma 7 hours ago||
4GB is completely fine in Windows 7.
colejohnson66 6 hours ago||
Not to mention that on 32-bit without PAE, that was all you could get. Nothing more.
kalleboo 1 hour ago||
I thought you were limited to 3GB without PAE, since you needed at least 1 GB dedicated to memory-mapped I/O? I was never a PC guy though so I could be mistaken.
justsomehnguy 7 hours ago|||
> The MacBook Neo has only 8GiB of RAM. This is widely decried as not enough.

Bwahahah!

https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...

binaryturtle 9 hours ago||||
`ansiweather` needs like ~6.28 MiB (measured with `/usr/bin/time -l` on OS X), but it's a bash script that invokes cURL, so there's certainly various overheads there too.

One probably could get this down way below ~1 MiB with a properly tuned straight executable written in C (best not to use any of the "modern" stuff like Rust and Go, their default binary sizes for outputting "Hello, world!\n" are already extreme :-) )

By default anything needs at least 532480 bytes RSS on OSX (I tested it with the most minimal C hello world), so that's a threshold one probably can't beat on OS X at least. We probably could kill that value on Amiga OS with the exact same functionality. :-)

inigyou 1 hour ago||
On Linux you can bypass libc and use as little memory as you like. When you don't use libc and don't use dynamic loading there is no strict lower bound although you still start with a certain default stack size.
cdud3 11 hours ago||||
The KDE Plasma weather app takes in maximum 1MB.
lynguist 10 hours ago||
I'm not sure if you're reply hunting or we talk about different apps but how would you fit the Qt runtime, Javascript runtime, font cache, graphics, networking libraries, etc in this limit? This can't physically be under 70 MB, and more like 100-200+ MB.
rpdillon 10 hours ago|||
Sibling comment called it: these are dynamic libs used by the desktop, so the incremental RAM usage is low. That's a good approach! Makes me wonder what the heck MS is doing to get their app to add an incremental gig to memory usage.
inigyou 1 hour ago|||
DLLs are hopefully shared. But when you run a JavaScript interpreter and load some JavaScript library, in several different processes, that is not shared. Each process gets an independent copy of the library because from the kernel's perspective it's data.
cdud3 9 hours ago|||
Correct.
Telaneo 10 hours ago|||
Many of those things are already in memory just from running an empty desktop.
rpdillon 10 hours ago||||
I mean, you're getting dumped on for this, but it seems about right?

For an extreme example:

    curl https://wttr.in/
Inside of a conky widget would do the trick, I think.

https://github.com/brndnmtthws/conky/wiki/Lua:-Shell-Integra...

baist0 9 hours ago||
LOL. it's a beautiful!
guiambros 9 hours ago||||
Unrelated, but it reminds me of this C64 demo [1] I posted earlier this week: the whole thing in 17.8 KB.

[1] https://news.ycombinator.com/item?id=49205592

khazhoux 9 hours ago|||
Even 1MB is too much. I expect a modern weather app to be <20K.
inigyou 1 hour ago||
You'll blow past that if you include any graphics at all.
cogman10 11 hours ago|||
My entire kde "plasmashell" which includes my wallpaper and the various widgets installed (including a weather widget) uses 560MB for a screen with 5120x1440 pixels.
monster_truck 10 hours ago||
That's still 26x more than the size of the display buffer, I would never settle for such bloat /s
jlg23 5 hours ago|||
Thank you. And it is a shame I had to scroll down this far in the comments for someone to point out the obvious. Even a weather app that uses "only" 250MB of RAM should never have been delivered by a semi professional software shop - 250MB is enough to store whatever they can display in full screen on a 5k display as a bitmap - 5 times.
loehnsberg 11 hours ago|||
I built a weather app for myself fetching ECMWF ensemble forecasts for my home location. Running the service is 60mb plus data 39mb and another 2mb for the spaghetti charts showing temperature, clouds, precip, wind over 10 days. What do I need to do to fill the other 900mb?
zapkyeskrill 11 hours ago||
Run those things as an electron app? Add on analytics, location tracking and data exfil and you'll be fairly close
userbinator 9 hours ago|||
The article now says for me "By comparison, Apple's native Weather app on macOS uses roughly five times less memory under similar conditions."... which is not exactly the same wording.

Edit: I see the "250MB" line later in the article. This article is itself bloated for repeating nearly the same thing again.

RunSet 7 hours ago|||
https://github.com/dglent/meteo-qt

It is using 122.7 MB at present.

thrance 9 hours ago|||
The most lightweight solution I can think of is:

   curl wttr.in
3eb7988a1663 6 hours ago||
That's basically my weather app. Though, I made it fancy at 7 lines of bash which takes location arguments and pipes into jq for display.
alwillis 11 hours ago||
[dead]
hadrien01 6 hours ago||
What's worse is that the previous version of the same Weather app was fully native on Windows 10. Why would you take a perfectly working app and downgrade it like this?
ColdStream 4 hours ago||
In a parallel universe Microsoft would have never killed Windows phone and they would have been forced to keep these apps a little more memory/performance friendly.
tonypapousek 6 hours ago||
Well, this is Microsoft and Windows; it would be weird if it got better.
sasaf5 1 hour ago||
Windows 11 is what made me switch back to dual booting, after 4 years being content with WSL. Everything is slow, everything's GUIs have two versions and it nags endlessly for a "Windows Account".
userbinator 8 hours ago||
After seeing https://news.ycombinator.com/item?id=49226923 show up here, I'm now hoping someone will vibe-code a nearly identical-looking native app that takes a few orders of magnitude less RAM.

Personally I just use my government's website when I need to check the forecast.

Hackbraten 7 hours ago|
I’ve used Wego [0] for roughly a decade. It’s been good enough for me.

Six years in, I had to edit the configuration file once (to switch weather backends because the default backend shut down). In January, it’ll be 10 years.

[0]: https://github.com/schachmat/wego

w4yai 11 hours ago||
Please, Microsoft, PLEASE ! You can do BETTER ! Stop acting like an internship for every single feature you add ! Where's the money going ?
BuyMyBitcoins 7 hours ago||
They can, but they won’t. Microsoft is run by the most cutthroat sycophants you could possibly imagine. That money you mentioned is going to those aforementioned sycophants and shareholders.
fsflover 9 hours ago||
But will the earn more money by offering a better weather app?
feverzsj 12 hours ago||
It's just msn weather page. Can't they use one single browser for all their apps instead of one per app?
whynotmaybe 12 hours ago|
No, because you have to manage communication between different teams on "how" and "what" about the single browser, much easier to let every team do their "best" without any external interference
CrimsonCape 11 hours ago||
Yesterday I was running : NixOS, mango window manager, 5 instances of ghostty, 2 of those running fresh terminal editor, firefox with 5 tabs and I was at 2.37gb of RAM.
hyperhello 12 hours ago||
I would like to be assured that the author knows the difference between actual memory and setting aside paging space.
tredre3 10 hours ago||
The author doesn't need to know the difference because the task manager is accurate by default. I can still offer you some reassurance:

- The Windows task manager's memory column is the private working set which is the actual memory used by the application minus shared memory (but only shared memory that is currently shared with other processes, not merely marked shared. I.E. it's similar to RES - SHR on Linux but it's more accurate)

- Windows doesn't overcommit memory. Memory that is reserved but unused (not touching all pages) by the app is truly wasted. I mention this because in your other comment you make it clear that you think this is happening. But Windows isn't Linux.

benj111 11 hours ago||
That still isn't a good look.
hyperhello 11 hours ago||
I’m not sure if you mean a good look for the process or for the author but paging space is just saying “gimme a gigabyte” like saying “gimme a plate” is at a barbecue. The resources themselves aren’t being used at that point.
debazel 9 hours ago|||
On Windows over allocating virtual memory (commit charge) is still bad. Unlike on Linux, once the total commit charge hits your physical RAM limit + SWAP limit, Windows will start crashing your applications and refuse to allocate more virtual memory, even if that memory has not been touched yet.

This is also why it is very important to have plenty of SWAP space on Windows, even if you have 64 GiB+ of memory. Because applications love to over allocate commit charge.

benj111 6 hours ago|||
As in it's sloppy.

If you're at a BBQ would you take 5 plates just because?

iamcoder18 12 hours ago||
This article seems to be underestimating how much RAM a weather app should take. A well thought-out, native Weather app wouldn't take more than 100 mb of RAM.
karmakurtisaani 12 hours ago||
This has strong "How much could a banana cost? 10 dollars?" vibes.

Back in my day 100MB was all you had for all your compute, and somehow programs still ran.

whynotmaybe 12 hours ago|||
Back in my days, I had to remove the mouse driver from autoexec so that microprose grand pirx had 600kb of ram to start
SV_BubbleTime 11 hours ago|||
Had to get a ride to drive floppies with corrected config.sys and autoexec.bat files around to friends.

Things weren’t actually worse.

iinnPP 9 hours ago||
Personally, I have reverted back to sneakernet in a lot of what I do.
baal80spam 9 hours ago|||
Good times.
kevin_thibedeau 12 hours ago||||
When RAM was $100 per MB that would be $10,000. You can do a weather app in much less provided you use native code.
big85 12 hours ago||||
LumiWeather for AmigaOS runs on 2 MB RAM.
drdaeman 11 hours ago||
ESP32 in my OpenSprinkler pulls the weather (among a few more things it does) just fine and it has 520 kilobytes or RAM total.
2Gkashmiri 11 hours ago||
Windows really I'd shitty for "assuming" unlimited ram, storage, processing, internet budget for them to get away with it.

They "could" make it easy but why bother? I assume next update will make calculator 1 gb download, 2gb ram resident and ADS

keicwifjwud 10 hours ago|||
> Back in my day

Back in my day systems used to be a lot simpler too. These “back in my mind” comparisons show a clear lack of understanding of the subject matter. 1996 apps are not the same as 2026 apps. Expectations are different. Design languages are different. Even the UX is entirely different.

1GB is clearly overkill, no question. But ~100MB to ~300MB is perfectly reasonable and you know it.

karmakurtisaani 7 hours ago|||
Yeah I wrote it a bit tongue in cheek, but even then I can't help but wondering where is all that memory needed.

My best guess is the GUI is somehow really heavy, wouldn't expect a simple console program that connects to some weather API to require that much RAM. But I never worked on apps like this, so no clear idea.

vinyl7 9 hours ago|||
99% of apps have the same or less functionality today as they did in 2001, but are significantly slower and worse.
chrisandchris 9 hours ago||
Functionality isn't everything. A human teller has the (more or less) same functionality as online banking, but I do love me some online banking.

I also like the weather icons being 4K and having some smooth anmiations.

Not to say that it's gone worse (it has IMHO) but comparing 25 years ago to know doesn't help much. Times were different back then. That's like comparing 1900 travel to today.

e2le 12 hours ago|||
What is the weather app doing that it requires 100MB? For such a simple application, that seems excessive.
kevincox 12 hours ago|||
Mostly rendering. A bunch of images, text, UI elements. On a modern high resolution display it adds up quite quickly. You can surely cut it down a bit, but 100MB isn't absurd.
charleslmunger 12 hours ago|||
A weather widget using 8 bit color plus alpha on a 4k display show three full size images in 100mb. But I suspect that's not the ux we're talking about here, and a widget style system has no excuse.
galad87 11 hours ago|||
Apple's Weather app has an animated background, glassy views, and nice animations like water droplets on the glassy views when it's raining. So rendering all that on a 4k or more display at 10bit depth is going to consume a bit of RAM. However I guess it can surely be improved to make it consume less RAM.
satvikpendem 11 hours ago||||
https://wttr.in/ shows it's very possible.
kalleboo 1 hour ago||
The display on that page is literally broken for me, the boxes are all misaligned. It seems like it can't handle Japanese text correctly. Properly working localization in dozens of languages is one of those things that adds "bloat" to modern software that was missing in the bad old days.
anthk 11 hours ago||||
Vector icons. It can be fit under 50MBs.
pixelesque 10 hours ago||
Those still have to be rasterised to a pixel-based frame buffer at render/compositing time.
charleslmunger 3 hours ago||
Yes but that space would have existed anyway for a window of that size regardless of its contents.
useasvg 11 hours ago|||
Use an svg.

Or render everything using css, 100mb is someone not trying. 1gb is absurd abuse that only domestic violence victims put up with.

preg_match 9 hours ago|||
SVG is an on-disk format. It has to be rasterized, otherwise how do you have pixels? Each pixel takes up memory.
qlm 11 hours ago|||
Quite a tasteless metaphor, no?
Dylan16807 11 hours ago||||
If I full-screen it in high enough resolution it can be excused for using 100MB temporarily.

The window in the article wasn't very big. At most it would have about 10MB of framebuffer, and the images on display would fit into 1MB uncompressed.

We can't excuse typical program waste with screen sizes. Especially when you can switch to 1080p or 720p and watch them still use massive amounts of memory.

puzzleincomplet 12 hours ago|||
[dead]
cyberrock 11 hours ago|||
I think this depends on your location, because in some places you really want to view a radar map. "Rain in $CITY" is practically useless for me. Still, the (static?) map in the depicted app shouldn't take 1GB.
p1mrx 12 hours ago|||
My favorite '90s weather app was WetSock. The installer was 1.5MB, though I don't recall the RAM usage. It showed a sunny/cloudy/etc. icon in the system tray, with the temperature in a tooltip:

https://web.archive.org/web/20010210023051/http://www.softse...

https://web.archive.org/web/20070210195451/http://www.locutu...

lousken 12 hours ago|||
I am pretty sure xfce4 weather plugin takes a lot less.
Throwthrowbob 11 hours ago||
Looks like about 30 MiB with a quick test.
satvikpendem 11 hours ago|||
You don't need anything more than https://wttr.in/ even with all the fancy terminal graphics.
blooalien 6 hours ago|||
They also have a nice API where you can pull the raw weather data and fancy it up any way you like graphically. Great for building your own entirely custom weather widget for your desktop, webpage, app, or whatever. :)
cissikatt 9 hours ago|||
Why would I like to know the weather in some other city?
satvikpendem 8 hours ago||
What do you mean? It gets the weather for your city via your IP address, maybe you're on a VPN.
Narishma 7 hours ago||
Your IP address doesn't automatically correspond to your city, even without a VPN.
satvikpendem 7 hours ago||
Then add your city as an argument to the curl. It works well enough regardless and doesn't use hundreds of megabytes of RAM which is what the initial complaint was.
benj111 11 hours ago||
Well it's comparing it to apple's weather app, which is a fair comparison I suppose. 100mb still sounds like at least an order of magnitude too high to me though.
frogperson 2 hours ago|
The only good thing that might come out of these extreme memory shortages is forcing careless developers to actually care about resources for once.
More comments...