I used to share your belief, but as I got older, I realized... Windows isn't targeted to us, the faux technocratic elite that grew up with computers: it's targeted to the average person, and the average person, largely, is technologically illiterate to some degree.
You cannot get file/uri associations correct in a UX in a way that handles all situations. Essentially, this is a subset of the "many to many relations in database tables fundamentally suck" problem, and every time this happens where it is directly exposed to the user it has never turned out well.
Combine the potential UI/UX nightmare of this with literal actual criminals putting malware on the PCs of technologically illiterate users: it now hijacks 15 different file/uri associations in ways that are not easily fixed.
What Microsoft should do? Do an Android-style ask (yes, the one that all the people like us hate) every time a new handler can be associated. What they can't do? Expressly this because it didn't exist in Win98 when they added uri handler system to the existing file handler system, and Microsoft is obsessed with backwards compat.
Side note: Technically, Firefox could trigger the OTHER existing API for this that UWP apps are forced to use as per MS Store sandboxing, from the C++ WinRT API; any app could. It isn't well documented, and isn't the intended use but WinUI 3.x's path is allowing apps to piecemeal their way into the future without all-or-nothing rewrites. I'm not going to insult Mozilla by saying they "choose not to", I'd rather someone else jump in the deep end first on that.
How Microsoft ended up fixing the actual issue at hand? Removing the need to get another browser in the first place, but still allowing technologically literate users to install one if they want. Edge is Chrome, but without the boneheaded decisions Google makes ruining it, and actually moving forwards in usability.
Edge has vertical tabs built in, it has an actually visually correct dark theme built in[1], has the existing bookmark/history/open tab/etc syncing (which some Chromium-based browsers still do not, as they have to write their own backend), it has an Android version (many desktop Chromium browsers do not have a matching phone version), it has the beginnings of a ABP/uBlock style ad blocker built in (its already in the Android version as well) (Chrome will never ship with adblocking built in, Google's entire business model depends on their ad network), its the first Chromium-based browser that supports the VBS-based hardware-enforced browser sandbox (Microsoft wants to bring it to all Chromium-based things including Electron apps), and it also has tab collections built in (which is also supported on the Android version), and last but not least, they have an actually working PWA container on the desktop (reviving the code Google killed because they didn't want a future where Android couldn't be a vendor lock-in moat).
The number of extensions I need to make Edge actually productive is less than any other browser.
You know what Mozilla brought me? Panorama, which is now gone. An extension system that could actually deeply modify the UI (thanks to XUL), which is now gone (and has been replaced with a partial WebExtension implementation). A PWA-first OS, called FirefoxOS, that would be lighter and faster than Android by several magnitudes, which is now gone. An Electron alternative that used Gecko instead, called Positron, also gone. A PWA container for the desktop called Prism, also dead.
Almost everything Mozilla thought of, half-assed, and then killed, Edge has succeeded, and brought to not only Windows, but OSX, Linux, and Android too, and also salvaged the slowly rotting Chromium codebase at the same time.
[1]: Dark themes should never have backgrounds darker than 16, as the eye has poor "bright on dark" focusing, but most monitors, even ones being sold today, have very poor tracking of values below the limited 16-240 range (even HDR monitors); the two of those together make standard viewing conditions (dimly lit office or indirect sunlight lit room or single 60W equivalent on a desk in a small bedroom, with a 100 nits monitor (sRGB defines optimal brightness as 80 nits + offset for ambient, BT1886 defines SDR white as 100 if not otherwise calibrated, BT2020 defines SDR content in HDR display mode as 100)) hard to read for standard distance and DPI monitors (ex: 24" 1080p or 27" 1440p at ~29 inches, given a 1.2 ratio of screen size to distance) at the standard text size (16px).
Dark themes that have pure black for misguided reasons should be eradicated for user accessibility reasons; contrast and readability are very important for everyone, not just people with diagnosed vision problems.
> I used to share your belief, but as I got older, I realized... Windows isn't targeted to us, the faux technocratic elite that grew up with computers: it's targeted to the average person, and the average person, largely, is technologically illiterate to some degree.
I mean, the average user has been capable of installing and using alternative browsers for a significant period of time. Most folks exist as some shade of gray between your Grandma with an Ask toolbar and the "HN elites." If anything, I think there is often an underestimation of what regular users understand and are willing to do with their tech (to improve their experience, privacy, etc.) If you need some sort of a sanity check, see how your friends and peers (that don't work in software) configure their systems. See what browsers they use, what adblockers they configure, etc. I predict you'd be surprised.
I rarely meet this "average user" who is often discussed on HN; this person who isn't interested in using non-standard software, who doesn't care at all about their privacy, who will use only the easiest and cheapest solution possible, etc. Dark patterns don't just work on these "average users," they work on plenty who even work in tech. I click "Accept All" on the cookie banner on this one-off website if it's the fastest way to read the contents, I will put off changing default apps if I have to hunt for the correct settings, heck I've been charged for subscriptions an extra month because I put off dealing with the hassle of cancelling the thing.
I think this "average user" is constructed in the collective imagination because it makes implementing user-hostile design choices a little more conscionable if you view your users as tech illiterate morons. Considering the state of the industry, one where dark patterns and user hostility permeate nearly every design choice, it doesn't surprise me that HN, a subset of this industry, holds this dim view of its users.
> If you need some sort of a sanity check, see how your friends and peers (that don't work in software) configure their systems
Everyone I know who doesn't work in tech "configures" their system by calling me and saying, "it doesn't work" (no other details provided), and asking if I can just fix it.
> I rarely meet this "average user"...who isn't interested in using non-standard software...doesn't care about privacy...will use only the easiest and cheapest solution
Consider yourself lucky, and consider the circles you travel in are may not be reflective of the majority of users.
Everyone's anecdotes will be different (and may differ along generational lines.) For a more concrete example of users seeking non-standard software, within a few years of it coming out Chrome became the most popular desktop web browser, surpassing IE. People perferred the experience on Chrome over that on IE to a considerable degree. On the privacy front, 96% of users opt out of surveillance-based advertising [1] when empowered to do so.
The longer we consider concepts like user freedom and privacy as only things that "HN elites" would appreciate, the more tolerable user-hostile design choices will be among HN types.
I'm inclined to agree with you on this one. I spend a lot of time and effort customizing my setup so it fits my needs perfectly. Because I believe that spending even a day or two on setup for a system I'm going to use for a year+ is well worth my time.
So many of my coworkers at every job have just blindly accepted all defaults for Windows, macOS, etc. setups. Even when something really annoys them, they'll only occasionally express it... and when I show them that it's a setting they can actually change to better suit their workflow, they're super grateful and excited at this new thing they learned. As if they couldn't possibly have navigated to preferences on their own.
Even things that are massively broken, like my dad's router that was constantly overheating and shutting down because it was stacked in the back of a closet surrounded by other crap, many people just accept and move on from.
My personal favorite? I'm constantly frustrated by almost everything I do in the Spotify app:
- General lagginess, slowness to start up or respond to clicks
- loading in albums and playlists that reorganizes the homescreen as a I scroll and try to click on things
- albums I click on that never load unless I back out and click on them again
- music that shows up as "playing" but doesn't actually play any audio
- unplugging headphones leading to half a second of audio blasting out my speakers because the app takes so long to respond to the headphone disconnect event...
I asked a software engineer friend if he's ever frustrated by those same things. He said "it's fine." I showed him some of these frustrations (because they're very replicable).
He said "it's fine. It plays music, what else do you want it to do?"
Most people are content with mediocrity. Perfect example: the folks who use built-in apps on Samsung phones that display ads in between weather and text messages and emails.
Honestly the way I look at it, these issues all have such a simple solution. The user experience can be so much better, but MSFT does not want that. They want a confusing experience that pretends they aren’t monopolizing their platform.
Even if the lowest common denominator can navigate the settings (eventually) it’s still not an excuse to make shitty UX paradigms. This is a company with some of the best and brightest engineers—and we’re on three decades of Windows… and they can’t figure out how to design a proper defaults page? Come on.
"Open all browser file types in a single browser I select" is good enough for both the average user and the "technocratic elite" in basically all cases, and there are certainly zero cases where choosing every file association manually is better for someone who doesn't know what they're doing.
I don't understand your complaint about Firefox's dark mode; I've been using it for years and I don't remember any pure black elements. And as far as extensions, Firefox may be missing a couple minor APIs but it's the only browser that doesn't block the important ones (e.g. the ones uBlock Origin needs) so ad companies can make more money.
I use dark themes with pure black backgrounds precisely because it maximizes contrast and increases accessibility. I don't understand your dislike for them and desire to eradicate them, especially when they can exist alongside grey dark themes (as is commonly the case with Android apps).
It was removed from the core browser because they reached the point where it could be entirely implemented in an extension, and also wasn’t as popular as they’d hoped. … it should then be noted that it can no longer be perfectly implemented in a WebExtensions world; there are some compromises that need to be made, comparatively minor is my impression but I don’t use it (I used Panorama at first, but found before long that multiple windows and Tree Style Tab was more useful to me).
> An extension system that could actually deeply modify the UI (thanks to XUL), which is now gone (and has been replaced with a partial WebExtension implementation).
Replaced for entirely legitimate performance reasons, even if you ignore the security and maintainability arguments. As with many things, it’s a balance. So long as userChrome.css still works, I’m fairly OK with where things lie.
> Firefox OS, Positron, Prism
Sigh. Yeah. I’d count XULRunner here too. I won’t comment on Firefox OS or Prism, but I believe a substantial reason in the killing of XULRunner and Positron is that they were too hard to maintain and held progress on Firefox back.
> Almost everything Mozilla thought of, half-assed, and then killed, Edge has succeeded
It’s funny how these things go: an early implementer before its time, and then later something else reinvents much the same thing but actually succeeds at it. The first two examples of this that my mind always springs to are actually both Microsoft: HTA, which was basically Electron lite, but in 1999; and tablet PCs in the mid-2000s, that quite flopped because the hardware wasn’t quite right yet, and so Microsoft abandoned the space and licked their wounds for another decade before returning (with the iPad and Android tablets having occupied the space, including things like ASUS’s Eee Pad Transformers).
And the related phenomenon of cycles like how OSes used to be all colour-customisable, then they steadily lost that, then eventually they all added dark modes back in again, treating it as something all new and never-before-seen.
> Dark themes
You’re subscribing to the common fallacy that dark themes are just one thing. The fact of the matter is that there are actually several substantially different types of dark modes. This is theory I’ve been mulling over for the last few years; I’ve vacillated between reckoning three and four types and exactly where to draw lines, but I’m currently going with four: ① æsthetic, which is fairly low contrast and certainly avoids true black and white; ② accessibility, which is high contrast in both colours and styles (that is, no gentle gradients, just harsh boundaries between colours), and uses true black and white—note here that light accessibility mode is much more likely to be useful than dark accessibility mode, but both have a place; ③ low-light, which uses true black and mostly fairly bright whites up to and including true white, but is not scared of in-between colours or actively trying for super-high contrast; and ④ power-saver, which is largely for things like OLED panels, where true black definitely uses less power and can look great, and certainly not for TN LCD panels where true black tends to look awful. Which type of dark mode is most appropriate depends on the user’s eyesight, the device screen type, the ambient lighting conditions, the nature of the content being presented, user preference, and power availability.
You cannot get file/uri associations correct in a UX in a way that handles all situations. Essentially, this is a subset of the "many to many relations in database tables fundamentally suck" problem, and every time this happens where it is directly exposed to the user it has never turned out well.
Combine the potential UI/UX nightmare of this with literal actual criminals putting malware on the PCs of technologically illiterate users: it now hijacks 15 different file/uri associations in ways that are not easily fixed.
What Microsoft should do? Do an Android-style ask (yes, the one that all the people like us hate) every time a new handler can be associated. What they can't do? Expressly this because it didn't exist in Win98 when they added uri handler system to the existing file handler system, and Microsoft is obsessed with backwards compat.
Side note: Technically, Firefox could trigger the OTHER existing API for this that UWP apps are forced to use as per MS Store sandboxing, from the C++ WinRT API; any app could. It isn't well documented, and isn't the intended use but WinUI 3.x's path is allowing apps to piecemeal their way into the future without all-or-nothing rewrites. I'm not going to insult Mozilla by saying they "choose not to", I'd rather someone else jump in the deep end first on that.
How Microsoft ended up fixing the actual issue at hand? Removing the need to get another browser in the first place, but still allowing technologically literate users to install one if they want. Edge is Chrome, but without the boneheaded decisions Google makes ruining it, and actually moving forwards in usability.
Edge has vertical tabs built in, it has an actually visually correct dark theme built in[1], has the existing bookmark/history/open tab/etc syncing (which some Chromium-based browsers still do not, as they have to write their own backend), it has an Android version (many desktop Chromium browsers do not have a matching phone version), it has the beginnings of a ABP/uBlock style ad blocker built in (its already in the Android version as well) (Chrome will never ship with adblocking built in, Google's entire business model depends on their ad network), its the first Chromium-based browser that supports the VBS-based hardware-enforced browser sandbox (Microsoft wants to bring it to all Chromium-based things including Electron apps), and it also has tab collections built in (which is also supported on the Android version), and last but not least, they have an actually working PWA container on the desktop (reviving the code Google killed because they didn't want a future where Android couldn't be a vendor lock-in moat).
The number of extensions I need to make Edge actually productive is less than any other browser.
You know what Mozilla brought me? Panorama, which is now gone. An extension system that could actually deeply modify the UI (thanks to XUL), which is now gone (and has been replaced with a partial WebExtension implementation). A PWA-first OS, called FirefoxOS, that would be lighter and faster than Android by several magnitudes, which is now gone. An Electron alternative that used Gecko instead, called Positron, also gone. A PWA container for the desktop called Prism, also dead.
Almost everything Mozilla thought of, half-assed, and then killed, Edge has succeeded, and brought to not only Windows, but OSX, Linux, and Android too, and also salvaged the slowly rotting Chromium codebase at the same time.
[1]: Dark themes should never have backgrounds darker than 16, as the eye has poor "bright on dark" focusing, but most monitors, even ones being sold today, have very poor tracking of values below the limited 16-240 range (even HDR monitors); the two of those together make standard viewing conditions (dimly lit office or indirect sunlight lit room or single 60W equivalent on a desk in a small bedroom, with a 100 nits monitor (sRGB defines optimal brightness as 80 nits + offset for ambient, BT1886 defines SDR white as 100 if not otherwise calibrated, BT2020 defines SDR content in HDR display mode as 100)) hard to read for standard distance and DPI monitors (ex: 24" 1080p or 27" 1440p at ~29 inches, given a 1.2 ratio of screen size to distance) at the standard text size (16px).
Dark themes that have pure black for misguided reasons should be eradicated for user accessibility reasons; contrast and readability are very important for everyone, not just people with diagnosed vision problems.