The perils of using Internet Explorer as your default browser
Published Feb 06 2019 08:01 AM 2.3M Views
Microsoft

Update March 12, 2019: Since this post was published, I’ve received some customer questions on the future of Internet Explorer. We are committed to keeping Internet Explorer a supported, reliable, and safe browser. Internet Explorer is still a component of Windows and follows the support lifecycle of the OS on which it’s installed. For details, see: https://support.microsoft.com/help/17454/lifecycle-faq-internet-explorer.

From time to time, I am asked by customers, “How do I ensure that all web traffic goes to Internet Explorer?” In fact, I was recently asked this question by someone trying to help a hospital. Now, I understand the scenario. In healthcare (as in many other industries), it’s often the case that you’re running with an extremely thin team. As a result, it can seem that using Internet Explorer be default for all situations is the “easy button” because, well, most of your sites were designed for Internet Explorer, so…just…always use it, ok?

In short, this seems like a deliberate decision to take on some technical debt. It’s true that most organizations have some technical debt lying around. (For example, if you’ve disabled User Account Control, require a 32-bit OS or 32-bit Office suite, or are paying for extended support for a legacy version of Java, you have some technical debt.) But this technical debt? Well, it’s different.

Creating technical debt by default

In the past, Internet Explorer was optimized for simplicity at the expense of technical debt. Looking all the way back to Internet Explorer 6, the very concept of “standards mode” vs. “quirks mode” comes from this “easy button” approach. All existing content (which had no DOCTYPE) would get quirks mode; you got standards mode by adding a specific DOCTYPE.

This, of course, had one little pesky problem: most people neither manually type HTML nor obsessively read the documentation to make sure they get the right DOCTYPE. You see, in the bad old days, you couldn’t just put in <DOCTYPE HTML>, you had to put in a full document type definition (DTD), and what you put in determined whether you’d get standards or quirks. So, it wasn’t just the presence or absence of a declaration, but also whether you put in a correctly formatted and properly chosen DTD, that would promote you to standards mode.

So, what really happened is that developer tools either added this in the skeleton code, or they didn’t. Which meant, if your tool didn’t add this in, you would get Internet Explorer 5 emulation (quirks mode) by default. Getting modern was opt-in because that was easier.

Fast forward, as Internet Explorer standards mode supported more and more standards, we decided not to just update the mode we called standards mode because, when we did, we risked breaking applications written for an older interpretation of the standards. So, with Internet Explorer 8 (IE8), we added IE8 standards, but also kept Internet Explorer 7 (IE7) standards. That meant, for sites in the Internet zone, it would default to IE8 standards, but, for sites in the local intranet zone, it would default to IE7 standards.

Another easy button.

As you can see, by going with the “technical debt by default” approach, we ended up in a scenario whereby if you create a brand-new webpage today, run it in the local intranet zone, and don’t add any additional markup, you will end up using a 1999 implementation of web standards by default. Yikes!

Enough is enough

When we introduced Enterprise Mode for Internet Explorer 11 in 2014, we made the very deliberate decision not to include wild card support. You must add all the sites that you want so that we don’t continue the chain of “debt by default” that was initiated back in 2001. But you’re probably even busier today when you were back then—if, in fact, you were working in technology in 2001, which many people weren’t!—so how do we do that without making you pay the price?

We had to simplify creating that initial blacklist (legacy by exception, not by default). First, we launched Enterprise Site Discovery so you could gather this data from your endpoints. We then enabled similar functionality from Windows Analytics Site Discovery so you could gather this data without needing to build a new set of infrastructure and processes. Once you have that initial list, it should be all downhill from there: simply remove sites as you modernize them.

By making it easy to take a blacklist approach (legacy by exception), we were finally able to move away from taking a whitelist approach (legacy by default).

Why shouldn’t I just keep doing what I have been doing?

So, why was it so important that we invert our approach to legacy? Because if we didn’t, you would end up in a predicament—and probably sooner than you think.

You see, Internet Explorer is a compatibility solution. We’re not supporting new web standards for it and, while many sites work fine, developers by and large just aren’t testing for Internet Explorer these days. They’re testing on modern browsers. So, if we continued our previous approach, you would end up in a scenario where, by optimizing for the things you have, you end up not being able to use new apps as they come out. As new apps are coming out with greater frequency, what we want to help you do is avoid having to miss out on a progressively larger portion of the web!

72 Comments
Silver Contributor

Mitch, just instruct users to use Edge all the time and add these few sites that require IE to Enterprise Mode and set them to open in IE. So if a user using Edge would navigate to such site it will redirect to IE.

Brass Contributor

@wrootYeah, that's what we are probably going to have to do unless there's a way to enforce IE the ability to only browse specific list of sites.  The problem is our users will open a legacy site in IE, then continue using only that browser going forward because it's already open.  We wanted to figure out if there was a way to enforce a user to use Edge.  For example if I have legacy site X open in IE because site X is on our explicit list that must be opened in IE, then the user spawns a new IE tab to go to microsoft.com, what I was hoping was that we could enforce that action to open microsoft.com in Edge even if microsoft.com is not in Enterprise Mode list.  

Silver Contributor

There probably might be ways to allow IE to only access a set of sites (settings, policies, firewall rules), but it would show an error when navigating to another site. Not very user friendly. I haven't heard of a way to make IE redirect to Edge. I know that they have designed Enterprise Mode to use "add sites" design versus "add exclusions", but maybe they will add something like that in the future. At least to enforce Edge, not IE.

Copper Contributor
Interesting article but clearly does not meet the needs of large companies where there are multiple scenarios to cover.
That IE 11 is not replaced is need applet, active x, etc., are still present in core applications.
Why hasn't Microsoft integrated Edge in IE11?
How to perform SSO between different applications with a main access point if each one is executed by a different browser? I think we should think more.
What strategy do you propose while you migrate?
The solution installs whatever you want, it's a bit basic.
Finally, I think that the browser is a facilitator and should not be a limitation if an application should work in IE11 because there is a period of coexistence this should not be a problem when the period ends the application will continue to work in new browsers.
It's just my opinion, thank you.
Brass Contributor

@wroot- it appears that it is possible to do what I was talking about with Intune!  Check out this blog! 

 

https://osddeployment.dk/2019/02/14/how-to-manage-microsoft-internet-explorer-browser-on-a-modern-de...

 

"You also what to restricted the use of Internet Explorer and guide the to Microsoft Edge when using Internet Explorer with a site not listed in the Site List Manager."

Silver Contributor

@Mitch Beckthat's a nice find (and nice blog to bookmark). And it was just posted today! :) I really like an option to set Enterprise Mode list through Intune and not having to do GPO with direct registry editing (although it seems it does the same thing, just through Intune policy and well it only works with Windows 10). If one already has Intune licenses, this is a good option.

Copper Contributor

@Chris Jackson, this is all great and we did change the default browser to be Edge but what about the VDIs that run in an RDS environment? There, we have no choice since MS is not supporting Edge in the Server environment. That is a bit strange in the context of this article, don’t you think? 

Copper Contributor

I don't mind not using Internet Explorer, in fact i hardly ever do. However we STILL need Internet Explorer to set several security settings used in Edge.
Why can't I use Edge to do that?

Brass Contributor

@wroot- good news if you're not using Intune.  If you go through that article and apply those settings locally they still work.  https://osddeployment.dk/2019/02/14/how-to-manage-microsoft-internet-explorer-browser-on-a-modern-de...

Copper Contributor
The only one corporative web browser are dead and will never return...
Copper Contributor

"Internet Explorer is still a component of Windows and follows the support lifecycle of the OS on which it’s installed."

 

But Windows 10 is now an evergreen service. That familiar idea of IE going away on its own, sinking with a disused OS, will not happen this time.

Copper Contributor

If you are so opposed to us using Internet Explorer, why does Outlook still offer to "view in a web browser" if you have trouble seeing an email message, and then only opens in Internet Explorer? (Very unexpected behavior when IE is not set as a browser! Should at least say, "open in IE") I've tested, you haven't even bothered to enable opening .mht email files in Edge. Now, I am all in favor of updating software to use modern browsers. But if you're going to preach it, you need to lead by example.

Copper Contributor

Believe me, nobody want to use Internet Explorer, I used to love that browser (in the 90s) but MSFT decided to let it die, but the problem is that it is still needed for a lot of thing by brute force in Sharepoint and Windows, please fix that and nobody will use IE again.

Copper Contributor

ie isn't good, but edge doesn't work. Not sure why they just don't give up.

Brass Contributor

@foxjazz - what doesn't work and what version of Edge are you talking about?  Can you be more specific? 

Copper Contributor

Hi Mitch, 

 

I don't understand it fully myself because I am not the author of this app. (angular 6)

 

But when I click the edit button, it seems to start to navigate to edit, but then goes back to the list.

 

Sample code surrounding issue: I am  not sure how best to help.

 

angular app

 

<div class="col-xl-4 col-lg-10">
<button *ngIf="!hidePublishField" class="btn btn-primary disabled" >Edit</button>
<button *ngIf="hidePublishField" class="btn btn-primary" (click)="editArticle();">Edit</button>
<button *ngIf="!acknowledged && hidePublishField " class="btn btn-primary disabled" ngbTooltip="Please identify if the above information is correct by selecting the checkbox attestation to the left.">PUBLISH</button>
<button *ngIf="!hidePublishField" class="btn btn-primary disabled" ngbTooltip="">PUBLISH</button>
<button *ngIf="acknowledged" type="submit" class="btn btn-primary" [disabled]="!acknowledged" (click)="publishArticle();">PUBLISH</button>
</div>

editArticle() {
this.editEvent.emit(this.articleDetails);
}

@Output() editEvent: EventEmitter = new EventEmitter();


package.json stuff

"dependencies": {
"@angular/animations": "6.1.3",
"@angular/common": "6.1.3",
"@angular/compiler": "6.1.3",
"@angular/core": "6.1.3",
"@angular/forms": "6.1.3",
"@angular/http": "6.1.3",
"@angular/platform-browser": "6.1.3",
"@angular/platform-browser-dynamic": "6.1.3",
"@angular/router": "6.1.3",
"@angular/upgrade": "6.1.3",
"@ng-bootstrap/ng-bootstrap": "3.0.0",
"angular-font-awesome": "^3.1.2",
"angular-in-memory-web-api": "0.6.1",
"bootstrap": "4.0.0-beta",
"core-js": "2.5.7",
"font-awesome": "^4.7.0",
"ng-multiselect-dropdown": "^0.2.3",
"ngx-bootstrap": "3.0.0",
"ngx-modal-dialog": "^3.0.0",
"ngx-spinner": "6.1.2",
"ngx-tooltip": "0.0.9",
"rxjs": "6.2.2",
"zone.js": "0.8.26"
},

Copper Contributor

@Chris Jackson  - Question, what is Microsoft's plan when a company uses a Single Sign On system that requires IE11 and then allows the user to use a portal to other sites that are ran by outside businesses? Should those businesses be required to support IE11 even though it is their client stuck on IE11? Is there a way to push that portal link to Edge or another browser and still retain the SSO login? Is that even possible? Purely hypothetical, I am not currently seeing this in the wild at all. :)

 

Better question, does Microsoft plan to support IE11 indefinitely? Or with the new Windows 10 build that was released with the new Chromium Edge, does Microsoft plan to phase out IE11 since it is not longer the browser with this version of Windows 10? Is there a build number of Windows 10 that web developers can look forward to no longer needing fallbacks for IE11?

Silver Contributor

That build that introduced new Edge didn't remove IE11. They have only replaced old Edge with the new Edge, but IE still remains in the system.

Copper Contributor

Thank you for the update. Then my original question remains I guess. When SSO logins require IE11, how is that handled for portals leading outside of the company's systems? Should other companies be expected to continue to support IE11 when their systems do not require it? Is there a way for admins to transfer logins from one browser to another when the user is no longer required to use IE11?

Microsoft

Hi @ddade - if you are using IE mode, then you would want to configure your SSO login page as a Neutral Site in IE mode (meaning if launched from an Edge page, stay in Edge, but if launched from an IE page, stay in IE).

 

That does mean that the SSO authentication page will need to continue to support IE. There shouldn't be too much fancy stuff on an AuthN page which would be dependent on bleeding-edge web standards, though.

Copper Contributor

i left internet explarer 2-3 years ago after using since 1998 becasue 

1)  loging into websites was a issue even after clearing cash or haveing a newly formatyed windows machine.

2) edge bing push and new tabs not being able to open to the page of choice i pick.

 

Even today i dont use edge. i like edge but as long as microsft refuse to alow me to open new tabs to my choice of home page then sorry not happening and to be honest im used to useing opera and firefox now.  id love to use edge but after all these years trying to force me into edge if im not a address bar search user in new tabs is concieted and forced.  I dont see microsft changeing this after all its been many many years and we know what pace microsft likes adding things.  god skype took how long for microsft to make good, so long only 1 of my friends use it now lol.  and well windows ten start screen with live tiles looks great if you use third party software because windows 10 and microsft dont give you any software to turn a old fashioned shoirtcut into a simple prety tilesd size shortcut lol.  my hopes are gone for edge because they have kept up force pushing bing in new tabs.

 

and just to state the obvious as microsft like many companies are too pro active.  

xbox one kinex was great but showing it in youe xbox presentation the majority of the time is why people were upset.

its the same with edge.  edge was fine, it had nothing to do with android or chromium. people didnt use it because 

1)first year of release it , spartan renamed had so much basic stuff like a home buton missing.  multi monitor has never been as good asie event today.  on a ultra wide its great.

@2)Stop pushing bing on people 

3) every update used to result in an atempt to push edge on users, going as far as moving your ie from the toolbar and replaceing it with edge and making ie hidden in program fils for the basic user.

4) and this ios the bigest reason i believe people dont use edge now and why microsft have lost that market.  new tabs open to one of three choices microsft give you yet they dont let you chose your origional home page and they dont let you pich any default page because they want thast bing bar there and they want to try and force people to use it.

Copper Contributor

What about XAML Browser Applications (XBAP files)?

 

They are not supported on other browsers, including Edge.

 

After 15th June 2022, Internet Explorer will be removed from Windows 10. As .NET 3.5 is supported until 2028, how can users access WPF applications designed to run on IE only between 2022 and 2028?

Version history
Last update:
‎Mar 14 2019 10:40 AM
Updated by: