We recently announced our plans to change the support status for Internet Explorer.
Since that time, I’ve been talking to a number of customers (at volumes ranging from rational discourse to aggravated yelling). And for those customers who are grumpy – believe me, I get it.
I wanted to share broadly some of the conversations I’ve been having with enterprise customers.
The first question I get is – how can I possibly move, when my application vendors don’t support the new version?
Our engineering team has control over whether or not the application works – in fact, that’s what Enterprise Mode is all about, ensuring that applications work. But applications live in a business environment, and within that environment, often vendor support isn’t optional. In fact, sometimes there are regulatory requirements demanding it!
But, here’s the thing. I speak to customers all the time, and with every single customer I’ve spoken with, I find some vendors who only support IE8, some that may support IE8 and IE9 (my favorite was the one who was promising that they would get IE9 support in about a year!), some that support only n or n-1 so IE11 and IE10, and all kinds of other permutations. Windows 7, as one example, has 4 different versions of IE that have shipped on it – and vendors previously had the ability to choose to support whichever one(s) they wanted. The problem is, they don’t all get together and agree!
Regardless of the permutation, what I’ve always found is that customers can’t today choose a version of IE that everyone will support. Want support on legacy web apps? Then, to get support, you may have to stick with IE8. But then your modern web services aren’t supported, and often don’t even work! Want to take advantage of the modern web? Great! Get a modern browser, but then you end up with legacy apps that aren’t ready to support you yet. Literally every single customer I’ve spoken to can’t choose a single browser version that all of their vendors will support.
In other words, it’s not like things are working now. Fragmentation is really a problem. (But, hey, the devil you know…)
Our hope is to transform Enterprise Mode into the legacy / durable target. Want something that doesn’t move around a lot? Enterprise Mode optimizes for durability over innovation. Want something that gives you the latest and greatest? Edge mode optimizes for innovation over durability. With IE, you get a choice, and we’re hoping that by giving both legacy and modern choices within a single browser, our enterprise customers can achieve both durability and innovation. And, by reducing fragmentation, we hope more software vendors will choose to support only the version of IE that we currently support, in whatever configuration works for them.
Now, we aren’t deluded that it will be universal. Think about it – there are plenty of vendors that require you to run unsupported old versions of Java, and we expect the same to happen here. In fact, you can even see this in a browser, where Chrome supports only the latest, but some vendors require you not to use it and take those security updates until they say it’s OK while others require you to take every single update. (Once again, they don’t all agree on which version they’ll support.) Nonetheless, by reducing fragmentation, things have gotten better in similar environments, and we have no reason to believe that it will be different here.
And, after this conversation, we normally kind of come to a consensus that yes, fragmentation is hurting them today, and boy do they sure hope that by creating an environment in which improvement can occur that it actually does. They get why it’s going to be goodness once we get there. So far so good. But then, we get the next question – why are you placing all of the burden on us?
And I totally get that too! We’ve looked at solutions to help out. It would be awesome if we could just come in, test, and fix all of your stuff for you. But, alas, what we’ve found is that we’re not really great, as third parties, at testing your stuff for you. If I throw static analysis at the problem, the statistical outcomes aren’t so great, because issues are so non-deterministic. The math just doesn’t add up. And if I send in humans, then what they find is that nearly everything gets them to a login screen that we don’t have credentials to get past. (And, alas, the behavior of the login screen isn’t statistically predictive of the behavior of the app.)
So, Enterprise Mode is our first strategy. What I’m still hearing from folks is that the following process is really effective:
And what we’re finding is that this really works for all but a handful of apps at most! So, we delivered an engineering solution in the product that goes a long way.
Next, we’re looking at streamlining how you can escalate an issue where an app works on IE8 but doesn’t work in Enterprise Mode after using the above workflow, so we can have our engineers investigate to determine if adding compatibility for that difference into Enterprise Mode is possible. For now, I’m kind of informally handling this and trying my best to iron out the details, because I believe this will go a long way. If you agree, please let me know so I can add your vote to the voices pushing!
Finally, I’m looking for other ideas on what we could be doing in order to take some of that burden away, because we want to help, but are constrained by what we’re able to do. But I’ll go to bat for anything that helps the world move forward!
We then carry on the conversation with “now that you have your browser, how do you get your sites to really use it?” but from my experience, developers have a much easier time talking to other developers, and modern.ie has turned into a really useful toolbox for that conversation.
And then we get to the question that I never seem able to dodge: if you only support the latest, what happens when you release n+1 – how long do I get to move off of the old one?
This is one where, unfortunately, I don’t have a complete answer today. There is a lot of churn going on right now in how we deliver and support products. If you look at IE11, we’ve actually delivered quite a bit of really great functionality without giving it a new version number. In April, we added Enterprise Mode, while just this month we updated the F12 tools and added some additional WebGL capabilities. Versions aren’t like they used to be, where we delay innovation in order to put together a big marketing blitz around that version. So, alas, for now, this still doesn’t have a firm answer, so all I can get anyone to sign up for is to give customers a reasonable amount of time for the transition. Versions, and how we deliver innovations, are something that is changing and evolving. I would expect to hear more about our strategy here fairly soon, but until we have something to announce that is more specific, all I can do is commit to advocating for you to ensure that everyone in that decision making process understands what is reasonable for an enterprise and incorporates that into their plans.
This is a conversation that’s just getting started. While I’m not the decider, I do get the opportunity to be an influencer. So, thanks for all of the feedback which has helped arm me to fight your you in the past, and I am looking forward to our continued partnership to keep the platform moving forward to enable you to build better stuff than you ever could before, while making your existing application investments as durable as possible!