I tend to launch most programs on my Windows 10 laptop by typing the <Win> key, then a few letters of the program name, and then hitting enter. On my powerful laptop (SSD and 32 GB of RAM) this process usually takes as long as it takes me to type these characters, just a fraction of a second.
Usually.
Sometimes, however, it takes longer. A lot longer. As in, tens of seconds. The slowdowns are unpredictable but recently I was able to record an Event Tracing for Windows (ETW) trace of one of these delays. With a bit of help from people on twitter I was able to analyze the trace and understand why it took about a minute to launch notepad.
I loved reading every bit of this post. Even for someone not versed in programming, it’s quite easy to follow along and understand what is happening deep in the bowels of Windows when this bug occurs. I’ll spoil the surprise:
This deserves reiterating. My start menu was hung due to the combination of heap corruption and WerFault.exe deciding that it needed to upload the crash dump before releasing the old process so that a new one could be started.
And uploading the crash dump ran into issues, causing the delay. The tools to watch for bugs is causing more bugs. Who watches the watchers?
typing in the full name of the program (notepad.exe, winword.exe etc) seems to bypass the “searching” it does.
Exactly this kind of problem makes me mocking any professional asking me if “Windows was supported too”. Who in his right mind would run services on that platform. Its a poorly designed game station, nothing else.
From time to time I am forced to start Windows in a VM because clients enforce proprietary Checkpoint VPN clients. All I need is the powershell for SSH portfowarding and the Checkpoint Client. Though it takes ages to get that started for no reason.
The same functionality in a Linux VM comes up in 1 second and at 384 MB Ram only and I did not even care on optimizing anything.
What a sad state of affairs and people keep consuming this crap since they were fed with it since child hood.
It’s not even especially good for games, it’s just got momentum. Look at all that Steam Deck is able to achieve with relatively low powered hardware, and Linux with a compat layer. I don’t know why people cling to Windows so hard.
I used Launchy when I was still mainly on Windows.
https://www.launchy.net/
https://learn.microsoft.com/en-us/windows/powertoys/run
I have the same. Sometimes it word very fast, but sometimes I have to close Start and then take it back again. Sad, that after so many years Microsoft do nothing with it. It behave like that In Windows 10 and 11.
No joke, no hyperbole, this was THE ISSUE that was the tipping point for me moving to Linux around the year 2000. I use the Start button and right click menus all day every day and I was SO DONE with waiting for such command and such fundamental actions to complete. GRRRR
Linux had and has a lot of problems and a lot of quirks, but when I click to open a menu it OPENS.
I’ve had similar issues in linux desktops. Mostly due to the indexing programs they’ve had that is supposed to make searching for documents faster and easier. Maybe I’m strange, but all of these desktops have spaces to put shortcuts to applications and documents. Just spend two seconds and organize your computer. All problems solved forever. If I need to search the contents of files, grep exists.
I’ll take “problems we did not have 25 years ago” for $500, Alex.
The closest thing I use to a start menu, is the Whisker menu in Xfce. It’s pretty great. The program hasn’t yet been rewritten in an interpreted language, and it hasn’t been reworked to depend on a cloud connection for absolutely everything, including finding results on my personal computers. So yeah, it bucks the trends of modern software development and as such performs very fast, reliably and hardly crashes. I think it has crashed maybe once on me in the many years I’ve been using it every day. Also it finds the stuff I expect it to, quickly and efficiently.
Mac (and to a certain extent, Haiku) has a great way of organising “apps”. Because everything is in it’s own self-contained package, you can literally drag and drop an application into the “Applications” folder. You can then open this folder, find the app you want, and double-click it. No messy “Program Files” folders (well, there is, but not that you have to see), no esoteric shortcuts to arbitrary locations. Just a folder with packages that can be double-clicked to run.
The Windows, and to a certain extent, Linux, method of program installation is rife with issues. It can be very hard to find where and what has been installed, without relying on an uninstaller or package manager, and the filesystem layout can be confusing at the best of times.
I’m not saying that MacOS and Haiku have package management and installation perfected. Far from it. But in comparison to other OSes, they seem to do a damn good job of making app installation and uninstallation “just work”
I’ve been an occasional linux user (on the desktop front, I’m actually using it extensively on my home server) for 25 years, a macosx user since 2004 until very recently (my 2008 macbook would not run a version of osx with a recent browser, so I put linux on it 2 years ago) and a Windows user since forever, not only for lack of choice, event though there were times I would have happily ditched it. So I’m used to installing apps on these systems, even though my linux experience is mostly debian based.
I however fail to see the great difference between Windows app installation and macos drag ‘n drop. For most apps, it’s basically the same: an app in a self-contained folder (the “.app” in “\Applications” or the “app” in “Program files”). Only meaningful difference on Windows seems to be that the app self-registers as installed so it can be uninstalled from a panel in the preferences app, and for some app it registers a few parameters in the registry. On linux, since everything is (supposed to) be dealt with by the package manager, it can look a bit more of a mess, particularly to Windows and macos. And some macos apps that really need to affect the system come with an installer, which makes it as messy as the others (I’ve had a hard time cleaning my system from some of those which sometimes had no or ineffective uninstallers, at the time) and as inconsistent as any.
And for all systems, as far as I know, user files (config, history, …) are kept in a special place in the “home” folder, so there isn’t much of a difference here (except maybe for windows, where I haven’t dug into the rationale for “Local”, “LocalLow” and “Roaming” but it can be confusing if you need to look there). But that has nothing to do with installation or uninstallation anyways…
Since I’m not a systems engineer, though, I believe I might still be enlightened in this regard: what do you think makes macos’ way of things so much better in comparison ? I mean, the “just works” argument is nice, but while it is true for most applications, there are exceptions, and I feel that’s pretty much true for the others as well.
worsehappens,
Obviously linux users are meant to use package managers, but in a way I find that linux distros use package management as a crutch for an abhorrent file system layout. I really cannot stand it sometimes. It’s almost two decades ago that I tried to solve this in my own distro, but I came to the conclusion that it would be too much work because so much software is hard coded around it and I had no way to maintain it all.
For those interested there is a distro that has done it though. I feel they’ve done a great job actually cleaning up the file system mess.
https://gobolinux.org/
Of course it’s so niche I don’t think they’re in any position to displace ubuntus and redhats regardless of merit.
DOS, while having other obvious challenges like autoexec.bat/config.sys/himem/ems386/manual hardware provisioning/etc, was a breeze as far as managing software went. Earlier versions of windows were good this way too. It started out very simple. The eventual mess was self-inflicted by people who unfortunately hadn’t learned the value of keeping things simple. With the registry and garbage dump in the system directory, trivial installation processes would get replaced by opaque ones such that we’d need to use executable software to handle the task of installing other software.
Indeed. IMHO the complexity and confusion may be one of microsoft’s worst evolutionary directions for windows. And somewhat more recently the dichotomy of “program files” “program files (x86)”. “system32”->64bit resources, “syswow64” -> 32bit resources and the same dichotomy in the registry too. Ugh, non of this crap was necessary when windows switched from 16bit to 32bit because they kept things simple and 16 & 32 software would run side by side from the same directory even. I’ve talked about all this before, but whoever is responsible for this did a huge disservice to the windows platform in terms of creating completely unnecessary and unhelpful complexity.
Sometimes I feel like the operating system industry could do better to start from scratch with the benefit of hindsight. Then again at the back of my mind I am always wary of the major industry players using any new opportunities to introduce anti-patterns into new operating systems for the sake of having more power over users.