Return will select the default whether it is selected or not
Escape will select cancel whether selected or not
Don't even get me started on Docker and how it works on it.
That seems to have been lost. New and often unwanted features just add to the complexity. A lot of first party applications seem subpar. And iCloud often seems more like a nuisance than a feature.
I still like Apple hardware but I’m looking forward to trying Asahi Linux soon.
MacOS is very clear about what it will and won't do. So long as you subscribe to the One Apple Way(tm) and adhere to what MacOS will do, you're golden; and a common man's use case almost never goes beyond what MacOS will do.
Combine that with a consistent design language and I, sincerely, would recommend a Macbook Air of some description to most people. MacOS Just Works(tm).
Windows and Linux are for the tinkerers, for the masses MacOS is the best option out there.
To this day, if you want, you can run Finder with no chrome, as a strictly spatial file navigator. There is a vibrant, reactive, and profitable market for third-party software to change the capabilities of the OS. Windows has a market too, but it is far from what the mac community manages to make. macOS is still a tinkerer's dream to a greater extent than Windows.
In my case, as a computer user of 27 years who’s been writing code in some capacity for around 20 years, macOS is preferable because its stock config is the closest to how I want things to work. It takes very little config prodding to get to my productive “happy place”.
With Linux on the other hand, reaching that same “happy place” feels like a Sisyphean task… no matter how lunch time I spend on tinkering it still isn’t “right” and that further detracts from productivity because it’s distracting. I don’t think I could make Linux my primary OS without developing my own DE, which rather than Sisyphean is Herculean.
Don't get me wrong, it's perfectly fine and probably works great for most people. But there's been a plethora of tiny issues and problems that make it juuust annoying enough to use for me that I'd rather not.
Window management is one example. Needing a third party program running to fix scrolling with a mouse is obnoxious. Had an update that failed because it couldn't close a program, I clicked the cancel option on the dialog, and when I later closed that application then the machine restarted and applied the update. I haven't had even Windows force an update on me like that in years. The VPN client will store a password, then not use it (although maybe that's related to the host?). There have been other issues for me, those are just the ones I remember.
It's a shame too, I love the hardware of the MacBook: screen, speakers, track pad, even the keyboard are all great. If this was a personal device I'd probably be getting into Asahi despite its very much in development state (and yes I know a lot of what I like about the hardware has underlying software making it great which doesn't translate to Asahi right now, but I'm confident it'll get there one day).
That one view where icons don't snap to any grid but move like pixels in a raster editor... I am baffled as to why did it ever got made, and how is it staying in every new version.
https://support.apple.com/guide/mac-help/work-with-app-windo...
There is rectangle, which has nice keyboard shortcuts, but it is a 3rd party addon.
I agree that the windowing system of MacOS is an unusable mess.
Ah those JavaScript extensions all over the place.
Or better said, used to prefer, when the tooling actually was supported.
Why would they do that? Is that implying web technologies are superior to the tools they are making?
I think eventually they'll become integrated with operating systems natively, rather than requiring webview. But that means desktop managers will become much more integrated with the web as well.
Basically I see a future where your OS is your internet browser as well as window manager, process manager, etc.
Even WebOS has support for Qt based applications, and ChromeOS had to add support for Android and GNU/Linux containers to run alongside the Chrome stack.
There were far, far better UI kits in the 90s, which is why programs were a lot more usable back then. NeXT comes to mind. It doesn't help that Linux has wasted the past decade struggling to solve the difficult problem of (checks notes) who is logged in to a graphical seession.
Even with all that effort it has just recently surpassed the era of WinForms. How much effort is it to customize a date picker in web tech? Layouting was completely broken for decades, only now is it semi-okay. WebComponents are also a recentish development, but they are absolutely essential.
Also, how come WYSIWYG editors are not common?! They were everywhere.
Hahahahahahabonk.
HTML and CSS are not the answer. If anything, you should be scared off by the fact that webpages require at least three languages to implement anything useful (HTML, CSS, and JS), and that doesn't count whatever you could use for a backend (PHP? I'm not a web developer, so I don't know what the cool kids use, other than maybe Node.js.)
In my book, the fewer langauges you use, the better: I will even extend this to Qt and QML (and it should be pointed out that I am passionate about using Qt and QML!). Multiple languages necessitate (often fragile) bridges to work together; plus, they take much more time and effort to learn. If you could learn one language and use it to make an app, wouldn't you jump at that instead of learning 3 or 4 languages before you could make an app?
Others have already added some great comments about the wisdom (or rather the lack thereof) of integrating a web browser into the OS. Myself? I don't wish anybody a future of bloated webapps for everything.
As an engineer, I see this differently. A "language" is not simply (or always) syntax. Generally speaking, any API is already a language, and it's normal to use several APIs in one application; I'd even say, the more the merrier. Further, it is OK for an API to be represented as a DSL (domain-specific language) with a syntax of its own, so it's all good.
I also have an argument against the "too many languages" point: What's happening in the modern web is that HTML, CSS, and JS are slowly combining. A lot of projects are moving towards TSX components (Typescript and React, Vue, Svelte, etc.) with Tailwind CSS. So: Typing, layout, scripting, and styling all in one cohesive package that can easily be abstracted into components or classes.
I think eventually there will be a singularity of sorts where we have a standard toolkit/language.
From my own experience building websites and native apps, I can move around in web tech like a god damn ninja but I hate electron. I hate the inefficiency of using a browser for the UI. Qt and Gtk feel clunky and limited compared to web, but are native. But now there's Tauri, and I think it's a large step in the right direction.
Any other aspects of what UI design is supposed to be about, ergonomics, usability, consistency, accessibility, internationalization is total crap in HTML/CSS. What is the taborder of your custom HTML/CSS datepicker? What will happen when I press <Esc> on your custom css popup? What is the keyboard shortcut to highlight that form field or to open that hamburger menu? How will my screenreader pronounce that hamburger symbol? Will it be the same for the next great HTML/CSS creation? Will the date format follow my locale?
HTML/CSS is great only if you are the strictly visual aesthetics kind of "designer" who only care about reproducing their napkin drawings and photoshop mockups. For all the other things one would ask of a proper UI, HTML/CSS is either useless or actively detrimental.
Your argument is essentially that freedom means bad outcomes, but it actually means more possible outcomes.
I sure hope you're wrong. It's definitely happening in some respect and to me it feels like we are undoing the shift from corporate controlled, centralized computing to personal computing where users are in control that happened from the late 70's through most of the 90's.
I've posted this quote here before, but I still think about it all the time. In Ellen Ullman's excellent book Life in Code she quotes Whitfield Diffie:
> We were slaves to the mainframe! he said. Dumb terminals! That's all we had. We were powerless under the big machine's unyielding central control. Then we escaped to the personal computer, autonomous, powerful. Then networks. The PC was soon rendered to be nothing but a "thin client," just a browser with very little software residing on our personal machines, the code being on network servers, which are under the control of administrators. Now to the web, nothing but a thin, thin browser for us. All the intelligence out there, on the net, our machines having become dumb terminals again.
Good for population in general, who won't tinker anyways.
Bit of spectrum example, not just black and white.
Maybe for a very specific sort of aesthetic optimization, but for everything else it is my opinion that modern web stack remains inferior to Visual Basic and HyperCard, both of which were easier to use for creating interfaces, and in my opinion both of which looked better.
https://news.ycombinator.com/item?id=27783545
Today I think I even prefer Windows + WSL rather than Mac.
Sensible defaults is a good approach.