Brave and Firefox to intercept links that force-open in Microsoft Edge
ctrl.blog
ctrl.blog
https://www.google.com/search?client=firefox-b-1-d&q=netscap...
I would encourage anyone who doesn't use Windows 10 on a regular basis to take a look at what the 'defaults' are that Microsoft steers people towards on a brand new Win10 Home installation. Including the creation of a Microsoft account, bing, edge, all the telemetry turned on, etc. Just... Yuck.
Choice over force
I'm quite certain that all those non-standard URLs are all for internal links to OS-related information hosted on the web. If they instead just popped a custom app that hosted an Edge webview nobody would rip their shirts. Doing that would be ridiculous given that Edge is just there and has been tested and vetted by QA.
Don't forget that these things need to work on all versions of the OS and in all locales. You're asking MS to trust that any 3rd party app will give proper user experience for any locale when presenting such links.
It's not as-if MS was hijacking normal URLs. But ripping shirts is soooo much fun.
> Don't forget that these things need to work on all versions of the OS and in all locales.
You are confusing Microsoft with their users. Microsoft needs that. No user does, and very few need more than one version and one locale.
> But ripping shirts is soooo much fun.
Right, there is no competitive aspect at all to see here, just hardworking monks trying to ensure the absolute best Windows experience with no other motives whatsoever.
And also, you have misunderstood my claims about locales. Not all alternative browser support all locals that Windows support. Would you like to have help page from the OS or search result from the OS open in a browser with a UI in another language. Don't forget: not every computer is your own, so people can get in a situation where a browser they have chosen is installed.
If you cannot fathom why this is necessary, it mostly shows you haven't work on large software, with a large install base and support personnel. And yes, search from the start menu and F1 from the explorer are exactly the type of things where you need to guarantee some baseline of functionality and testing and support. Do you want to be the guy in support on the phone trying to explain something about a web browser you know nothing about?
It's not like I'm too dumb to understand the line of reasoning people are using. But people are clearly unwilling to admit there are also good reasons why things are the way they are. Just adamantly repeating that Microsoft does thing for one single reason is just being close-minded for the sake of being right.
As for the competitive aspect: you'd have a leg to stand on if we were talking about how Microsoft makes it harder to switch browsers in Windows 11. But, unfortunately, that is not the subject at hand. It's about specific links that are generate right inside the OS. There is no competition around showing help and OS search result. The browser competition is not about the microsoft-edge: URL schemes. In what world do you live where it is the relevant competition?
Why are you writing with certainty about things you apparently have no firsthand experience with?
The start menu search is very much integrated with the OS and even gives you result right in the menu. Would be weird if the result shown in the menu would not be the same as the ones shown when it opens a web-browser?
But I guess you did not stop to think about such minor details.
Changing to "OS-generated" is a completely different meaning.
You definitely shouldn't be certain of that. If I go open a folder and hit F1, I get an edge bing search for 「get help with file explorer in windows」. The special embed at the top is a blog post on a site I've never heard of explaining that the question mark in the top right is for help. If I click that icon, it opens another bing tab with the same search. Below that embed is completely normal search results for 「get help with file explorer in windows」. It's actively worse than ddg and google.
MS can't fucking keep updated office documentation, but suddenly they're hijacking URLs for quality assurance reasons!
BULLSHIT!
If Microsoft cannot create a page that can be displayed properly in other browsers, then the problem lies not with the other browsers.
So Apple is actually worse than Microsoft.
The various Chromium based browsers are much closer to being Chrome wrappers than, say, Firefox for iOS is a Safari wrapper because the latter has totally unique code for UI, interactions, password management, etc whereas the former is literally just Chromium with a few surface level changes.
Apple could stand to allow third party web engines either way (perhaps with strict performance requirements, to not destroy user batteries), but I think the distinction matters.
- if you’re charitable: security.
- If you’re uncharitable: blocking the ability to undermine the App Store.
I'm sure they would argue they're just providing a seamless experience for users, but I imagine there's a tiny bit of business interest in there as well.
This is no "simple setting" and is the same BS that MS does.
It's not particularly discoverable, but I think that's mainly because Apple's own UI designers have all but forgotten the NeXTSTEP UI heritage, so doing a Cmd-I on things is not as useful a habit as it once was.
Ultimately though regardless of who is doing it, it is user hostile and needs to stop. Apple restricting browser engines on iOS doesn't somehow make Microsoft's steering and suppression of other browsers on Windows acceptable.
The US needs much better consumer protections.
As a user, Apple allows you to change your default browser in both iOS and macOS quite easily.
As a developer you can build a browser on top of whatever rendering engine you want, as long as you want to use the built-in WebKit.
Crucially, they are plenty clear about what is, or isn't allowed (well, mostly — plenty of app review horror stories around here), and all of that happens in the interaction with developers. The user experience is always pretty decent, and you don't have to deal with this whole "do this in 10 locations" nonsense.
None of this "you can install a browser, but we're going to lie cheat and steal to stop you" dark patterns nonsense. As a user, Apple just tells you No, and you get to decide if you want to live with that or not.
They never stopped, one big reason why Firefox restricts what plugins users can install was Windows installing plugins that could not be removed or disabled.
Citation?
When she goes to do a google search, google's page keeps pushing chrome in her face. While she's trying to search for listings of gigs needing translation from Mandarin, Japanese, or Cantonese into English, the page she's on tells her she needs to click here and install chrome. She doesn't know what a browser or a Chrome are, so she thinks it's something she needs to do for the work search. Bam - she's now using Chrome. And he doesn't even notice the browser changed. Nor does she care. She never meant to install it or switch to it. Google is a bad player, and windows will check and once in a while ask if she wants to switch it back. Good. Me, a firefox user - I have literally zero issue clicking "no, leave my browser alone" twice a year.
She uses some office apps for spreadsheet type work, and msword. She uses some windows functions like copying files, and backing up her phone.
Telemetry lets microsoft know what she's doing, where she's getting confused or going into a loop pattern to do something, and when she tries something and gives up after it not making sense. They use that telemetry to improve their programs for people like her. Me - I turned that off. It's as easy as downloading winaero and clicking "disable telemetry" and "disable ads."
This is not illegal because it's literally what 90% of Windows users want. People who don't want that are technically apt, and it takes about 2 minutes for us to turn that off. It's just a default for 90% of the users - a correct one.
You left out the part where you explain what bad thing would have happened if your wife had kept using Google-Chromium-wrapped-with-Google-proprietary-stuff instead of Google-Chromium-wrapped-Microsoft-proprietary-stuff.
After all, Google-Chromium-wrapped-with-Google-proprietary-stuff uses telemetry to do some similar set of happy things you wrote above about Microsoft apps.
You consider your wife a passive computer user who doesn't know what a browser is. Say you switched her browser to Firefox so she could more effectively block ads, and then MS switched it back to Edge with this mechanism. They are being malicious in the same way you say Google is, except it's worse because it's malicious behavior running on her own machine instead of malicious behavior running on someone else's servers.
I have spent so much time disabling all these ads on my Windows 10 Pro machine. And it did actually leave me alone through the end of 2018 I think, maybe early 2019. Then they started coming up with new bizarre ways to try to fuck with my system. I paid for this laptop, it should do what I say and otherwise leave me alone.
Google being a bad actor is not an excuse for Microsoft to be a bad actor.
If I was her tech support, and I wanted to prevent the browser being changed by the user, I would.. Explain it to the user. And if they still changed it after that - guess what, that's their choice. But I could, just like you, prevent that with group policy. And when you do that, you won't get prompted to change it, just like my work laptop doesn't prompt me to change it. So what is the issue? The fact that if you do your customization and don't complete the full power user process, the OS can't tell if it was a random web page that did it? Maybe MS should collect some more telemetry on your laptop and run a compute-heavy AI to figure it out?
>I have spent so much time disabling all these ads on my Windows 10 Pro machine.
and why in the world would you do that? it literally takes two clicks in many different pieces of software that are available.
for the 90% of users - guess what, they wouldn't know about 1drive if windows didn't display an ad for it. What you call an ad, my wife calls helpful suggestions. When you're grocery shopping and you see a banner "apples 10% off today" that is also an "ad."
Microsoft is not a bad actor. The "google is worse" talking point is one I never stated, and a strawman you made up.
What you call "Ads" are simply defaults. And you can disable them in about a minute with one click in an app. You don't like edge at all? Guess what - there are fifty things you can do to completely disable or remove it - like change security on its folder or run a single powershell command to uninstall it.
Windows is an OS that is tailored to its users. That's not you - don't use it if you don't want. Here in the real world though, any power user simply changes the defaults in a couple of minutes, and at work there's a corporate image with all those turned off already.
I have disabled all the promotion for one drive and the browser and similar garbage. Yet no matter what, they change the OS to come up with new ways to advertise at me, even if it's only a few times a year. It's an ad even if MS claims they think it well help users. I've heard non-technical users complain about this shit too. They just want their computers to work and not bother them.
Given that people are annoyed by Windows 10's promotions, I would say they are mostly taking advantage of their situation. Some of their actions are helpful to their users, some are not-so-helpful. People tolerate ads if they have to, they do not like them.
Regarding apples 10% off, when I am home with my apples, the grocery store does not break into my house to tell me about more apples.
Compatibility with MS Office might be a plausible explanation, but even then you can throw it in a VM until you find a way to get rid of it.
That being said, after I no longer need to do video editing so my Adobe Suite usage will be back to just Photoshop, I'll investigate switching back to Linux as my primary OS again with my next laptop.
It is a plain lie that users want to be surveilled in such a way, even the non-technical ones, let alone 90%.
They can't increase revenue any more without "monetizing" the OS and users at this point.
It just doesnt take a trillion dollar company to maintain a decent OS and office suite. It never did.
We'd all be so much better off if every trillion dollar company were replaced by 10,000 $100mil companies.
mostly unavoidable bing integration, mostly unavoidable edge integration, unavoidable teams integration, bing rewards in the start menu
I'd expect lawsuits to follow in the coming months and years if they don't take some steps back
the marketshare they retain in the desktop space still places them in the classical monopoly position ( > 75%)
I remember a couple years ago when I bought a new laptop (with Windows 10 on it). I just wanted to get into Windows far enough so I could download a Debian installer and write it to a USB stick, and I was appalled at Windows' first-run setup experience, and the personal information it wanted me to give them, as well as the sheer volume of telemetry, ads, and other spyware I had to explicitly opt out of. And even then, MS was still pushing Edge and Cortana in my face all over the place.
My last serious use of Windows was Windows 2000, and man, things have gone super downhill since then.
I'm bummed that I was right to continue to not trust MS, but... well, there we have it.
Which is strange, because Nadella's Microsoft is no better than Gates' or Ballmer's.
which states "The Long-Term Servicing Channel (LTSC) is designed for Windows 10 devices and use cases where the key requirement is that functionality and features don’t change over time. Examples include medical systems (such as those used for MRI and CAT scans), industrial process controllers, and air traffic control devices."
I know MS can behave like the bad guy at times, but "disabled hospital and air traffic control equipment" isn't the kind of bad any company intentionally aims for.
They absolutely would.
Better to switch to something that respects your time.
No, I haven't. Sounds like an improvement. Regular Windows 10 is trying way too hard, and I think somewhere lots it's compass. The P in PC stands for something really important.
Luckily for him, in a capitalism "meritocracy" that's all that matters.
So you have phrases like: "If you're so smart, why aren't you rich?"
As it stands now, it seems like there are ways other to make lots of money other than merit. Is that an argument against meritocracy? It sounds like it's the opposite to me.
Short-term, maybe not. Long-term...well, there's a reason everyone wants a Macbook anymore.
Yes! THANK YOU! OH MY GOD THANK YOU BRAVE!! FINALLY!
Edge will always lag Chrome for security matters and MSFT will just be yet another surveillance layer within it.
Just use Firefox folks. It's fast, secure-ish and leaves you only one threat actor to keep track of instead of two.
Firefox is great yes, viva la resistance. Unfortunately I'm seeing more sites with quirks on Firefox so I tend to use both Firefox and Edge.
What makes you think so?
e.g
https://microsoftedge.github.io/edgevr/posts/Super-Duper-Sec...
All this nonsense does is upset power users. Power users will be annoyed but not stopped by this stuff, and by annoying them you've created a negative atmosphere around your products that they will share with less technical users.
Same thing as not allowing an "opt out" over analytics. I get that the analytics are useful, but if only 0.1% of your users are willing to opt out, is the negativity/fight really worth influential users spending years shit-talking you?
Microsoft makes some really boneheaded decisions to be honest. Apple is way better at the subtle sleight of hand monopolistic stuff, Microsoft is like a bull in a china shop.
I’ve always said that you need to look after power users’ interests, because even though they’re a small percentage of your user base they’re the ones who influence everyone else. A single power user will likely influence their immediate family, their classmates, work colleagues, friends, relations.. easily a broad spread of people.
Neglect power users at your peril.
I mean, I like this sentiment, and _want_ it to be true (hey $BIGCO, I matter!). But MS has already weathered a storm of bad PR regarding Win10 telemetry, and hasn't changed anything. What are people going to do, stop using Windows?
Edge is the closest to a cross-platform "it just works" experience I've had. All bookmarks sync between my android phone, windows and Debian. Plus I don't have to keep messing with the about:config after a clean install to disable whatever new UI features or services Mozilla has introduced in the latest Firefox update.
My only complaint is that Edge doesn't always respect my choice of search engine, for example the new tab search field at least used to redirect everything to Bing. But these can be worked around for now with relatively little effort.
Not sure about that. I find chrome way too annoying. To see history new tab needs to be opened, download bar below with no way to see all without new tab. Edge fixed these issues with toolbar buttons, some new flag options, web capture, read aloud, startup boost etc are quite helpful.
Block ntp.msn.com & assets.msn.com in hosts file to block start page completely if anyone don't like it, which I'm not sure if can be done with chrome without blocking google. This makes my experience better than chrome.
Imagine if Google would do the same. The outcry would be a lot higher, because Google is a bigger company. But in this case Brave is very similar to Google, just a lot smaller.
(that said, if/when this feature does land, opt-in is definitely the way to go for Brave to show themselves to be completely non-scummy)
If it's the former then I'm totally in favor because there's a choice at least.
Worth noting that in order to offer a toggle, we'd need to get around the default protection (same as Firefox w/ setting default browser). People can only currently use this by going to the `Defaults` handler in Windows and replacing Edge themselves
Microsoft has simply learned how to avoid getting busted for their tactics. That is all.
I'm actually fine with having edge installed.. I have firefox and chrome too.
There isn't a day that goes by when i Use edge that Google is spamming with with popups to switch to chrome or open in chrome or to try and auto-login with a google address.
I guess not...
Not everyone uses Windows willingly.
I only use Microsoft Edge to download Chrome or Firefoxhttps://www.microsoft.com/en-us/p/account-surfer/9phvp9rjr7r...
“ So, how did we get here? Until the release of iOS version 14 in September 2020, you couldn’t change the default web browser on iPhones and iPads. Google has many apps for iOS, including a shell for its Chrome browser. To tie all its apps together, Google introduced a googlechrome: URL scheme in February 2014. It could use these links to direct you from its Search or Mail app and over to Chrome instead of Apple’s Safari browser.”
Google did it first and Microsoft would like to link from its settings app to its browser.
I’m having a hard time deciding if these are the same thing or not?
Well, obviously Microsoft would say they are.
But any common sense evaluation of the situation would recognize that Google introduced their feature to get AROUND a limitation and offer customers choice (If you install Chrome on iOS you're saying you want that to be your browser), and Microsoft introduced the same feature to INTRODUCE a limitation (In spite of any other browsers installed, Microsoft is ignoring all signals and already supported protocol handling capabilities to force you into their browser).
While a pedantic techie can read this and say it doesn't matter, the courts may see it differently.
This is the kind of edge case that would bother me to no end if I was an OS vendor because any ole program can install itself as a protocol handler. The last thing I want is to have happen is clicking something in the OS opens in a broken browser or doesn’t open in a browser at all. And the only browser I know for sure is there and works the way I want is Edge or IE. The alternative is what Windows used to do is bundle (and still does) is open up its own window in an IE webview.
On the one hand, at least this "hack" is implemented as its own protocol handler ("microsoft-edge:") which is how Brave and Firefox can "intercept it" (it's not like they are hacking some "interceptor", they are registering for the protocol just as any other protocol might see multiple registrants). On the other hand it is sad that this protocol was seen as necessary hack to Microsoft to get around Windows 10 backwards compatibility needs and the mistake of bundling IE11 with Windows 10 as a "fully supported browser for the life cycle of Windows 10" rather than an optional enterprise feature with an end date on the box.
OTOH if you already know what things are officially toggleable (e.g. tips and tricks in the Start Menu) and stick to those then the UI in this is much faster than going through Settings or gpedit manually.
> The new implementations in Brave and Firefox follow the exact parsing logic I wrote for EdgeDeflector. It’s not the only way to parse them, it’s not the best way to parse them, but it’s the way every third-party implementation now parses them. Neither codebases attribute the code to EdgeDeflector, although both are clearly inspired by it. (Don’t get me wrong, I’m fine with this.)
With all due respect to the author, I don't believe this is an accurate statement. While the problem being solved (parsing a microsoft-edge: protocol string) is quite simple, there are still noticeable differences in how EdgeDeflector, Brave, and Firefox have chosen to tackle this process.
EdgeDeflector (https://github.com/da2x/EdgeDeflector/blob/469a0c8523c6bb7fb...) checks to see not only that the string begins with "microsoft-edge:", but also that it does not contain any space character (" "). The latter check *is not* conducted by Brave (https://github.com/brave/brave-core/blob/8a93d29c45800719c9e...) or Firefox (https://phabricator.services.mozilla.com/differential/change...). EdgeDeflector performs an initial case-insensitive check for the protocol, while Brave and Firefox do not (both expect lower-case characters). There is a code path in EdgeDeflector where a case-sensitive check may also be conducted.
EdgeDeflector and Brave both remove the "microsoft-edge:" prefix from the input, but Brave performs and additional check at this point. If the resulting string is empty, Brave stops attempting to extract a workable URL.
EdgeDeflector performs no such empty-string test, instead proceeding to check whether the resulting string starts with "https://" or "http://" (a case-insensitive match). Firefox also proceeds to check whether the string starts with "https:" or "http:", but in a case-sensitive manner. Brave, on the other hand, proceeds to check whether the resulting string starts with a ? character.
If the string doesn't start with a ? character, Brave attempts to parse the string as a URL and initiate navigation. If the string begins with a ? character, Brave removes that character and proceeds to split the string into chunks on occurrences of the & character.
With the string split into chunks, Brave cycles over each piece looking for one that starts with "url=". If a match is found, Brave attempts to parse everything after the = character as a URL. If it succeeds, that URL is visited.
Firefox and EdgeDeflector do take a similar approach in these later steps. While EdgeDeflector utilizes .NET's `HttpUtility.ParseQueryString` to parse and extract the URL value, Firefox passes the string to the URLSearchParams constructor, and retrieves the "url" parameter from the resulting object. Brave is the odd-man out on this step, opting instead to split the string, and cycle through to the nearest matching chunk.
While there are similarities here and there (given the simplicity of the task itself), there are stark differences as well. One thing is certain, however, Brave and Firefox both explicitly refer to EdgeDeflector as leading this effort to restore liberty to users impacted by Microsoft's heavy-handed approach to shoehorning users back into Microsoft Edge.