In less than two weeks Microsoft officially releases Windows 10 and the new Edge browser. Releasing a new browser creates many questions by both consumers and enterprises alike. One question I and others are being asked is how does Edge process the X-UA-Compatible value? In short it does not, it completely ignores the META tag.
<!-- Use Internet Explorer 9 Standards mode --> <meta http-equiv="x-ua-compatible" content="IE=9">
First what is X-UA-Compatible mode. Internet Explorer is a fixture to enterprise line of business applications, which are slow to change due to associated cost and possible regulatory concerns. There are many other reasons line of business applications are not upgraded, but for the sake of this article we can just assume once an application is written and deployed in the enterprise it sits frozen in time just working today the same way it did back in 2008 or earlier. However web standards and browser capabilities have continued to progress.
This leaves enterprises in an interesting position because they are not in the position to keep tens of thousands of potential applications up to date. Microsoft has a vested interest to encourage enterprise customers to upgrade their client operating systems and the browser. So back in the Internet Explorer 8 or 9 time frame IE added compatibility mode.
This frees enterprises to upgrade the client operating system as well as the browser. In return their legacy applications can continue to run, typically with little to no upgrade work required. There are edge cases where the legacy application does not work quite right. Often these are due to use of techniques and components that rely on known security holes. Other examples are things like CSS Expressions and ActiveX controls that do not work with modern IE. There are other cases, but in my experience they are rare but still have impact.
Since Edge is not going to honor the X-UA-Compatible tag those line of business applications will no longer work. This leaves a potential issue for enterprises world wide. If not addressed these important customers cannot upgrade their client operating systems. Microsoft has decided to keep shipping Internet Explorer 11 with Windows 10 as a solution. Plus there is more than X-UA-Compatible available for these enterprises to leverage.
Over a year ago Internet Explorer added Enterprise Mode, known as EMIE. EMIE provides a much cleaner solution for enterprises to run their legacy application within the confines of a modern browser. I have written about EMIE several times on this Blog, so please read those articles for more details and resources. In short Enterprise Mode provides a secure mode to execute legacy applications with even more legacy engine support.
Enterprise mode can be triggered by an end user, but is designed to be centrally controlled by IT administrators. It offers an almost 100% IE emulation with IE 11 level security and some performance optimizations. This should eliminate the primary excuse enterprises have used to not upgrade their client software because now legacy LOB applications have a safe platform to operate. Remember those applications were built in the time before HTML5 and do not work with today's standards.
So Enterprise mode makes it possible for those applications to work relatively safely in a modern, HTML5 browser. There are things supported in enterprise mode that compatibility mode does not support. Most of these things are what I consider edge cases, but important nonetheless.
There is some confusion around compatibility mode support in Edge because the initial plan was to include Enterprise and compatibility modes. The team quickly decided to abort that solution. I agree with the decision because this only opens the door to enterprises keeping many legacy applications without making any effort to upgrade. For now Internet Explorer 11 lives as a bridge for these customers to use. While there is no announced IE 11 end of life day announced yet, you can count on it coming sooner than you expect.
January 12 all Internet Explorer versions before 11 become unsupported (there are a few edge cases for 10 and 9, but to be frank the uses in those scenarios is negligible). This means your only option is leveraging Enterprise Mode. It should serve as a wake up call to upgrade existing applications.
The future of browsing is via Edge and other modern browsers like Chrome, FireFox and Opera (yes I am leaving Safari out). These browsers continually add new standards support as well as experimental features. They are also more secure, which is vital for businesses. It means business applications need to be built with progressive enhancement and other modern standards in mind.
In the illustration I am trying to show a venn diagram where Internet Explorer 11 and Edge have a large overlap in capabilities. IE supports some legacy features that have been removed from Edge. Edge supports some new standards IE does not, not ever will. As time moves on Edge begins to separate more and more from Internet Explorer. Eventually they are completely different platforms, then Internet Explorer is officially retired. At that point there is no legacy option for stale business applications. So begin preparations now, rather than tomorrow.
On July 29, after you update to Windows 10 you will see a new browser. If you find your legacy applications do not render or work in Edge you need to fall back to Internet Explorer. There is even an option in Edge to open the URL in Internet Explorer. There is no enterprise or compatibility mode in Microsoft Edge. Please plan accordingly. Your applications are not hosed, there is a tool to run them. But take this as a wake up call to start planning a client experience upgrade now, rather than later.