The Microsoft Edge icon overlaid by a large orange arrow pointing leftward.

Lessons learned maintaining EdgeDeflector for Windows 10

Three years ago, I released EdgeDeflector; a tiny open-source utility program for Windows 10. It reinforces the default web browser setting in situations when Microsoft ignores its own setting and pushes you to use its Edge browser instead. It’s a tiny software project that I’ve not had to write any new code for in years. However, supporting it has proven a frustrating experience.

The origin story of EdgeDeflector is a tiny act of rebellion against tech behemoths abusing their market positions. Microsoft uses Windows 10 features like Search, Cortana, and others to force users to open links in its Microsoft Edge web browser. The operating system has a default web browser setting, but Microsoft circumvents this setting in certain parts of its operating system. It doesn’t respect the choices of its consumers to not use its software. EdgeDeflector gave back this control.

EdgeDeflector was positively received by users and has been downloaded over 300 000 times. 265 000 through the project page on GitHub and 35 000 times from mirrors. It popped up in all the Windows news/fan blogs within a few months of its launch. It still occasionally receives coverage from tech blogs with nothing more original to cover.

I don’t hate or even dislike Microsoft Edge. I just didn’t want to be forced to use it. Edge used to be built on Microsoft’s EdgeHTML rendering engine. It did its job and I’m sure it served its users well.

Microsoft has since abandoned EdgeHTML in favor of building its web browser on top of Chromium. Chromium is an open-source browser project lead by Google. It powers just about every web browser on the market except Apple Safari and Mozilla Firefox.

I take no joy in seeing EdgeHTML die or having personally contributed to reducing its usage by over a quarter-million users. The poor Edge user experience dug that grave. I don’t feel like I’ve contributed to the growing Chromium monoculture by reinforcing people’s default-browser setting. (I recommend that people try out Firefox or Firefox-based alternatives to stave off the growing Chromium monoculture.)

The project was quick to realize, and it solved a problem people had with Windows 10. The program is only 200 lines with liberal amounts of white space. I’ve spent way more time answering the same questions and providing user support than I ever did writing the software.

The number one feature request was for EdgeDeflector to automatically redirect search queries from Bing Search to Google Search. I’ve repeatedly said no to this request. Windows opens Bing Search when you search with Cortana or Windows Search, and when you click various help links in the Settings app.

Windows Search and Cortana is powered by Bing. Stop feeding it your search queries if you don’t want to use Bing. Google has a near-monopoly on web-search. I won’t do anything to push more people to use Google products. I’m more interested in doing the exact opposite.

I understand that many have a strong preference for Google Search. There are browser extensions for all web browsers that will redirect your Bing Searches to Google Search. There are also several forks of EdgeDeflector that will happily redirect copies of your Bing searches to Google.

EdgeDeflector’s binary release doesn’t come with code-signing — a security feature that lets Windows (and antivirus programs) know who made it. I simply don’t want to put up the cash or maintain a certificate for it. This has occasionally triggered false-positives from different antivirus solutions.

Notably, the reoccurring detection issue has been with a GitHub URL that’s included with the installer. Third-party programs can’t automatically change URI protocol handling in Windows 10 without user action. To properly register EdgeDeflector in Windows, the installer opens a welcome/troubleshooting page after it’s installed. This process should get the user all set up to use EdgeDeflector.

There’s no auto-update function in EdgeDeflector. I can’t safely include this function without obtaining a code-signing certificate. The functionality would also have required fifty times more code than the program itself. This has only been an issue once when Windows 10 pushed an update that broke EdgeDeflector.

The number one user complaint has been that EdgeDeflector “doesn’t work.” The number one cause comes down to corruption in the default program/file and protocol association registry in Windows. Users don’t notice that it’s broken until they install something like EdgeDeflector and find that it isn’t working. EdgeDeflector gets blamed a lot for what is a Windows bug.

This issue can be resolved by reading the troubleshooting page that opens automatically after you’ve installed EdgeDeflector. Many don’t read that page. It has been frustrating having to respond to support requests from Windows 10 customers about their issues with Windows 10.

Just a few days ago, Windows Search (and Cortana) stopped working for many Windows 10 users. EdgeDeflector users blamed it for the problem. This is understandable as it’s something they’ve installed that, to them, changes how search works. However, EdgeDeflector doesn’t make any changes to Windows 10 or any Windows components. It’s a tiny program that transforms one proprietary URI protocol (microsoft-edge://) to a standard one (https?://).

The issue this week had nothing to do with EdgeDeflector. It was caused by a Microsoft service outage.

Yet, users don’t understand that and blame the program for all sorts of things that go wrong with their system. People don’t like hearing that “I’m sorry that Windows 10 isn’t working properly for them, and it isn’t EdgeDeflector’s fault.” On a related note: Sorry, but installing EdgeDeflector didn’t break your printer, made your screen blue-tinted, nor kill the battery in your laptop.

Likewise, there are a few third-party web browser extensions that recommend their users install EdgeDeflector. These extensions are primarily meant to redirect Bing search result pages (like the ones opened by Cortana) to Google Search. They’re a nice compliment to EdgeDeflector.

However, users don’t see the distinction between these extensions that recommended they install it and EdgeDeflector itself. People have been outright furious with me because of third-party browser extensions that haven’t lived up to their expectations.

I’m always confused by how many people demonstrate that they know how to search online by locating my email address but are then unable to find an answer to their questions. More often than not, they could have directed their email verbatim (sans the greetings) into Bing or Google and had their answers instantly.

Only 5 ‱ of people who’ve downloaded EdgeDeflector have reached out needing help with it. It’s not a lot of people looking back on it. It hasn’t really taken up all that much of my time. However, it has chipped away at my free time a little at a time for three years now. I feel like I’ve been stuck dealing with people’s frustrations about their operating system of choice.

Only 0,3 ‱ have donated money to show their appreciation for EdgeDeflector. I’m grateful for the people who have donated. However, this is not how I’d hope to create value for myself with EdgeDeflector, though.

I had hoped that it would drive some traffic to my blog. The inaugural blog entry for EdgeDeflector admittedly isn’t the most exciting read. However, it explains what problem it’s designed to fix, how it works, and includes a cautionary tale about using less secure alternatives to EdgeDeflector.

However, you’re unlikely to find that blog post if you search for EdgeDeflector by name (a name I came up with). It’s at the bottom of page four on Google Search, at the bottom of page two on Bing, and at the top of page 11 on Yandex Search. Articles from tech blogs outrank it. Auto-generated pages, forked GitHub repositories, and sketchy-looking software mirrors also outrank it.

None of these pages have linked to my blog post despite it being prominently featured on the project GitHub repository. About half the links point to the GitHub repository and another quarter link to the release page or a specific release. Some link directly to the download or to another download mirror.

Writing a blog post and linking it from a somewhat popular GitHub repository has completely and utterly failed as a link-building strategy. No external websites covering the program took the bait. Everyone want their article to be the definitive source of information, so people tend not to reference any sources even when they’ve pulled quotes out of the blog post.

I wish I never made EdgeDeflector available through GitHub. I really should have charged $1 for EdgeDeflector on the Windows Store instead. It would probably have seen far less success this way. One dollar is an incredibly high barrier to installation, after all. People would have been less likely to install it and probably be more motivated to make it work if they’d paid for it. I’d also potentially have had a tiny pile of dollars to show for it and I wouldn’t have had to answer so many emails.