The Windows 10 Browser Conundrum

This post has been republished via RSS; it originally appeared at: Windows Blog Archive articles.

First posted to MSDN on Jun, 21 2016

One of the most common questions I’ve been seeing from folks who are migrating to Windows 10 is: “How do I go about hiding all references to Edge / removing it entirely / putting Internet Explorer front and center and ensuring that nobody ever finds Edge?” So naturally, I’m not going to answer that question. Not because I’m being a jerk (I mean, I am a jerk, but not because of this) – but rather because that’s not my area of expertise. There are blogs and articles out there that talk about doing all kinds of things, up to and including using AppLocker to block it. I’ve not tried any of them, I think the more extreme ones are a bit odd and I probably wouldn’t recommend those, but in the end that’s not what I’m an expert in. Rather, I want to talk about the web platform strategy that we have, and perhaps persuade you as to why we’ve made the product as we have. You can, of course, choose to disagree with our approach and implement your own – that’s what configurability is all about. But hopefully I can help you make that decision understanding the intent and future implications. First things first, it’s important to understand that IE is not where we are currently investing in web platform features. It’s really something we think of as a legacy compatibility feature. If we go changing it, by definition it becomes less compatible. We’ve been hearing for years that customers really want to go away from legacy features like ActiveX. And honestly it makes a ton of sense – device and OS independence was always the promise of the web, and it’s more important now than ever. How many of you can honestly say that the only device you use is a full sized computer running an x86 processor? Other devices are important, and it’s critical to break that dependency. It’s a discontinuity. (Hoping to pre-empt the snarky comments, which I likely can’t avoid: at the time it was introduced, ActiveX wasn’t as constraining as it is today. Today, it constrains your device, but at the time, it made a TON of people web developers at a time when there weren’t a lot of web developers. Now, given the benefit of 20/20 hindsight, I’d rethink that, but there are lots of other platform features I’d put on that list first, if given the benefit of a time machine.) Now, discontinuity is hard. Just take a look at Windows Vista / Windows 7. There was a HUGE discontinuity when we pushed the world away from “everyone is an admin!” to “even admins aren’t always admins” – but it was a step that was necessary. You just can’t do anything useful to secure an endpoint if the person on the endpoint (or the bad guy) can turn off all of your security! But it meant you had to make one great big jump. However, with IE, we have a choice. You don’t have to make a big jump from one world to another. In fact, we were able to implement the single most requested compat feature we ever had on IE, which is to allow you to run two side by side. (See? Sometimes you get what you ask for.) We just chose to call the new one something else, but that’s the basic concept here. (No app virtualization required!) That’s what we have now: you have two side-by-side browsers, one for legacy compat that supports the legacy features, and another that constrains to new features and continues to grow and evolve and support new technology. If you only put the old browser out, there are side effects:

  • You can’t use any new features of the web as they come out – as of right now, probably not a huge deal, but over time the size of the gap increases until it gets pretty big indeed. In a few years, you’ll risk losing lots of productivity by forcing yourself to implement these features
  • You’ll lose the ability to leverage third party apps that are using new web platform features – the size of that also gradually grows over time
  • You’ll risk accidentally increasing the size of your application estate that depends on legacy features. (And, by risk, I mean that I’ve never once in my long and sordid history of over a decade of being The App Compat Guy not seen that happen) This makes breaking the addiction in the future way, way harder!
  • You’ll miss out on the security and performance investments we’ve been making in the web platform
Ah, so there is a potential cost of not migrating! And now we can start to quantify it, and begin to project forward. Of course, you CAN choose it, and if nearly everything you have requires IE today it may seem the path of least resistance, but I’d encourage you to look at the alternative. We look at Edge as being the modern browser that encourages cross platform development, and that’s where new web properties on Windows 10 should ideally target. We then leverage the Enterprise Mode Site List to automatically redirect sites that you specify which require IE (and to do some detection of legacy technology as well, if you missed an entry for the app), and we are listening to feedback on how to make that transition process as clean and effective as possible. Ideally, you’d have an entry for each and every app that needs to pop IE in order to run correctly. Because this gives you your to-do list! You now have full visibility into exactly where you don’t have device independence! You can then start to look at user scenarios, and complete the scenario. Say you have one job that today has only one app with a hard IE dependency, but another role within the org that is blocked by 5 apps. Well, if you only have time to fix one app, you could potentially unblock a whole scenario – and possibly generate more value more quickly. So, that’s the problem space that we were trying to address. Here’s a discontinuity, and we want to help people get across it. We built a system, and leveraged customer requests and feedback in designing it, that lets you run both while you work your way over the chasm at your own pace. The end result is something most customers are saying they want – device and browser neutrality. So, while many say “I’m not ready to go there at all” I get that, but I would still encourage you to have a look and think about whether it makes more sense for you to move up the spectrum. Here’s how I see the choices:
  • Run Edge for everything – it all works! (Most customers probably have work to do before getting here)
  • Run Edge by default, bounce to IE for everything that needs it using an Enterprise Mode site list (what we recommend – even if your list is thousands of items long)
  • Run IE by default, let users fire up Edge or another browser to support new technology (not recommended, as it requires an externality of the user knowing when to pop the new browser and self-managing those transitions)
  • Run IE always and forever (strongly not recommended for the reasons cited above and more)
We don’t want to make the choice for you, but we do want to make it as easy as possible to take the recommended strategy. And if you think our recommended strategy could be improved, we’d love to hear why and how and are always taking your feedback into account! My role is to help enterprise customers implement this, so the more I hear, the better feedback I can provide to engineering. Hopefully a better understanding of our strategy is helpful in developing your web platform strategy on Windows!

REMEMBER: these articles are REPUBLISHED. Your best bet to get a reply is to follow the link at the top of the post to the ORIGINAL post! BUT you're more than welcome to start discussions here:

This site uses Akismet to reduce spam. Learn how your comment data is processed.