IEBloghttp://blogs.msdn.com/b/ie/Internet Explorer Team Blogen-USTelligent Evolution Platform Developer Build (Build: 5.6.50428.7875)"Project Spartan" in the Windows Technical Preview build 10049http://blogs.msdn.com/b/ie/archive/2015/03/30/quot-project-spartan-quot-in-the-windows-technical-preview-build-10049.aspxMon, 30 Mar 2015 22:30:00 GMT91d46819-8472-40ad-a661-2c78acb4018c:10603942ieblog6http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10603942http://blogs.msdn.com/b/ie/archive/2015/03/30/quot-project-spartan-quot-in-the-windows-technical-preview-build-10049.aspx#comments<p>Today we&rsquo;re excited to announce the availability of <a href="http://blogs.windows.com/bloggingwindows/2015/03/30/windows-10-technical-preview-build-10049-now-available/">a new build</a> for Windows Insiders with the first preview of &ldquo;Project Spartan,&rdquo; the new browser for Windows 10. You can learn more in Joe Belfiore&rsquo;s blog post, &ldquo;<a href="http://bit.ly/1DglVYI">Introducing Project Spartan: The New Browser Built for Windows 10</a>."</p>
<p>This build does not yet include all <a href="http://blogs.msdn.com/b/ie/archive/2015/03/24/updates-from-the-project-spartan-developer-workshop.aspx">the changes we announced last week</a>, so the new rendering engine can still be enabled in Internet Explorer under "about:flags" by selecting "Enable experimental web platform features." This will be removed in a future update.</p>
<p>Project Spartan includes some new rendering engine updates in this flight, which we&rsquo;ll detail in future posts. Notably, we are excited to announce preview support for <a href="https://status.modern.ie/imgsrcset">the <code>&lt;img srcset&gt;</code> attribute</a> for responsive images.</p>
<p>You can try out Project Spartan yourself in the new build via the <a href="http://insider.windows.com/">Windows Insider Program</a> and share your feedback on Twitter at <a href="https://twitter.com/IEDevChat">@IEDevChat</a> and in the comments below. Feedback on the Web platform powering Project Spartan should continue to go to the <a href="https://wpdev.uservoice.com/forums/257854-internet-explorer-platform">Web Platform Suggestion Box</a>, and we welcome your feedback on Project Spartan itself at the brand new <a href="https://windows.uservoice.com/forums/285214-project-spartan">Project Spartan Feature Suggestion Box</a>. Let us know what you think!</p>
<p>&ndash; <a href="https://twitter.com/kylealden">Kyle Pflug</a>, Program Manager, Project Spartan</p>
<p><strong>Update 3/30/2015 at 6:00 PM: </strong>The original post erroneously stated that Internet Explorer can no longer access the new rendering engine in this build. This has been corrected to indicate that Internet Explorer can still enable experimental web platform features in about:flags, which will be removed in a future update.</p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10603942" width="1" height="1">IE AnnouncementsEnd-usersPlatform PreviewUpdates from the “Project Spartan” Developer Workshophttp://blogs.msdn.com/b/ie/archive/2015/03/24/updates-from-the-project-spartan-developer-workshop.aspxTue, 24 Mar 2015 18:00:13 GMT91d46819-8472-40ad-a661-2c78acb4018c:10602466ieblog53http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10602466http://blogs.msdn.com/b/ie/archive/2015/03/24/updates-from-the-project-spartan-developer-workshop.aspx#comments<p>Today we’re excited to host some of our top web site partners, enterprise developers and web framework authors at the Microsoft Silicon Valley campus for a "Project Spartan" developer workshop to get an early look at Windows 10’s new default browsing experience as it rapidly approaches a public preview. This is another step in our renewed focus on reaching out and listening to the developer community we depend on, in keeping with the focus on openness and feedback-driven development that is driving initiatives like <a href="https://status.modern.ie">status.modern.ie</a> and our <a href="https://insider.windows.com/">Windows Insider Program</a>.</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><br /><img alt="Charles Morris at the &quot;Project Spartan&quot; Developer Workshop" width="80%" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/3348.DSCF3246.jpg"></p>
<p><br />If you’re interested in attending a similar event to learn more about “Project Spartan,” there are some great opportunities coming up. We’ll have lots to say about Project Spartan at <a href="http://www.buildwindows.com/">Build 2015</a> (April 29th – May 1st in San Francisco) and <a href="http://ignite.microsoft.com">Microsoft Ignite</a> (May 4th – 8th in Chicago). We’re also excited to announce an all-new Windows 10 Web Platform Summit hosted by the Project Spartan team, which will be open to the public on May 5-6, 2015 at the Microsoft Silicon Valley Campus. Stay tuned to the blog and <a href="https://www.twitter.com/IEDevChat">@IEDevChat</a> for more information on how to register!</p>
<h1>A simpler browser strategy in Windows 10</h1>
<p>One of the items we’re discussing in today’s workshop is how we are incorporating feedback from the community into the work we are doing on Project Spartan, including some updates we are making related to the rendering engines. When we announced Project Spartan in January, we laid out a plan to use our new rendering engine to power both Project Spartan and Internet Explorer on Windows 10, with the capability for both browsers to switch back to our legacy engine when they encounter legacy technologies or certain enterprise sites.</p>
<p>However, based on strong feedback from our Windows Insiders and customers, today we’re announcing that <b>on Windows 10, Project Spartan will host our new engine exclusively. Internet Explorer 11 will remain fundamentally unchanged from Windows 8.1, continuing to host the legacy engine exclusively.</b></p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><br /><img width="80%" alt="Rendering engines in Project Spartan and Internet Explorer 11 on Windows 10" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/1273.Microsoft_2D00_engines_2D00_diagram_5F00_660x327.png" /></p>
<p style="margin-bottom:0;"><br />We’re making this change for a number of reasons:</p>
<ul style="margin-top:0;">
<li>Project Spartan was built for the next generation of the Web, taking the unique opportunity provided by Windows 10 to build a browser with a modern architecture and service model for Windows as a Service. This clean separation of legacy and new will enable us to deliver on that promise. Our testing with Project Spartan has shown that it is on track to be highly compatible with the modern Web, which means the legacy engine isn’t needed for compatibility.</li>
<li>For Internet Explorer 11 on Windows 10 to be an effective solution for legacy scenarios and enterprise customers, it needs to behave consistently with Internet Explorer 11 on Windows 7 and Windows 8.1. Hosting our new engine in Internet Explorer 11 has compatibility implications that impact this promise and would have made the browser behave differently on Windows 10.</li>
<li>Feedback from Insiders and developers indicated that it wasn’t clear what the difference was between Project Spartan and Internet Explorer 11 from a web capabilities perspective, or what a developer would need to do to deliver web sites for one versus the other.</li>
</ul>
<p>We feel this change simplifies the role of each browser. Project Spartan is our future: it is the default browser for all Windows 10 customers and will provide unique user experiences including the ability to annotate on web pages, a distraction-free reading experience, and integration of Cortana for finding and doing things online faster. Web developers can expect Project Spartan’s new engine to be interoperable with the modern Web and remain “evergreen” with no document modes or compatibility views introduced going forward.</p>
<p>For a small set of sites on the Web that were built to work with legacy technologies, we’ll make it easy for customers to access that site using Internet Explorer 11 on Windows 10. Enterprises with large numbers of sites that rely on these legacy technologies can choose to make Internet Explorer 11 the default browser via group policy. In addition, since Internet Explorer 11 will now remain fundamentally unchanged from Windows 7 and Windows 8.1, it will provide a stable and predictable platform for enterprise customers to upgrade to Windows 10 with confidence. </p>
<h1>Call to action for developers</h1>
<p>Our request to web developers remains the same – try out and test our new rendering engine in the Windows 10 Technical Preview via the <a href="https://insider.windows.com/">Windows Insider Program</a> or via <a href="https://remote.modern.ie/">RemoteIE</a>. It is currently hosted in Internet Explorer and can activated via the “Enable experimental web platform features” setting in about:flags. Starting in the next flight to Insiders, the new rendering engine will be removed from IE and available exclusively within Project Spartan.</p>
<p>We look forward to your feedback – you can reach us on Twitter at <a href="https://twitter.com/IEDevChat">@IEDevChat</a>, the <a href="https://wpdev.uservoice.com/forums/257854-internet-explorer-platform">Internet Explorer Platform Suggestion Box</a> on UserVoice, and in the comments below. Remember to mark your calendars for our next Project Spartan developer event on May 5th – 6th in Silicon Valley. We look forward to sharing more details soon!</p>
<p>– <a href="https://twitter.com/kylealden">Kyle Pflug</a>, Program Manager, Project Spartan</p>
<ul>
<div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10602466" width="1" height="1">General IE InformationIE AnnouncementsInside IEBrowsing the WebDevelopersCompatibilityPlatformEngineering POVHTML5Platform PreviewInternet Explorer 11Partnering with Adobe on new contributions to our web platformhttp://blogs.msdn.com/b/ie/archive/2015/03/23/partnering-with-adobe-on-new-contributions-to-our-web-platform.aspxMon, 23 Mar 2015 17:00:11 GMT91d46819-8472-40ad-a661-2c78acb4018c:10602088ieblog23http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10602088http://blogs.msdn.com/b/ie/archive/2015/03/23/partnering-with-adobe-on-new-contributions-to-our-web-platform.aspx#comments<p>In recent releases, we’ve talked often about our goal to bring the team and technologies behind our web platform closer to the community of developers and other vendors who are also working to move the Web forward. This has been a driving motivation behind our emphasis on providing <a href="http://blogs.msdn.com/b/ie/archive/2015/01/27/updates-for-the-f12-developer-tools-in-the-windows-10-january-technical-preview.aspx">better developer tools</a>, <a href="https://www.modern.ie/">resources for cross-browser testing</a>, and <a href="https://wpdev.uservoice.com/forums/257854-internet-explorer-platform/suggestions/6509389-asm-js">more</a> <a href="https://twitter.com/iedevchat">ways</a> <a href="http://www.reddit.com/r/IAmA/comments/2dk60t/we_build_internet_explorer_i_know_right_ask_us/">than</a> <a href="https://connect.microsoft.com/ie">ever</a> to interact with the "Project Spartan" team.</p>
<p>In the same spirit of openness, we’ve been making changes internally to allow other major Web entities to contribute to the growth of our platform, as well as to allow our team to give back to the Web. In the coming months we’ll be sharing some of these stories, beginning with today’s look at how Adobe’s Web Platform Team has helped us make key improvements for a more expressive Web experience in Windows 10.</p>
<p>Adobe is a major contributor to open source browser engines such as WebKit, Blink, and Gecko. In the past, it was challenging for them (or anyone external to Microsoft) to make contributions to the Internet Explorer code base. As a result, as Adobe improved the Web platform in other browsers, but couldn't bring the same improvements to Microsoft's platform. This changed a few months ago when Microsoft made it possible for the <a href="http://webplatform.adobe.com/about/">Adobe Web Platform Team</a> to contribute to Project Spartan. The team contributes in the areas of layout, typography, graphic design and motion, with significant <a href="http://webplatform.adobe.com/">commits</a> to the Web platform. Adobe engineers Rik Cabanier, Max Vujovic, Sylvain Galineau, and Ethan Malasky have provided contributions in partnership with engineers on the IE team.</p>
<h1>Adobe contributions in the Windows 10 March Technical Preview</h1>
<p>The Adobe Web Platform Team hit a significant milestone with their first contribution landing in the March update of the Windows 10 Technical Preview! The feature is support for CSS gradient midpoints (aka color hints) and is described in the upcoming <a href="http://dev.w3.org/csswg/css-images/#color-stop-syntax">CSS images spec</a>. With this feature, a Web developer can specify an optional location between the color stops of a CSS gradient. The color will always be exactly between the color of the 2 stops at that point. Other colors along the gradient line are calculated using an exponential interpolation function as described by the CSS spec. </p>
<p>Syntax:</p>
<p style="font-family: monospace;">linear-gradient(90deg, black 0%, 75%, yellow 100%)
<br />radial-gradient(circle, black 0%, 75%, yellow 100%)</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="CSS Gradients in the Windows 10 Technical Preview" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/0647.pwaoncttwwp_2D00_image1.gif" /></p>
<p>You can check this out yourself on this CSS Gradient Midpoints <a href="http://codepen.io/adobe/full/fhnBJ/">demo page</a>. Just install the March update to Windows 10 Technical Preview and remember to enable Experimental Web Platform Features in about:flags to enable the new rendering engine. This change will bring IE to the same level as WebKit Nightly, Firefox beta and Chrome.</p>
<p>Another change that Adobe has recently committed is full support for &lt;feBlend&gt; blend modes. The <a href="http://www.w3.org/TR/2014/WD-filter-effects-1-20141125/#element-attrdef-feblend-mode">W3C Filter Effects</a> spec extended &lt;feBlend&gt; to support all blend modes per the <a href="http://www.w3.org/TR/compositing-1/#ltblendmodegt">CSS compositing and blending</a> specification. Our new engine will now support these new values like the other major browsers. </p>
<p>New blend modes expand existing values normal, multiply, screen, overlay, darken and lighten with color-dodge, color-burn, hard-light, soft-light, difference, exclusion, hue, saturation, color and luminosity. </p>
<p>To use the new modes just specify the desired mode in the &lt;feBlend&gt; element. For example:</p>
<p style="font-family: monospace;">&lt;feBlend mode='luminosity' in2='SourceGraphic' /&gt;</p>
<p><b>Internet Explorer 11</b></p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="feBlend in Internet Explorer 11" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/2744.pwaoncttwwp_2D00_image2_5F00_760x167.png" /></p>
<p><b>Project Spartan</b></p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="feBlend in Project Spartan on the Windows 10 Technical Preview" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/3718.pwaoncttwwp_2D00_image3_5F00_760x245.png" /></p>
<p>You can try this out today at <a href="http://codepen.io/adobe/full/emedOj/">Adobe's CodePen demo</a> in Internet Explorer on the Windows 10 Technical Preview by selecting "Enable Experimental Web Platform Features" under about:flags.</p>
<h1>We are just getting started</h1>
<p>Congratulations to the Adobe Web Platform Team on their first commit! We are looking forward to a more expressive Web and moving the Web platform forward! Let us know what you think via <a href="https://twitter.com/iedevchat">@IEDevChat</a> or in the comments below.</p>
<p>— Bogdan Brinza, Program Manager, Project Spartan</p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10602088" width="1" height="1">Inside IEHTML5Platform PreviewCSSAnnouncing Enterprise Site Discovery support on IE8, IE9, IE10 and new privacy enhancementshttp://blogs.msdn.com/b/ie/archive/2015/03/20/announcing-enterprise-site-discovery-support-on-ie8-ie9-ie10-and-new-privacy-enhancements.aspxFri, 20 Mar 2015 18:00:00 GMT91d46819-8472-40ad-a661-2c78acb4018c:10601712ieblog3http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10601712http://blogs.msdn.com/b/ie/archive/2015/03/20/announcing-enterprise-site-discovery-support-on-ie8-ie9-ie10-and-new-privacy-enhancements.aspx#comments<p>Rumors of Internet Explorer&rsquo;s demise have been greatly exaggerated! We encourage all of our customers to<a href="http://blogs.msdn.com/b/ie/archive/2014/08/07/stay-up-to-date-with-internet-explorer.aspx"> stay up-to-date on the latest version of Internet Explorer </a> and we are continuing to make it easier to upgrade than ever before.</p>
<p>Today, we&rsquo;re announcing two new updates to Enterprise Site Discovery as part of the <a href="http://aka.ms/ie1503">March 2015 Update</a>: IE8, IE9, and IE10 support and enhanced privacy options. The original feature shipped in <a href="http://blogs.msdn.com/b/ie/archive/2014/10/24/announcing-the-enterprise-site-discovery-toolkit-for-internet-explorer-11.aspx"> November 2014 on IE11</a>, allowing IT Pros to discover which of their Enterprise line of business applications are used&mdash;and how. Together with Enterprise Mode IE, this feature helps simplify Enterprise upgrades by helping customers prioritize their testing and understand how their apps leverage technology like document modes and ActiveX. In addition to supporting IE8, 9, 10, &amp; 11, this new update allows IT Pros to specify which zones and domains are included by the Enterprise Site Discovery information gathering. Download the updated <a href="http://aka.ms/sdtk1503"> Enterprise Site Discovery Toolkit</a> today, which contains scripts and sample queries to help use this feature, and learn more about it on <a href="http://go.microsoft.com/fwlink/?LinkID=517718&amp;clcid=0x409">Technet</a>.</p>
<p>Upgrading to the latest version of Windows or browser typically requires Enterprises to do full line of business app compatibility testing with the latest version of Internet Explorer. What makes this a difficult task for most Enterprises is that they often do not know which of their catalog of line of business Web applications are actually used by their employees, as a result all apps are understood to have the same priority. Often times this leads IT Pros to test all of their line of business Web applications, even ones that may not be actively used, which can be a costly and time consuming process. In addition to testing, it can be difficult to mitigate compatibility issues without knowing more about how the application was developed, what document mode is used, which ActiveX controls are needed, and other details.</p>
<p>Enterprise Site Discovery provides a way for an IT Pro to better understand how their users are browsing with Internet Explorer 8, 9, 10, &amp; 11 and discover Web applications that they may not be aware of. This toolkit enables collecting information from Internet Explorer about sites that are visited by Enterprise users. The sites included in this collection can be <a href="http://go.microsoft.com/fwlink/?LinkID=517718&amp;clcid=0x409">scoped by zone or domain.</a> This information will help IT Pros prioritize applications, focusing app compatibility testing to facilitate faster upgrades. This is particularly important as customers upgrade to the latest version of Internet Explorer <a href="http://blogs.msdn.com/b/ie/archive/2014/08/07/stay-up-to-date-with-internet-explorer.aspx"> before January 2016</a>. This feature also provides additional information on how the site is designed and used by Internet Explorer; that information can then be used to populate the Enterprise Mode site list, mitigating compatibility issues of critical sites.</p>
<h1>Enterprise Site Discovery on IE8, IE9, IE10, and IE11</h1>
<p>The March 2015 update expands Enterprise Site Discovery beyond Internet Explorer 11 to include Internet Explorer 8, 9, &amp; 10. By default, data collection is turned off. When collection is enabled, data will be collected from all sites visited by users with Internet Explorer unless otherwise configured. Data is collected during each browsing event and is associated to the browsed URL. The fields collected differ based on the version of Internet Explorer as shown below. This data collection has a negligible impact on Internet Explorer performance.</p>
<h2>Data collected during each browsing event by browser</h2>
<table style="margin-right: auto; margin-left: auto; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td>Data point</td>
<td>IE11</td>
<td>IE10</td>
<td>IE9</td>
<td>IE8</td>
<td>Description</td>
</tr>
<tr>
<td>IE Version</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>URL</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>URL of the browsed site, including any parameters included in the URL.</td>
</tr>
<tr>
<td>Domain</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>Top-level domain of the browsed site.</td>
</tr>
<tr>
<td>ActiveX GUID</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>The GUID of the ActiveX controls loaded by the site.</td>
</tr>
<tr>
<td>Document mode</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>Document mode used by Internet Explorer for a site, based on page characteristics.</td>
</tr>
<tr>
<td>Document mode reason</td>
<td>x</td>
<td>x</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>Additional information about why a document mode was set by Internet Explorer.</td>
</tr>
<tr>
<td>Browser state reason</td>
<td>x</td>
<td>x</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>Additional information about why the browser is in its current state. Also called, browser mode.</td>
</tr>
<tr>
<td>Hang count</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>Number of visits to the URL when the browser hung.</td>
</tr>
<tr>
<td>Crash count</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>Number of visits to the URL when the browser crashed.</td>
</tr>
<tr>
<td>Most recent navigation failure (and count)</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>Description of the most recent navigation failure (like, a 404 bad request or 500 internal server error) and the number of times it happened.</td>
</tr>
<tr>
<td>Number of visits</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>The number of times a site has been visited.</td>
</tr>
<tr>
<td>Zone</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>Zone used by Internet Explorer to browse sites, based on browser settings.</td>
</tr>
</tbody>
</table>
<p>By default, Internet Explorer will not collect this data; you have to enable collection if you want to use it. Once enabled, data will be collected on all sites visited by Internet Explorer except while browsing in an <a href="http://windows.microsoft.com/en-us/windows/inprivate-faq">InPrivate</a> browsing session or when configured to limit collection to certain zones or domains. Additionally, this data collection is silent and there is no end user notification that information is being collected. You must make sure that you ask the necessary consent and comply with all applicable local laws and regulatory requirements before enabling this in your deployment of Internet Explorer.</p>
<h1>Scoping Enterprise Site Discovery to Zones and Domains</h1>
<p>This update also adds additional end user privacy configuration options for site discovery. IT Pros will now be able to scope site discovery based on Zones and/or Domains.</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71/2867.aesdsoiiianpe_2D00_image1_5F00_760x137.png" alt="" border="0" /></p>
<p>The list of Domains and Zones are set in the <a href="http://go.microsoft.com/fwlink/?LinkID=517718&amp;clcid=0x409">Powershell script</a> used to configure site discovery. If no zones or domains are specified, discovery will default to capturing data from all sites.</p>
<h1>What can I do with this data?</h1>
<p>Enterprise Site Discovery provides IT Pros with clearer picture about how IE is being used in their deployment based on actual user data. With this many questions can be answered. Some are:</p>
<ul>
<li>What sites are users visiting the most?</li>
<li>What document mode does the page load in?</li>
<li>How was that document mode chosen? (IE11 &amp; IE10 only)</li>
<li>Which ActiveX controls are being used on what sites, and how often?</li>
<li>Which sites are crashing or hanging when users visit them?</li>
<li>Are there any sites in the Trusted Sites list that should be moved off?</li>
<li>Are there any sites that should be added or removed from the Enterprise Mode site list?</li>
</ul>
<h1>How can IT Pros use this update to Enterprise Site Discovery?</h1>
<ul>
<li>Read up on Enterprise Site Discovery on <a href="http://go.microsoft.com/fwlink/?LinkID=517718&amp;clcid=0x409">Technet</a></li>
<li>Update Internet Explorer 8, 9, 10, or 11 with the latest Cumulative updates (March 2015 or later)</li>
<li>Download the <a href="http://aka.ms/sdtk1503">Enterprise Site Discovery Toolkit</a></li>
<li>Take a look at a few of the sample reports</li>
</ul>
<p>We&rsquo;re excited about this toolkit and encourage you to take the toolkit for a spin; try out the data collection functionality and put it through its paces! Let us know your feedback via <a href="https://twitter.com/iedevchat">@IEDevChat</a> or on <a href="http://connect.microsoft.com/ie">Connect</a>.</p>
<p>&mdash; Deen King-Smith, Program Manager, Internet Explorer</p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10601712" width="1" height="1">IE AnnouncementsDevelopersIT PROCompatibilityWindows 7Windows 8.1Internet Explorer 11New in IE11Improving interoperability with DOM L3 XPathhttp://blogs.msdn.com/b/ie/archive/2015/03/19/improving-interoperability-with-dom-l3-xpath.aspxThu, 19 Mar 2015 17:59:12 GMT91d46819-8472-40ad-a661-2c78acb4018c:10601458ieblog14http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10601458http://blogs.msdn.com/b/ie/archive/2015/03/19/improving-interoperability-with-dom-l3-xpath.aspx#comments<p>As part of our ongoing focus on interoperability with the modern Web, we’ve been working on addressing an interoperability gap by writing an implementation of <a href="http://www.w3.org/TR/DOM-Level-3-XPath/Overview.html">DOM L3 XPath</a> in the Windows 10 Web platform. Today we’d like to share how we are closing this gap in Project Spartan’s new rendering engine with data from the modern Web.</p>
<h1>Some History</h1>
<p>Prior to IE’s support for DOM L3 Core and native XML documents in IE9, <a href="https://msdn.microsoft.com/en-us/library/ms763742(v=vs.85).aspx">MSXML</a> provided any XML handling and functionality to the Web as an ActiveX object. In addition to XMLHttpRequest, MSXML supported the XPath language through its own APIs, selectSingleNode and selectNodes. For applications based on and XML documents originating from MSXML, this works just fine. However, this doesn’t follow the W3C standards for interacting with XML documents or exposing XPath.</p>
<p>To accommodate a diversity of browsers, sites and libraries wrap XPath calls to switch to the right implementation. If you search for XPath examples or tutorials, you’ll immediately find results that check for IE-specific code to use MSXML for evaluating the query in a non-interoperable way:</p>
<script src="https://gist.github.com/kypflug/dde94c9ac62bc14a9004.js"></script>
<p>In our new rendering engine, the script engine executes modern Web content, so a plugin-free, native implementation of XPath is required.</p>
<h1>Evaluating the Options</h1>
<p>We immediately began to cost the work to implement the entire feature. Our options included starting from scratch, integrating MSXML, or porting <a href="https://msdn.microsoft.com/en-us/library/system.xml.xpath(v=vs.110).aspx">System.XML</a>, but each of these was too costly for its own reasons. We decided to start implementing a subset of XPath while working on the full implementation at the same time.</p>
<p>In order to know what subset of the standard to support, we used an internal crawler that captured the queries used across hundreds of thousands of the most popular sites on the Web. We found buckets of queries that had the form</p>
<ul>
<li>//element1/element2/element3</li>
<li>//element[@attribute="value"]</li>
<li>.//*[contains(concat(" ", @class, " "), " classname ")]</li>
</ul>
<p>Each of these queries maps cleanly to a CSS Selector that could return the same results that would be returned from our performant Selectors API. Specifically, the queries above can be converted to</p>
<ul>
<li>element1 &gt; element2 &gt; element3</li>
<li>element[attribute="value"]</li>
<li>*.classname</li>
</ul>
<p>The first native implementation of XPath thus involved supporting queries that can be converted to a CSS selector and exposing the results through the DOM L3 XPath interface objects. Alongside this implementation, we added telemetry to measure the rate of success across broader Web usage, which accounted for the number of successful queries, number of failed queries, and the query string of the first failure.</p>
<p>Our telemetry from internal testing showed that 94% of queries successfully converted to selectors to unblock many Web sites. Of the failures reported through the telemetry, many took the form</p>
<ul>
<li>//element[contains(@class, "className")]</li>
<li>//element[contains(concat(" ", normalize-space(@class), " "), " className ")]</li>
</ul>
<p>which can both be converted to the selector “element.className.” With these additional changes, the success rate improved to 97%, making our new engine ready for broader usage to support the modern Web.</p>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin-left: auto; margin-right: auto;">
<tr><td><img alt="Internal telemetry showing XPath query success rate over time in our testing" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/5621.image7_5F00_760x464.png"></td>
</tr>
<tr><td align="center"><em>Internal telemetry showing Xpath query success rates</em></td>
</tr>
</table>
<h1>Addressing the Remainder</h1>
<p>While this supports the vast majority of the Web, converting XPath queries to Selectors is inherently limited. Additionally, we were still left with the 3% of failing queries that require support of more of XPath’s grammar, such as functions, support for non-element and document nodes, and more complex predicates. Several sites mention various polyfills for XPath, including <a href="https://developer.mozilla.org/en-US/docs/Web/XPath">Mozilla Development Network</a>, for platforms that do not provide adequate support for XPath. One of the polyfills commonly cited is <a href="http://code.google.com/p/wicked-good-xpath/">wicked-good-xpath</a> (WGX), which is an implementation of XPath written purely in JavaScript. Running WGX against our internal set of tests across the XPath spec showed 91% compatibility with competitor native implementations. The idea of using WGX as a fallback for the remaining 3% became a compelling bet because it was performant and our tests already measured its functionality against other implementations. Further, wicked-good-xpath is an open source project under the MIT license, and our usage of it would align with our goals to embrace and contribute back to code from the open source community. However, JavaScript had never been used within IE to build this kind of platform feature before.</p>
<p>In order to support WGX without polluting a Web page’s context, we created a separate, isolated script engine dedicated to WGX. With a few modifications to WGX that provide entry points for invoking functions and accessing results, we marshal the data from the page to the isolated engine and evaluate expressions with WGX. With WGX enabled to handle native XPath queries, we see immediate gains from sites missing content in our new engine rendering the modern Web.</p>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin-left: auto; margin-right: auto;" >
<tr><td><img alt="Before: Available prices for products don&#39;t appear on tomtom.com" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/0243.iiwdlxis_2D00_image1_5F00_760x918_2D00_2.png" /></td>
<td><img alt="After: Available prices for products appear on tomtom.com" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/2768.iiwdlxis_2D00_image2_5F00_760x918_2D00_2.png" /></td>
</tr>
<tr><td colspan="2"><p align="center"><em>Before and after: Available prices for products now appear correctly on tomtom.com</em></p>
</td>
</tr>
<tr><td><img alt="Before: Lotto numbers are not displayed" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/7573.iiwdlxis_2D00_image3_5F00_760x918_2D00_2.png" /></td>
<td><img alt="After: Get the latest Lotto numbers" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/5315.iiwdlxis_2D00_image4_5F00_760x918_2D00_2.png" /></td>
</tr>
<tr><td colspan="2"><p align="center"><em>Before and after: Lottery numbers now correctly display where they were previously missing</em></p>
</td>
</tr>
</table>
<p>While browsing the Web with WGX, we found a few bugs that exhibit behavior which diverges from other browsers’ implementations as well as the W3C spec. We plan to make contributions back to the project that make WGX more interoperable with native implementations.</p>
<p>Our new rendering engine now has support for XPath to run the modern Web to enable more functionality and show more content for our customers. With data-driven development from the modern Web, we landed on a data-driven outcome of a low-cost and performant implementation on existing technologies and standards as well as open source code. Grab the latest flight of the <a href="http://insider.windows.com/">Windows 10 Technical Preview</a> to try for yourself! You can reach us with feedback via the <a href="https://wpdev.uservoice.com/forums/257854-internet-explorer-platform">Internet Explorer Platform Suggestion Box</a> on UserVoice, <a href="https://twitter.com/iedevchat">@IEDevChat</a> on Twitter, and in the comments below.</p>
<p>– Thomas Moore, Software Engineer, Internet Explorer Platform</p>
<div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10601458" width="1" height="1">DevelopersTestingPlatform PreviewRendering engine updates in March for the Windows 10 Technical Previewhttp://blogs.msdn.com/b/ie/archive/2015/03/18/rendering-engine-updates-in-march-for-the-windows-10-technical-preview.aspxWed, 18 Mar 2015 19:04:28 GMT91d46819-8472-40ad-a661-2c78acb4018c:10601150ieblog10http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10601150http://blogs.msdn.com/b/ie/archive/2015/03/18/rendering-engine-updates-in-march-for-the-windows-10-technical-preview.aspx#comments<p>Based on feedback from Windows Insiders, we are <a href="http://blogs.windows.com/bloggingwindows/2015/03/09/frequency-and-predictability-of-builds-for-windows-insiders/">working to release preview builds more often</a>. Today we <a href="http://blogs.windows.com/bloggingwindows/2015/03/18/windows-10-technical-preview-build-10041-now-available/">flighted</a> the first update to Insiders on this accelerated cadence, which includes the latest updates to our new rendering engine. Due to the change in cadence, this build does not yet include the Project Spartan preview, which will be available in the next release.</p>
<p style="margin-bottom:0;">Today’s build has a number of updates to the new engine, including new features and improvements to existing features. Some of these include:</p>
<ul style="margin-top:0;">
<li>Improved ECMAScript 6 compatibility (up to 74% in the <a href="http://kangax.github.io/compat-table/es6/">Kangax ES6 compatibility test</a> in this preview)</li>
<li>Expanded support for <a href="https://status.modern.ie/domlevel3xpath">DOM L3 XPath</a></li>
<li>Support for <a href="https://status.modern.ie/arialandmarkroles">WAI-ARIA Landmark Roles</a></b></li>
<li>Support for <a href="https://status.modern.ie/conditionalrules">CSS Conditional Rules</a> (@Supports)</li>
<li>Support for the <a href="https://status.modern.ie/webaudioapi">Web Audio API</a></li>
<li>Support for <a href="https://status.modern.ie/cssgradientmidpoints">CSS Gradient Midpoints</a> (aka color hints)</li>
<li>Improved FeBlend mode support</li>
<li>Unprefixed support for the <a href="https://status.modern.ie/fullscreenapi">Fullscreen API</b></a>
<li>Support for the <a href="https://status.modern.ie/touchevents">Touch Events API</a> and <a href="http://blogs.msdn.com/b/ie/archive/2015/02/24/pointer-events-w3c-recommendation-interoperable-touch-and-removing-the-dreaded-300ms-tap-delay.aspx">related interoperability improvements</a>. Touch Events are enabled when a touchscreen is present, and can be enabled under about:flags.</li>
</ul>
<p>In addition, you may notice some features partially implemented and available for testing in Internet Explorer under about:flags. These features are under active development and will continue to evolve in future preview builds.</p>
<ul>
<li>Support for the <a href="https://status.modern.ie/daterelatedinputtypes">HTML5 Date-Related Inputs API</a>. This is off by default and can be enabled in about:flags. Improved accessibility is coming in a future build.</li>
<li>Partial support for <a href="https://status.modern.ie/csstransitionsanimationsforsvgelements">CSS Transitions & Animations on SVG elements</a></li>
<li>A toggle for the <a href="https://status.modern.ie/filters">CSS Filters API</a> is available in about:flags but the feature is not yet implemented in this build.</li>
</ul>
<p>Watch this space over the next week as we’ll be diving into these in more detail in a series of individual posts. In the meantime, you can try these improvements out in the latest preview by signing up for the <a href="http://insider.windows.com/">Windows Insiders</a> program and joining the “Fast” update ring. To enable the new engine in Internet Explorer on preview builds, navigate to about:flags and select “Enable experimental Web platform features.” We'll also be updating <a href="https://remote.modern.ie">RemoteIE</a> with the new preview soon. Don’t forget to share your feedback via the <a href="https://wpdev.uservoice.com/forums/257854-internet-explorer-platform">Internet Explorer Platform Suggestion Box</a> on UserVoice, <a href="https://twitter.com/iedevchat">@IEDevChat</a> on Twitter, and in the comments below.</p>
<p>– <a href="https://twitter.com/kylealden">Kyle Pflug</a>, Program Manager, Project Spartan</p>
<div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10601150" width="1" height="1">IE AnnouncementsHTML5Platform PreviewCertificate Reputation for website ownershttp://blogs.msdn.com/b/ie/archive/2015/03/10/certificate-reputation-for-website-owners.aspxTue, 10 Mar 2015 17:00:00 GMT91d46819-8472-40ad-a661-2c78acb4018c:10599224ieblog4http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10599224http://blogs.msdn.com/b/ie/archive/2015/03/10/certificate-reputation-for-website-owners.aspx#comments<p>Last year, we <a href="http://blogs.msdn.com/b/ie/archive/2014/03/10/certificate-reputation-a-novel-approach-for-protecting-users-from-fraudulent-certificates.aspx">introduced a new mechanism</a> that Microsoft is building to better protect you against fraudulent certificates on the Web. In this blog post, we are going to explain how we will enable the broader community of site owners to participate in detecting fraudulent certificates and protecting your sensitive personal information on the Internet.</p>
<h1>Background</h1>
<p>Certificate Reputation allows Microsoft to collect server certificate samples based on telemetry from Windows users and examine them to infer reputation data that helps us protect IE users from fraudulent sites. You can learn more about how certificate reputation works in our post, &ldquo;<a href="http://blogs.msdn.com/b/ie/archive/2014/03/10/certificate-reputation-a-novel-approach-for-protecting-users-from-fraudulent-certificates.aspx">Certificate reputation, a novel approach for protecting users from fraudulent certificates</a>.&rdquo;</p>
<h1>More eyes on data allows for better analysis, but confidentiality is also important</h1>
<p>In order to provide an opportunity for Web site owners to analyze this data, we are planning to start sharing our certificate samples with their respective domain administrators. Given the sensitivity of this data, only the owners of the Web sites for which the certificates were issued can see those certificates. This allows the people with the best sense of what's expected to participate in monitoring certificate reputation, while preserving the confidentiality of the individual Web sites.</p>
<h1>How will it work?</h1>
<p>To see the list of certificates associated with a site, the administrator needs to have an account with the <a href="http://www.bing.com/toolbox/webmaster">Bing Webmaster Tools</a> and to prove that they own that domain name (as described <a href="http://www.bing.com/webmaster/help/getting-started-checklist-66a806de">here</a>). After that, the list of certificates associated with the Web site will be available on the Bing Webmaster Tools dashboard and the administrator can download them for further investigation.</p>
<h1>How does this help protect me?</h1>
<p>Web site administrators are the best entities to decide on authenticity of certificates reported under their name. If a certificate is not issued correctly (or is fraudulent), the administrator can report it back to Microsoft via the Bing Webmaster Tools so that Microsoft can take appropriate actions, including involving the issuing CA for that certificate or informing other browsers.</p>
<p>Certificate Reputation is being rolled out in preview now in the Bing Webmaster Tools, and you can learn more in their blog post, <a href="http://blogs.bing.com/webmaster/2015/03/10/track-certificates-help-users-stay-safe/">"Track Certificates to Help Users Stay Safe."</a> If your site uses SSL certificates, we encourage you to try it out and <a href="http://www.bing.com/webmaster/help/where-can-i-submit-feedback-about-webmaster-tools-171e30c4?ocid=wmblog">provide feedback</a>&nbsp;via the Bing Webmaster Tools.</p>
<p>&ndash; Anoosh Saboori, Program Manager, OSG Enterprise Security</p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10599224" width="1" height="1">DevelopersSecurityMaking it easier for Enterprise customers to upgrade to Internet Explorer 11 — and Windows 10http://blogs.msdn.com/b/ie/archive/2015/03/02/making-it-easier-for-enterprise-customers-to-upgrade-to-internet-explorer-11-and-windows-10.aspxMon, 02 Mar 2015 18:00:00 GMT91d46819-8472-40ad-a661-2c78acb4018c:10597066ieblog17http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10597066http://blogs.msdn.com/b/ie/archive/2015/03/02/making-it-easier-for-enterprise-customers-to-upgrade-to-internet-explorer-11-and-windows-10.aspx#comments<p>As we <a href="http://blogs.msdn.com/b/ie/archive/2014/10/30/making-it-easier-for-enterprises-to-stay-up-to-date.aspx">shared last year</a>, a top priority for Microsoft is helping our Enterprise customers stay up-to-date with the latest version of Internet Explorer. This is particularly important for Windows 7 customers who are <a href="http://support.microsoft.com/lifecycle#gp/Microsoft-Internet-Explorer">upgrading to Internet Explorer 11 by January 12, 2016</a> to continue receiving security updates and technical support. We understand many customers have Web apps and services that were designed specifically for older versions of Internet Explorer and we provide a set of tools, like <a href="http://blogs.msdn.com/b/ie/archive/2014/10/24/announcing-the-enterprise-site-discovery-toolkit-for-internet-explorer-11.aspx">Enterprise Mode</a>, the <a href="http://blogs.msdn.com/b/ie/archive/2014/11/11/announcing-improvements-to-the-enterprise-mode-site-list.aspx">Enterprise Mode Site List</a>, and <a href="http://blogs.msdn.com/b/ie/archive/2014/10/24/announcing-the-enterprise-site-discovery-toolkit-for-internet-explorer-11.aspx">Enterprise Site Discovery</a>, to help you run these applications in Internet Explorer 11 &mdash; and ease the upgrade to Windows 10.</p>
<p>Enterprise Mode helps customers extend their investments in older Web apps through higher compatibility with the IE8 rendering engine in a more modern browser like Internet Explorer 11. In the ten months since we released Enterprise Mode, we&rsquo;ve heard from our customers that it is very effective at improving legacy app compatibility and that the upgrade to Internet Explorer 11 was easier than ever before. To help us tell this story, Microsoft commissioned Forrester Consulting to interview and survey large customers in the US, UK, Germany, and Japan who have started their IE11 upgrades. Customers found that:</p>
<ul>
<li>Upgrading from IE8 to IE11 was&nbsp;1.8 times faster than expected, thanks to Enterprise Mode.</li>
<li>The effort to rewrite applications to modern browser standards was reduced by 75%.</li>
<li>Ongoing browser support and critical applications testing were significantly reduced.</li>
<li>Many business users saw improved productivity from using a single browser.</li>
</ul>
<p>Organizations save money, reduce risk, and experience higher productivity by upgrading to IE11. Best of all, upgrading to Internet Explorer 11 now can help ease your migration to Windows 10. Download <a href="http://aka.ms/IE11tei">The Total Economic Impact of Microsoft Internet Explorer 11.</a></p>
<h1>Better Backward Compatibility with the Enterprise Mode Site List</h1>
<p>Enterprise Mode can be very effective in providing backward compatibility for older Web apps. In January, for example, Microsoft held an Enterprise Customer Summit with about 100 large customers, and we found that every broken site brought by a customer to our IE App Compatibility Workshop was fixed by using Enterprise Mode. Depending on your environment, you may not need to use Enterprise Mode for better emulation of the IE8 engine, but may still benefit from using the Enterprise Mode Site List and its new &lt;docMode&gt; functionality.</p>
<p>In November, we <a href="http://blogs.msdn.com/b/ie/archive/2014/11/11/announcing-improvements-to-the-enterprise-mode-site-list.aspx">expanded the functionality of the Enterprise Mode Site List</a> to include the ability to put any Web app in any document mode, without changing a single line of code on the Web site. This new functionality adds a &lt;docMode&gt; section to the Enterprise Mode XML file, separate from the &lt;emie&gt; section for Enterprise Mode sites. Using this new functionality, Microsoft&rsquo;s own IT department saw our internal line of business application pass rate go from 93% to 100% with 24 document mode entries in our Enterprise Mode Site List and only a single Enterprise Mode entry.</p>
<p>Web paths added to the Enterprise Mode Site List can now be rendered either in Enterprise Mode&mdash;which provides higher-fidelity emulation for IE8&mdash;or any of the document modes listed below:</p>
<p style="text-align: center;"><img style="max-width: 95%;" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/5684.enterprisemodesitelist.png" alt="Enterprise Mode Site List diagram" /></p>
<p>Enterprise Mode (in green above), with its higher-fidelity emulation for IE8, was added to Internet Explorer 11 in April, 2014. The blue capabilities were added to the Enterprise Mode Site List in November, 2014, and can particularly help IE9 or IE10 customers upgrade more easily. Enterprise Mode can be further improved by using it in combination with Compatibility View, a mode added in IE8 for better compatibility for sites designed for IE7, as indicated in orange.</p>
<p>Compatibility View is basically a switch: If a web page has no DOCTYPE, the page will be rendered in IE5 mode. If there is a DOCTYPE, the page will be rendered in IE7 mode. You can effectively get Compatibility View by specifying IE7 in the &lt;docMode&gt; section&mdash;as this falls back to IE5 automatically if there&rsquo;s no DOCTYPE&mdash;or you can use Enterprise Mode with Compatibility View for even better emulation. See below for details.</p>
<p>Speaking with customers, we found that IT Pros aren&rsquo;t always the ones doing the app remediation work. Much of this work is often done by IT Developers, who don&rsquo;t always understand all of the IE backward compatibility offerings. In this post, we want to provide a clearer set of mitigations for IT Pros and IT Developers to help make your upgrade as easy as possible.</p>
<h1>Call to action for IT Pros</h1>
<p>We know that upgrading to a new browser can be a time-consuming and potentially costly venture. To help reduce these costs, we introduced the <a href="http://blogs.msdn.com/b/ie/archive/2014/10/24/announcing-the-enterprise-site-discovery-toolkit-for-internet-explorer-11.aspx">Enterprise Site Discovery</a> toolkit to help you prioritize which sites you should be testing based on their usage in your enterprise. For example, if the data shows that no one is visiting a particular legacy Web app anymore, you may not need to test or fix it. This tool also gives you information on what document mode the page runs in your current browser, so you can better understand how to fix that site if it breaks in a newer version of the browser. This tool is currently only supported in IE11, but we are bringing Enterprise Site Discovery support to IE8, IE9, and IE10 very soon.</p>
<p>Once you know which sites to test and fix, the following remediation methods may help fix your app compatibility issues in IE11 and Windows 10.</p>
<h2>If you're on IE8 and upgrading to IE11&hellip;</h2>
<ul>
<li>Use the Enterprise Mode Site List to add sites to IE5, IE7, and IE8 modes.</li>
<li>Sites with x-ua-compatible meta tag or HTTP header set to &ldquo;IE=edge&rdquo; may break in IE11 and need to be set to IE8 mode. This is because Edge in IE8 meant IE8 mode, but Edge in IE11 means IE11 mode.</li>
<li>Sites without a DOCTYPE in zones other than Intranet will default to QME (or &ldquo;interoperable quirks) rather than IE5 Quirks and may need to be set to IE5 mode.</li>
<li>If you have enabled <em>Turn on Internet Explorer Standards Mode for local intranet </em>group policy setting, sites with a DOCTYPE in the Intranet zone will open in IE11 mode instead of IE7 mode, and may need to be set to IE7 mode. Sites without a DOCTYPE will open in QME and may need to be set to IE5 mode.</li>
<li>Some IE5, IE7, and IE8 sites may need to be added to Enterprise Mode to work.</li>
<li>Some sites may need to be added to both Enterprise Mode and Compatibility View to work. You can do this by adding the site both to the Enterprise Mode section of the Enterprise Mode Site List and to the <em>Use Policy List of Internet Explorer 7 sites</em> group policy.</li>
</ul>
<h2>If you&rsquo;re on IE9 and upgrading to IE11&hellip;</h2>
<ul>
<li>Use the Enterprise Mode Site List to add sites to IE5, IE7, and IE9 modes.</li>
<li>Sites with x-ua-compatible meta tag or HTTP header set to &ldquo;IE=edge&rdquo; may break in IE11 and need to be set to IE9 mode. This is because Edge in IE9 meant IE9 mode, but Edge in IE11 means IE11 mode.</li>
<li>Sites without a DOCTYPE in zones other than Intranet will default to QME rather than IE5 Quirks and may need to be set to IE5 mode.</li>
<li>If you have enabled <em>Turn on Internet Explorer Standards Mode for local intranet </em>group policy setting, sites with a DOCTYPE in the Intranet zone will open in IE11 mode instead of IE7 mode, and may need to be set to IE7 mode. Sites without a DOCTYPE will open in QME and may need to be set to IE5 mode.</li>
<li>If your sites worked in IE9, you won&rsquo;t need Enterprise Mode but can still take advantage of the newer &lt;docMode&gt; section of the Enterprise Mode Site List.</li>
</ul>
<h2>If you&rsquo;re on IE10 and upgrading to IE11&hellip;</h2>
<ul>
<li>Use Enterprise Mode Site List to add sites to IE5, IE7, and IE10 modes.</li>
<li>Sites with x-ua-compatible meta tag or HTTP header set to &ldquo;IE=edge&rdquo; may break in IE11 and need to be set to IE10 mode. This is because Edge in IE10 meant IE10 mode, but Edge in IE11 means IE11 mode.</li>
<li>If you have enabled <em>Turn on Internet Explorer Standards Mode for local intranet </em>group policy setting, sites with a DOCTYPE in the Intranet zone will open in IE11 mode instead of IE7 mode, and may need to be set to IE7 mode. Sites without a DOCTYPE will open in QME and may need to be set to IE5 mode.</li>
<li>If your sites worked in IE10, you won&rsquo;t need Enterprise Mode but can still take advantage of the newer &lt;docMode&gt; section of the Enterprise Mode Site List.</li>
</ul>
<h2>If you&rsquo;re on IE11 and upgrading to Windows 10&hellip;</h2>
<ul>
<li>Use Enterprise Mode Site List to add sites to IE5, IE7, IE8, IE9, IE10, and IE11 modes as needed.</li>
<li>The x-ua-compatible meta tag and HTTP header will be ignored for all sites not in the Intranet zone. If you enable <em>Turn on Internet Explorer Standards Mode for local intranet</em> group policy, all sites, including those in the Intranet zone, will ignore x-ua-compatible. Look at your Enterprise Site Discovery data to see which modes your sites loaded in IE11 and add those sites to the same modes using the Enterprise Mode Site List tool.</li>
</ul>
<p>We recommend that Enterprise customers focus their new development on established, modern Web standards for better performance and interoperability across devices, and avoid developing sites in older IE document modes. We often hear that due to the Intranet zone defaults to Compatibility View, IT Developers inadvertently create new sites in IE7 or IE5 modes in the Intranet zone, depending on whether they used a DOCTYPE. As you move your Web apps to modern standards, you can enable the <em>Turn on Internet Explorer Standards Mode for local intranet </em>group policy and add sites that need IE5 or IE7 modes to the Site List. Of course, testing is always a good idea to ensure these settings work for your environment.</p>
<h1>Call to action for IT Developers</h1>
<p>An IT Pro may ask you to update your site if it worked in an older IE version but no longer works in IE11. Here are the set of steps you should follow to find the right remediation:</p>
<h2>Try Document Modes</h2>
<p>Try to see if the site works in one of the following document modes: IE5, IE7, IE8, IE9, IE10, or IE11.</p>
<ul>
<li>Open the site in IE11, load the F12 tools by pressing the &lsquo;F12&rsquo; key or selecting &lsquo;F12 Developer Tools&rsquo; from the &lsquo;Tools&rsquo; menu, and select the &lsquo;Emulation&rsquo; Tab.</li>
</ul>
<p style="text-align: center;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/0878.miefectutieaw_2D00_image1.png" alt="'Emulation' tab in the IE11 F12 Developer tools" /></p>
<ul>
<li>Try running the site in each document mode until you find one in which it works. You will need to make sure the user agent string dropdown matches the same browser version as the document mode dropdown. For example, if you were testing if the site works in IE10, you should update the document mode dropdown to &ldquo;10&rdquo; and the user agent string drop down to &ldquo;Internet Explorer 10.&rdquo;</li>
<li>If you find a mode where your site works, inform your IT Pro to add the site domain, sub-domain, or URL to the Enterprise Mode Site List in the document mode where the site works. While you can add the <a href="https://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx">x-ua-compatible</a> meta tag or HTTP header, this approach will only work in Windows 10 for sites in the Intranet zone when the <em>Turn on Internet Explorer Standards Mode for local intranet </em>group policy is not enabled.</li>
</ul>
<h2>Try Enterprise Mode</h2>
<p>If a document mode didn&rsquo;t fix your site, try Enterprise Mode. Enterprise Mode only benefits sites written for IE5, IE7, and IE8 document modes.</p>
<ul>
<li>Enable the <em>Let users turn on and use Enterprise Mode from the Tools menu </em>group policy setting locally on your machine. You can do this by searching and running gpedit.msc, going to &lsquo;Computer Configuration&rsquo; &lsquo;Administrative Template&rsquo; &lsquo;Windows Components&rsquo; &lsquo;Internet Explorer&rsquo;, and enabling the <em>Let users turn on and use Enterprise Mode from the Tools menu </em>group policy setting. After making this change, run gpupdate.exe /force to make sure the setting is applied locally. Make sure to disable this setting once you&rsquo;re done testing. Alternately, you can use a regkey; see <a href="https://technet.microsoft.com/en-us/library/dn640699.aspx">Turn on Enterprise Mode and use a site list</a> for more information.</li>
<li>Restart IE11 and open the site you&rsquo;re testing, then go to Emulation Tab in F12 tools and select &ldquo;Enterprise&rdquo; from the Browser profile dropdown. If the site works, inform your IT Pro that the site needs to be added to the Enterprise Mode section.</li>
</ul>
<h2>Try Compatibility View with Enterprise Mode</h2>
<p><strong> </strong>If Enterprise Mode doesn&rsquo;t work, setting Compatibility View with Enterprise Mode will give you the Compatibility View behavior that shipped with IE8.</p>
<ul>
<li>While browsing in Enterprise Mode, go to the &lsquo;Tools&rsquo; menu and select Compatibility View Settings, and add the site to the list.</li>
<li>If this works, inform your IT Pro to add the site to both the Enterprise Mode section and the <em>Use Policy List of Internet Explorer 7 sites</em> group policy setting. Please note that adding the same Web path to the Enterprise Mode and docMode sections of the Enterprise Mode Site List will not work, but we are addressing this in a future update.</li>
</ul>
<h2>Update site for modern Web standards</h2>
<p>If you have the time and budget, you should update your site for established, modern Web standards, so you don&rsquo;t need to use compatibility offerings to make your site continue to work.</p>
<h1>More Resources</h1>
<p>For more information on all of these tools, please see the following resources:</p>
<ul>
<li>Download <a href="http://aka.ms/IE11tei">The Total Economic Impact of Microsoft Internet Explorer 11</a></li>
<li>Learn about <a href="https://msdn.microsoft.com/en-us/library/ie/dn384051(v=vs.85).aspx">document modes</a> in IE11 and Windows 10</li>
<li>Learn about&nbsp;<a href="http://technet.microsoft.com/library/dn640687.aspx">Enterprise Mode</a>&nbsp;and how to&nbsp;<a href="http://technet.microsoft.com/en-us/library/dn640699.aspx">turn it on</a></li>
<li>Download the&nbsp;<a href="http://go.microsoft.com/fwlink/?LinkID=393361">latest Enterprise Mode Site List Manager tool</a></li>
<li>Learn about using the&nbsp;<a href="https://technet.microsoft.com/en-us/library/dn833204.aspx">Enterprise Site Discovery Toolkit</a> and <a href="http://www.microsoft.com/en-us/download/details.aspx?id=44570">how to use it</a> to inventory what sites are running in your organization</li>
</ul>
<p>As always, we suggest that consumers&nbsp;<a href="http://windows.microsoft.com/en-us/internet-explorer/download-ie">upgrade to the latest version</a>&nbsp;and&nbsp;<a href="http://windows.microsoft.com/en-us/windows/turn-automatic-updating-on-off#turn-automatic-updating-on-off=windows-7">enable automatic updates</a>&nbsp;for more secure browsing. If you use an older version of Internet Explorer at work, encourage your IT department to learn more the new backward-compatible features of Internet Explorer 11. Like many of our other customers, you may find that upgrading to the latest version of Internet Explorer is easier and less costly than previous upgrades. Best of all, the upgrade to Internet Explorer 11 can help ease your migration to Windows 10.</p>
<p>&ndash; Jatinder Mann, Senior Program Manager Lead<br />&ndash; Fred Pullen, Senior Product Marketing Manager</p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10597066" width="1" height="1">IT PROCompatibilityTestingInternet Explorer 11A break from the past: the birth of Microsoft's new web rendering enginehttp://blogs.msdn.com/b/ie/archive/2015/02/26/a-break-from-the-past-the-birth-of-microsoft-s-new-web-rendering-engine.aspxThu, 26 Feb 2015 17:00:00 GMT91d46819-8472-40ad-a661-2c78acb4018c:10596265ieblog74http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10596265http://blogs.msdn.com/b/ie/archive/2015/02/26/a-break-from-the-past-the-birth-of-microsoft-s-new-web-rendering-engine.aspx#comments<p>As we <a href="http://blogs.msdn.com/b/ie/archive/2015/01/22/project-spartan-and-the-windows-10-january-preview-build.aspx">announced last month</a>, Project Spartan will be the new browser across all Windows 10 devices, from phones to tablets, PCs and beyond. You&rsquo;ll hear about the new browser&rsquo;s features in the coming months but in this post, we want to tell you more about what motivated us to build a new rendering engine focused on interoperability with other modern browsers ― all in the name of making the Web &ldquo;just work&rdquo; for our customers. This new rendering engine was designed with Project Spartan in mind, but will also be available in Internet Explorer on Windows 10 for enterprises and other customers who require legacy extensibility support.</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><iframe src="https://www.youtube.com/embed/iY6Z42YFq-4" frameborder="0" width="560" height="315"></iframe></p>
<h1>Modernizing IE while not breaking the Web</h1>
<p>Internet Explorer has been the Microsoft Web browser for 20 years and has evolved to work with ever-changing Web sites over that time. Since 2009, we&rsquo;ve been systematically bringing major investments to the browser to modernize each of <a href="http://blogs.msdn.com/b/ie/archive/2010/08/30/performance-profiling-how-different-web-sites-use-browser-subsystems.aspx">the browser subsystems</a>: from fast new JavaScript and layout engines, GPU-accelerated rendering and 3D graphics, and multi-threaded touch input to improved F12 developer tools and backwards compatibility with Enterprise Mode.</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/4426.abftptbomnwre_2D00_image1_5F00_760x474.png" alt="Big changes in 5 years of IE" /><br /><em>Big changes in 5 years: </em><a href="http://ie.microsoft.com/testdrive/Performance/FishIETank/"><em>Fish IE</em></a><em> (GPU rendering), </em><a href="http://blogs.msdn.com/b/ie/archive/2010/11/17/html5-and-real-world-site-performance-seventh-ie9-platform-preview-available-for-developers.aspx"><em>Chakra fastest on SunSpider</em></a><em> (JavaScript performance), </em><a href="http://ie.microsoft.com/testdrive/Graphics/TouchEffects/"><em>Touch Effects</em></a><em> (multi-touch input), new F12 developer tools, </em><a href="http://race.assassinscreedpirates.com/"><em>Assassin&rsquo;s Creed Pirates</em></a><em> (WebGL)</em></p>
<p>As we&rsquo;ve been rolling out these significant changes with major versions of IE, we also did our best to abide by the mantra of &ldquo;don&rsquo;t break the Web.&rdquo; This is an ambitious goal given that the Web consists of over 44 billion Web sites, so we prioritized compatibility testing on the Web&rsquo;s top 9000 Web sites globally which accounts for roughly 88% of Web traffic. This represented the sweet spot of where the &ldquo;head of the Web&rdquo; becomes the &ldquo;long tail&rdquo; &ndash; allowing us to focus our testing resources on the most impactful sites. Prior to release, we would ensure a compatibility pass rate greater than previous releases of IE and our competitors on those top 9000 sites.</p>
<h1>The long tail matters</h1>
<p>And yet, even as we released new and improved versions of IE, we heard complaints about some sites being broken in IE &ndash; from family members, co-workers in other parts of Microsoft, or online discussions. As we examined these sites, they were often not on our top 9000 list. They were issues like not being able to complete a reservation online for the barbershop down the street, or not being able to log in to see the schedule for the local kids soccer league.</p>
<p>In Windows 10 planning, we set out to tackle this apparent discrepancy &ndash; how could our real-world compatibility be declining when our compatibility testing data shows that we are improving?</p>
<h1>Rethinking our assumptions</h1>
<p>As we dug in, we uncovered a series of issues that led us to realize that we needed to significantly rethink our approach to compatibility with the Web at large:</p>
<ul>
<li><strong>Legacy vs. modern.</strong> While we were pushing ahead with new HTML5 features, we were also expected to preserve compatibility with old versions of IE, particularly for enterprise Web apps. Limited compatibility was provided through <a href="https://msdn.microsoft.com/en-us/library/cc288325(v=vs.85).aspx">document compatibility modes</a> within Trident, however compatibility could not be guaranteed and it provided consistent obstacles towards fixing long-standing IE-specific behaviors. Furthermore, fixing long standing interoperability bugs with other modern browsers could actually break sites who have coded to the IE-specific behavior.</li>
<li><strong>CV list.</strong> Our compatibility pass rates were dependent on the presence of the <a href="https://msdn.microsoft.com/en-us/library/ie/gg622935(v=vs.85).aspx">compatibility view list</a>. This allowed us to &ldquo;fix&rdquo; broken sites by forcing them into old document modes which emulated legacy IE behaviors. However, this approach requires testing and maintenance, and doesn&rsquo;t scale well beyond the top sites.</li>
<li><strong>X-UA-Compatible.</strong> Some sites forced an older document mode using the <a href="https://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx">&ldquo;x-ua-compatible&rdquo; header</a>. However, rather than using it as a temporary stopgap, they would rely upon that to keep that version of the site working in future versions of IE while they developed an evergreen code path of their site for other modern browsers.</li>
<li><strong>Standards focus.</strong> Our focus on building new HTML5 features was to comply with Web standards, which in turn <em>should</em> lead to interoperability among browsers. However, interpretations of the standards document could easily vary, leading to real-world interoperability gaps and ultimately more bug fixing for Web developers and more broken sites for customers.</li>
</ul>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/0005.abftptbomnwre_2D00_image2_5F00_760x427.jpg" alt="Project Spartan engineers at work" /></p>
<h1>A break from the past</h1>
<p>Faced with these issues, we were inspired to have <a href="http://www.businessinsider.com/nadella-courage-in-the-face-of-reality-2014-4">&ldquo;courage in the face of reality&rdquo;</a>. We needed a plan to make it easy for Web developers to build compatible sites <em>regardless</em> of which browser they develop first for. We needed a plan which ensured that our customers have a good experience <em>regardless</em> of whether they browse the head or tail of the Web. We needed a plan which gave enterprise customers a highly backward compatible browser <em>regardless</em> of how quickly we pushed forward with modern HTML5 features.</p>
<p>In order to really address these challenges, we realized that we couldn&rsquo;t just incrementally improve on our previous approach, we needed a break from the past &ndash; all without losing the major investments that we had been making since 2009.</p>
<h1>A pragmatic approach</h1>
<p>The break meant bringing up a new Web rendering engine, free from 20 years of Internet Explorer legacy, which has real-world interoperability with other modern browsers as its primary focus &ndash; and thus our rallying cry for Windows 10 became &ldquo;<a href="http://blogs.msdn.com/b/ie/archive/2014/05/27/launching-status-modern-ie-amp-internet-explorer-platform-priorities.aspx">the Web just works</a>.&rdquo; This pragmatic viewpoint, which was initially proven out by <a href="http://blogs.msdn.com/b/ie/archive/2014/07/31/the-mobile-web-should-just-work-for-everyone.aspx">our work in Windows Phone 8.1 Update</a>, meant that Web standards would continue to be important but should function in the background to drive real-world interoperability between browsers.</p>
<p>This interoperability-focused approach brought the obvious question of adopting an existing open-source rendering engine such as WebKit. While there were some advantages, upon further investigation it was not the right path forward for two important reasons. First, the Web is built on the principle of multiple independent, yet interoperable implementations of Web standards and we felt it was important to counter movement towards a monoculture on the Web. Second, given the engineering effort required, we found that we could deliver an interoperability focused engine to customers significantly faster if we started from our own engine (especially if unshackled from legacy compatibility concerns), rather than building up a new browser around an open-source engine. We will continue to look at <a href="http://internetexplorer.github.io/">open source</a> and shared source models where it makes sense and look forward to sharing more details in coming posts.</p>
<h1>A new Web rendering engine is born</h1>
<p>As detailed in Jacob Rossi&rsquo;s <a href="http://www.smashingmagazine.com/2015/01/26/inside-microsofts-new-rendering-engine-project-spartan/">article for Smashing Magazine</a>, the new engine began as a fork of MSHTML.dll but has since diverged very quickly. By making this split, we were able to keep the major subsystem investments made over the last several years, while allowing us to remove document modes and other legacy IE behaviors from the new engine. On the other hand, our legacy engine (MSHTML.dll) can remain largely unchanged (outside of security and other high priority fixes) to help guarantee legacy compatibility for our enterprise customers. We also built up capabilities to switch between the legacy and new rendering engines seamlessly.</p>
<p>A clean break also necessitates a <a href="https://msdn.microsoft.com/en-us/library/ie/hh869301(v=vs.85).aspx">new user-agent string</a> to ensure that no IE-specific code was being sent. This built upon a <a href="http://webaim.org/blog/user-agent-string-history/">long browser history</a> of using whatever tokens are necessary to get the desired content from servers. Although this meant a <em>lower</em> compatibility rate initially, it was also useful to reveal interoperability issues that needed to be fixed!</p>
<p>Finally, since legacy IE code is no longer being sent, we are able to drastically reduce our reliance on the CV list. This means that our top site compatibility rate will match our long tail compatibility much more closely.</p>
<h1>Fixing patterns instead of sites</h1>
<p>However, a new engine was not enough &ndash; we also needed to significantly revamp how we find, track and fix issues on the long tail of the Web. To do so, we do daily analysis on trillions of URLs crawled in conjunction with Bing to detect patterns that exist in the head of the Web <em>and</em> the tail of the Web. By fixing these patterns, sites just end up working. This data is augmented by thousands of daily feedback reports from users via the &ldquo;smiley face&rdquo; icon.</p>
<p>In addition, we revised our internal engineering processes to prioritize real-world interoperability issues uncovered by our data analysis. With these processes in place, we set about fixing over 3000 interoperability bugs and adding <a href="https://status.modern.ie/?iestatuses=indevelopment,iedev">over 40 new Web standards</a> (to date) to make sure we deliver on our goals.</p>
<p>We don&rsquo;t see this interoperability effort having an end date &ndash; we&rsquo;ll be continuously checking the data and rolling out improvements to the new rendering engine. For users that upgrade to Windows 10, the engine will be evergreen, meaning that it will be kept current with Windows 10 <a href="http://blogs.windows.com/bloggingwindows/2015/01/21/the-next-generation-of-windows-windows-10/">as a service</a>.</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/1050.abftptbomnwre_2D00_image3_5F00_760x427.jpg" alt="Project Spartan engineers at work" /></p>
<h1>A community effort</h1>
<p>Our mission to create a Web that &ldquo;just works&rdquo; won&rsquo;t be successful without your help. That&rsquo;s why the Project Spartan journey has included a number of ways for you to get involved. Here&rsquo;s a quick rundown of ways you can help:</p>
<ul>
<li>Join the <a href="https://insider.windows.com/">Windows Insider Program</a> to get the latest Windows 10 previews and test your Web sites on our new rendering engine by enabling experimental Web features in the about:flags page. If you don&rsquo;t have a device to install it on, try out <a href="http://remote.modern.ie">RemoteIE</a> which will stream our latest browser from the Azure cloud to Windows, iOS or Android devices.</li>
<li>If you see any site issues, &ldquo;Send a Frown&rdquo; using the smiley icon so we can track it. If you have a more detailed description of the issue, you can open a bug on <a href="https://connect.microsoft.com/ie">Connect</a>.</li>
<li>Check out our Web platform roadmap at <a href="http://status.modern.ie">status.modern.ie</a>. If anything is missing, submit a feature request or vote for an existing request at our <a href="http://uservoice.modern.ie/">UserVoice site</a>.</li>
<li>Send us a message on Twitter <a href="https://twitter.com/iedevchat">@IEDevChat</a>, or join a monthly <a href="https://twitter.com/search?q=%23askie&amp;src=typd">#AskIE</a> tweetchat (next one on 2/26 @ 12PM PST). For help on more detailed issues, ask a question on <a href="http://stackoverflow.com/questions/tagged/internet-explorer">our StackOverflow page</a>.</li>
</ul>
<p>We believe the break from IE&rsquo;s past we&rsquo;ve made to create a new rendering engine will help make the browsing experience for our customers better, and make building Web sites that just work across browsers easier for Web developers. We&rsquo;ll be sharing more details on specific aspects of the approach outlined above in the coming weeks and look forward to your continued participation in this journey with us.</p>
<p>&mdash; <a href="https://twitter.com/morris_charles">Charles Morris</a>, Program Manager Lead, Project Spartan</p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10596265" width="1" height="1">General IE InformationIE AnnouncementsInside IEPlatform PreviewPointer Events W3C Recommendation, Interoperable Touch, and Removing the Dreaded 300ms Tap Delayhttp://blogs.msdn.com/b/ie/archive/2015/02/24/pointer-events-w3c-recommendation-interoperable-touch-and-removing-the-dreaded-300ms-tap-delay.aspxTue, 24 Feb 2015 18:20:00 GMT91d46819-8472-40ad-a661-2c78acb4018c:10595639ieblog8http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10595639http://blogs.msdn.com/b/ie/archive/2015/02/24/pointer-events-w3c-recommendation-interoperable-touch-and-removing-the-dreaded-300ms-tap-delay.aspx#comments<p>Today, <a href="http://www.w3.org/blog/news/archives/4430?pk_campaign=feed&amp;pk_kwd=pointer-events-is-a-w3c-recommendation">the W3C published Pointer Events as a final Recommendation standard</a>. This journey began a little over 2 years ago when we first submitted our proposal to the W3C for a common event model across pointing input devices. Since then, the spec has evolved and improved with the collaboration of Mozilla, Google, Opera, jQuery, IBM, <a href="https://msopentech.com/blog/2015/02/24/pointer-events-w3c-standard/">Microsoft Open Technologies</a>, and many others. Improvements have included better extensibility for new device types, additional configuration values for scrolling and zooming behavior, event constructors for synthesizing custom pointer events, and more.</p>
<p>We <a href="http://blogs.msdn.com/b/ie/archive/2013/07/31/ie11-touch-browsing-for-today-s-web-and-beyond.aspx">updated and unprefixed</a> our implementation in IE11. With the addition of <a href="https://status.modern.ie/domeventconstructors">DOM event constructors</a> in the new rendering engine in the Windows 10 Tech Preview, our implementation is now <a href="http://w3c.github.io/test-results/pointerevents/all.html">100% compliant</a> with the W3C test suite. We&rsquo;re also excited to see Firefox builds with 100% pass rate now with <a href="http://lists.w3.org/Archives/Public/public-pointer-events/2014JulSep/0070.html">work underway to ship</a> this to users soon. Additionally, jQuery, Dojo, and other open source contributors are now <a href="http://blog.jquery.com/2015/02/24/getting-on-point/">maintaining a faithful polyfill called &ldquo;PEP&rdquo;</a> and intend to use this in jQuery UI, jQuery Mobile, and Dojo. With the polyfill, it&rsquo;s possible to code to pointer events across browsers today.</p>
<p>We also continue to see great interest from Web developers lobbying for other browsers to implement (Pointer Events has more stars on <a href="https://code.google.com/p/chromium/issues/detail?id=162757">Chrome&rsquo;s issue tracker</a> than 99.6% of all other tickets, open or closed). So we&rsquo;re hopeful that other browsers will join us in advancing interoperability here.</p>
<p>Beyond Pointer Events, we&rsquo;re also getting ready to update our new rendering engine with additional improvements for touch interoperability. Here&rsquo;s a few of the changes you can anticipate and what you can do to take advantage of them.</p>
<h1>Improving Touch Performance by Removing the 300ms Tap Delay</h1>
<p>When modern browsers first came to mobile devices, there was an interesting problem. How do you make sites designed for a big desktop monitor work on a tiny screen? As a result, mobile browsers scaled Web pages in a (complicated) way to make it fit better. The double-tap gesture was then introduced to quickly zoom in and out of relevant content.</p>
<p>This solution provided a reasonable experience for sites that aren&rsquo;t optimized for mobile. However, it comes with a tradeoff. From the perspective of a gesture recognizer, any single tap could be followed by another making it a double-tap instead. So before committing to the action of a tap (e.g. navigating a link or clicking a button), the browser must pause for a moment to see if another tap is right behind it. This introduces a noticeable delay (300ms) when you&rsquo;re just tapping to activate something. This <a href="http://blogs.telerik.com/appbuilder/posts/13-11-21/what-exactly-is.....-the-300ms-click-delay">problem</a> has been <a href="http://stackoverflow.com/questions/12238587/eliminate-300ms-delay-on-click-events-in-mobile-safari">well documented</a> and <a href="https://code.google.com/p/chromium/issues/detail?id=169642">many</a> <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=941995">fixes</a> or <a href="http://www.sitepoint.com/5-ways-prevent-300ms-click-delay-mobile-devices/">workarounds</a> have been proposed, including the popular <a href="https://github.com/ftlabs/fastclick">FastClick</a> library and others.</p>
<p>Starting in IE10 (and <a href="https://www.chromestatus.com/features/5912074022551552">now in Chrome</a>, coming soon to Firefox), sites could disable double-tap zoom with the <a href="https://www.chromestatus.com/features/5912074022551552">CSS touch-action property</a> from Pointer Events:</p>
<div id="file-css-touch-action-property-LC1" class="line" style="padding-left: 30px;"><span style="font-family: courier new,courier;">.disable300msDelay {</span></div>
<div id="file-css-touch-action-property-LC2" class="line" style="padding-left: 60px;"><span style="font-family: courier new,courier;">touch-action: manipulation;</span></div>
<div id="file-css-touch-action-property-LC3" class="line" style="padding-left: 30px;"><span style="font-family: courier new,courier;">}</span></div>
<p>Additionally in IE11, if you disable zoom altogether in your viewport rule (e.g. user-scalable: no) then this also disables the 300ms delay.</p>
<p><strong>Now in the new engine, setting a viewport rule with a width less than or equal to the device-width (a strong signal that you&rsquo;re not a desktop site we need to optimize for small screens) will also disable the 300ms delay. </strong>This results in significant performance wins for mobile sites.</p>
<h1>Touch Interop Improvements</h1>
<p>We recognize that not all browsers support Pointer Events, and so for interoperability <a href="http://blogs.msdn.com/b/ie/archive/2014/07/31/the-mobile-web-should-just-work-for-everyone.aspx">we added Touch Events to Windows Phone 8.1 Update</a>. In a future update to Windows 10, we&rsquo;ll be improving the support in a few ways based on site compatibility and defacto behavior. We&rsquo;ll also provide toggles in about:flags to enable/disable these changes to aid developers with testing.</p>
<p><strong>Remove MSPointer events </strong>&ndash; we <a href="https://msdn.microsoft.com/en-us/library/ie/dn304886(v=vs.85).aspx">deprecated</a> the experimental vendor-prefixed version of pointer events, MSPointer, in IE11. Now that unprefixed pointer events have been shipping for a while, we&rsquo;re ready to remove MSPointer from the platform. Sites should update to use the standardized unprefixed events.</p>
<p><strong>Fire touchmove during scroll</strong> &ndash; in Windows Phone 8.1, IE11 would fire a touchcancel event whenever a pan gesture was detected and scrolling begins (ending the event stream for that touch). Chrome recently changed to closer match Safari and we&rsquo;re joining them. Now, touchmove events will continue to fire (asynchronously) during a scroll.</p>
<p><strong>Simplify mouse events for touch </strong>&ndash; all modern touch browsers synthesize mouse events for touch in order to be more compatible with sites designed only with mouse in mind. IE previously used a more <a href="https://dvcs.w3.org/hg/pointerevents/raw-file/tip/pointerEvents.html#compatibility-mapping-with-mouse-events">advanced algorithm</a> for generating these events. However, oddly enough, many sites that use touch events also use mouse events and expect those to follow the webkit model. In this new model, only a tap gesture will produce mouse events (and the events produced are a predefined sequence that all fire at once: mousemove, mousedown, mouseup, click).</p>
<p><strong>Support Touch Events for more devices </strong>&ndash; we&rsquo;ve <a href="http://blogs.msdn.com/b/ie/archive/2014/09/05/making-the-web-just-work-with-any-input.aspx">talked before</a> about the compatibility issues resulting from supporting touch events on devices with a mouse. We&rsquo;ve been working on outreach to sites to be more compatible with browsers supporting touch events on these types of devices. As a step towards touch events on all devices (regardless of input capabilities), we&rsquo;re rolling out behavior where touch events are enabled on any device (desktop, tablet, or phone) that has a touch screen, which is how Chrome works today. In about:flags, you&rsquo;ll be able to override this for testing and enable/disable touch events on any device.</p>
<p>There's a lot of positive changes here and we&rsquo;d love your help in testing them. Look for these changes and more in updates to the <a href="http://insider.windows.com">Windows 10 Technical Preview</a> and <a href="http://remote.modern.ie">RemoteIE</a> soon. We look forward love to hearing your feedback via the <a href="https://wpdev.uservoice.com/forums/257854-internet-explorer-platform">Internet Explorer Platform Suggestion Box</a> on UserVoice, <a href="https://twitter.com/iedevchat">@IEDevChat</a> on Twitter, and in the comments below.</p>
<p>&mdash; <a href="http://twitter.com/jacobrossi">Jacob Rossi</a>, Senior Program Manager, Project Spartan</p>
<p>&nbsp;</p>
<p><em>Update (2/25/2015) - Google has closed public comments on their Pointer Events issue tracker (however, you can still star the issue). &nbsp;We've reached out to Google for their preferred forum for web developers to provide feedback and we'll update this post when that becomes available.<br /></em><em></em></p>
<p><em>Update 2 (2/25/2015) - Google has <a href="https://code.google.com/p/chromium/issues/detail?id=162757">reopened comments</a>&nbsp;</em></p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10595639" width="1" height="1">IE AnnouncementsDevelopersW3CHTML5User ExperiencesWindows PhoneBringing asm.js to the Chakra JavaScript engine in Windows 10http://blogs.msdn.com/b/ie/archive/2015/02/18/bringing-asm-js-to-the-chakra-javascript-engine-in-windows-10.aspxWed, 18 Feb 2015 19:31:00 GMT91d46819-8472-40ad-a661-2c78acb4018c:10594343ieblog35http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10594343http://blogs.msdn.com/b/ie/archive/2015/02/18/bringing-asm-js-to-the-chakra-javascript-engine-in-windows-10.aspx#comments<p>Earlier today, we flipped asm.js to &ldquo;In Development&rdquo; at <a href="https://status.modern.ie/asmjs">status.modern.ie</a>. Support for asm.js <a href="https://wpdev.uservoice.com/forums/257854-internet-explorer-platform/suggestions/6509389-asm-js">has been</a> one of the top 10 most-requested items at the <a href="https://wpdev.uservoice.com/forums/257854-internet-explorer-platform">IE Suggestion Box</a> on UserVoice since we launched it <a href="http://blogs.msdn.com/b/ie/archive/2014/10/16/introducing-the-ie-platform-suggestion-box-on-uservoice.aspx">in December</a>.</p>
<p>Delivering an interoperable &amp; spec compliant JavaScript engine with the <a href="http://blogs.msdn.com/b/ie/archive/2014/11/11/living-on-the-edge-our-next-step-in-interoperability.aspx">capabilities</a> and performance for modern experiences has been a key goal for us since the inception of Chakra. Bringing near-native performance for JavaScript code execution is a part of the same. We recently shared the details of some of the <a href="http://blogs.msdn.com/b/ie/archive/2014/10/09/announcing-key-advances-to-javascript-performance-in-windows-10-technical-preview.aspx">work we&rsquo;ve done in Windows 10 to boost JavaScript execution speed</a> in the Chakra engine.</p>
<p>Over the last few months we&rsquo;ve taken a close look at asm.js as a technology, related technologies, and what they entail for the Web at large. While challenging to write by hand, asm.js is leveraged principally by transpiling C/C++ code to run on the Web platform, utilizing technologies such as WebGL and Web Audio. Asm.js is a clear step towards enabling near-native performance for the Web platform, which is why we&rsquo;re excited to bring it to Chakra in an upcoming release.</p>
<p style="margin-bottom: 0;">Amongst other similar initiatives, asm.js as a technology has two key characteristics that we like:</p>
<ul style="margin-top: 0;">
<li>First and obvious is the boost to JavaScript execution speed, which we&rsquo;ve already talked about. We believe that asm.js and the work we do to enable asm.js has the potential to provide speed benefits to many more scenarios over a period of time.</li>
<li>Second but more importantly is the fact that asm.js is a pure subset of JavaScript and guarantees interoperability across platforms and browsers. This means that engines that support asm.js light up the new features, while engines that don&rsquo;t will simply run with degraded performance. Since the beginning of Chakra, our team&rsquo;s focus has always been to prioritize this approach to new functionality.</li>
</ul>
<p>During this period, we&rsquo;ve also been working closely with <a href="https://blog.mozilla.org/luke/">folks</a> from the Firefox team who are working on asm.js, to learn from and partner with them to bring asm.js to the Chakra JavaScript engine.</p>
<p>We look forward to sharing more details and getting your feedback as we advance our implementation towards a preview state.</p>
<p>&mdash; Gaurav Seth, Principal PM Manager, Chakra Team<br /> &mdash; Ed Maurer, Principal Group Software Engg. Manager, Chakra Team</p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10594343" width="1" height="1">IE AnnouncementsDevelopersPerformanceHTTP Strict Transport Security comes to Internet Explorerhttp://blogs.msdn.com/b/ie/archive/2015/02/16/http-strict-transport-security-comes-to-internet-explorer.aspxMon, 16 Feb 2015 19:03:06 GMT91d46819-8472-40ad-a661-2c78acb4018c:10593805ieblog18http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10593805http://blogs.msdn.com/b/ie/archive/2015/02/16/http-strict-transport-security-comes-to-internet-explorer.aspx#comments<p>As part of our ongoing commitment to help build an interoperable, secure web that “just works,” we're excited to announce support for <a href="https://tools.ietf.org/html/rfc6797">HTTP Strict Transport Security (HSTS)</a> in Internet Explorer. This change can be previewed using Internet Explorer in the Windows 10 Technical Preview, and will come to Project Spartan in a later update.</p>
<p>The HSTS policy protects against variants of man-in-the-middle attacks that can strip TLS out of communications with a server, leaving the user vulnerable. For example, a user may initially connect to a non-encrypted version of a website before being redirected to a secure connection. An attacker exploiting the non-encrypted connection could redirect the user to a malicious site. HSTS mitigates this attack vector by allowing sites to specify that the browser should always use a secure connection to the server. HSTS provides two methods for sites to secure their connections:</p>
<ul>
<li><b>Registering for a preload list:</b> websites can register to be hardcoded by IE and other browsers to redirect HTTP traffic to HTTPS. Communications with these websites from the initial connection are automatically upgraded to be secure. Like other browsers which have implemented this feature, Internet Explorer's preload list is based on the Chromium <a href="https://hstspreload.appspot.com/">HSTS preload list.</a></li>
<li><b>Serving a HSTS header:</b> Sites not on the preload list can enable HSTS via the <a href="https://developer.mozilla.org/en-US/docs/web/Security/HTTP_strict_transport_security" style="font-family: monospace">Strict-Transport-Security</a> HTTP header. After an initial HTTPS connection from the client containing the HSTS header, any subsequent HTTP connections are redirected by the browser to be secured via HTTPS.</li>
</ul>
<p>There are two important changes that impact users on sites using HSTS. First, when there is a certification error with a HSTS server, the user will not be able to click through and ignore the certificate error; they must abort their connection. Second, mixed content is not supported on servers supporting HSTS; all the content must be secure.</p>
<p>These changes are available for preview in the <a href="http://blogs.msdn.com/b/ie/archive/2015/01/22/project-spartan-and-the-windows-10-january-preview-build.aspx">January updates to the Windows 10 Technical Preview</a>. Join the <a href="http://preview.windows.com/">Windows Insider Program</a> to see HSTS in action in IE and let us know if you have feedback <a href="https://twitter.com/iedevchat">@IEDevChat</a> or on <a href="https://connect.microsoft.com/ie">Connect</a>.</p>
<p>— Mike Bell, Program Manager, Storage, Network, and Print<br/>
— David Walp, Program Manager, Internet Explorer</p>
<div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10593805" width="1" height="1">IE AnnouncementsSecurityPlatform PreviewInternet Explorer in the Windows 10 Technical Preview for phoneshttp://blogs.msdn.com/b/ie/archive/2015/02/12/internet-explorer-in-the-windows-10-technical-preview-for-phones.aspxThu, 12 Feb 2015 18:25:35 GMT91d46819-8472-40ad-a661-2c78acb4018c:10593086ieblog13http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10593086http://blogs.msdn.com/b/ie/archive/2015/02/12/internet-explorer-in-the-windows-10-technical-preview-for-phones.aspx#comments<p>Last year, we committed to the principle that <a href="http://blogs.msdn.com/b/ie/archive/2014/07/31/the-mobile-web-should-just-work-for-everyone.aspx">the mobile web should just work for everyone</a>, and introduced hundreds of targeted improvements to Internet Explorer in the Windows Phone 8.1 Update to dramatically improve interoperability with the mobile web. <a href="http://blogs.msdn.com/b/ie/archive/2014/11/11/living-on-the-edge-our-next-step-in-interoperability.aspx">In November</a>, we revealed the <a href="http://www.smashingmagazine.com/2015/01/26/inside-microsofts-new-rendering-engine-project-spartan/">new rendering engine</a> for Internet Explorer and Project Spartan on Windows 10, built on the same successful interoperability principles. Today, we’re excited to bring this new rendering engine to phones for the first time with the <a href="http://blogs.windows.com/bloggingwindows/2015/02/12/announcing-the-first-build-of-windows-10-technical-preview-for-phones-2/">Windows 10 Technical Preview for phones</a>.</p>
<p>In today’s preview build, the new rendering engine is hosted within Internet Explorer. <a href="http://blogs.msdn.com/b/ie/archive/2015/01/22/project-spartan-and-the-windows-10-january-preview-build.aspx">Project Spartan</a>, powered by the same new engine, will replace Internet Explorer on phones in a later preview.</p>
<h1>What’s new in the Technical Preview for phones</h1>
<p>For multiple releases, we’ve been committed to shipping a unified web platform for Windows devices across all form factors and screen sizes. As a result, the new Windows 10 web platform on phones comes with the same <a href="http://blogs.msdn.com/b/ie/archive/2015/01/29/simplified-adaptive-video-streaming-announcing-support-for-hls-and-dash-in-windows-10.aspx">interoperability improvements</a>, <a href="http://blogs.msdn.com/b/ie/archive/2014/12/15/classes-in-javascript-exploring-the-implementation-in-chakra.aspx">new features</a>, <a href="http://blogs.msdn.com/b/ie/archive/2014/10/09/announcing-key-advances-to-javascript-performance-in-windows-10-technical-preview.aspx">increased performance</a>, and <a href="http://blogs.msdn.com/b/ie/archive/2014/10/08/http-2-the-long-awaited-sequel.aspx">improved standards support</a> we’ve <a href="http://blogs.msdn.com/b/ie/archive/2014/10/01/internet-explorer-and-the-windows-10-technical-preview.aspx">been</a> <a href="http://blogs.msdn.com/b/ie/archive/2015/01/22/project-spartan-and-the-windows-10-january-preview-build.aspx">previewing</a> on PCs for the last several months. Going forward, you can expect to see an even tighter coordination of new web platform update availability on PCs and phones. </p>
<p>Windows 10 introduces a <a href="https://gist.github.com/kypflug/136a48b47c19d09cf558">new user agent string for phones</a> – based on our <a href="https://gist.github.com/jacobrossi/c9699b27df2f4e97c0bd">new desktop user agent string</a> – designed to get the most modern, interoperable content for the mobile web. Sites inspecting the user agent string for analytics should be aware of the new string, but we <a href="http://blogs.msdn.com/b/ie/archive/2010/04/14/same-markup-writing-cross-browser-code.aspx">continue to believe</a> that feature detection rather than browser detection is the best solution for web developers writing interoperable content.</p>
<h1>Mobile web and apps interoperable by default </h1>
<p>The new rendering engine will be used for all web pages loaded in the browser on Windows 10 phones. Like on PCs, “x-ua-compatible” tags will no longer be supported to force older compatibility document modes. This ensures that sites on the mobile web will always get the latest, most interoperable engine.</p>
<p>Starting in Windows 10, Universal Apps powered by the new rendering engine will always use the latest update to the engine installed on the device. For application compatibility, Windows Phone 8.1 and earlier apps powered by WebBrowser or WebView controls will continue to be powered by the appropriate version of Trident.</p>
<h1>Try it out and share your feedback</h1>
<p>You can download the Windows 10 Technical Preview for phones today via the <a href="http://insider.windows.com/">Windows Insider program</a>, and share feedback directly with our engineering teams using the Windows Feedback app included in the preview. We also welcome feature requests and developer feedback via the <a href="https://wpdev.uservoice.com/forums/257854-internet-explorer-platform">Internet Explorer Platform Suggestion Box</a> on UserVoice, <a href="https://twitter.com/iedevchat">@IEDevChat</a> on Twitter, and in the comments below. We’re eager to hear your feedback and use it to make the mobile web a better experience for customers and developers alike!</p>
<p>— Kyle Pflug, Program Manager, Internet Explorer</p>
<div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10593086" width="1" height="1">IE AnnouncementsDevelopersPlatformFeedbackPlatform PreviewWindows PhoneFebruary 2015 security updates for Internet Explorerhttp://blogs.msdn.com/b/ie/archive/2015/02/10/february-2015-security-updates-for-internet-explorer.aspxTue, 10 Feb 2015 18:26:59 GMT91d46819-8472-40ad-a661-2c78acb4018c:10592462ieblog16http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10592462http://blogs.msdn.com/b/ie/archive/2015/02/10/february-2015-security-updates-for-internet-explorer.aspx#comments<h1>Microsoft Security Bulletin MS15-009</h1>
<p>This critical security update resolves one publicly reported and 40 privately reported vulnerabilities in Internet Explorer. For more information, please see <a href="https://technet.microsoft.com/en-us/library/security/MS15-009">Microsoft Security Bulletin MS15-009</a>.</p>
<h1>Security Update for Flash Player (3021953) </h1>
<p>This security update for Adobe Flash Player in Internet Explorer 10 and 11 on supported editions of Windows 8, Windows 8.1 and Windows Server 2012 and Windows Server 2012 R2 is also available. The details of the vulnerabilities are documented in Adobe security bulletin <a href="http://helpx.adobe.com/security/products/flash-player/apsb15-04.html">APSB15-04</a>. This update addresses the vulnerabilities in Adobe Flash Player by updating the affected Adobe Flash binaries contained within Internet Explorer 10 and Internet Explorer 11. For more information, see the <a href="https://technet.microsoft.com/en-us/library/security/2755801.aspx">Microsoft Security Advisory 2755801</a>.</p>
<h1>Disabling SSL 3.0 fallback and disabling SSL 3.0</h1>
<p>As communicated in our <a href="http://blogs.msdn.com/b/ie/archive/2014/12/09/december-2014-internet-explorer-security-updates-amp-disabling-ssl-3-0-fallback.aspx">December 2014 security updates blog</a>, today we’re releasing an update that prevents insecure fallback to SSL 3.0 in Internet Explorer 11 for Protected Mode sites. This setting is turned on by default. For more information, please see <a href="http://support.microsoft.com/kb/3038778">KB3038778</a>.</p>
<h2>When will Internet Explorer disable SSL 3.0? </h2>
<p>In the April 14, 2015 Internet Explorer update, we plan to disable SSL 3.0 by default in Internet Explorer 11. </p>
<h2>How can I test if my server will be impacted?</h2>
<p>Disabling SSL 3.0 in your browser will allow you to see which sites use a connection over SSL 3.0 and need to be updated. We encourage users to use the workarounds and easy, one-click Fix it provided in <a href="https://technet.microsoft.com/en-us/library/security/3009008.aspx">Security Advisory 3009008</a> to disable SSL 3.0 in your browser.</p>
<h1>Staying up-to-date</h1>
<p>Most customers have automatic updates enabled and will not need to take any action because these updates will be downloaded and installed automatically. Customers who have automatic updates disabled need to check for updates and install this update manually.</p>
<div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10592462" width="1" height="1">General IE InformationIE AnnouncementsSecurityIntroducing the Selection API specificationhttp://blogs.msdn.com/b/ie/archive/2015/02/04/introducing-the-selection-api-specification.aspxWed, 04 Feb 2015 18:00:00 GMT91d46819-8472-40ad-a661-2c78acb4018c:10591129ieblog20http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10591129http://blogs.msdn.com/b/ie/archive/2015/02/04/introducing-the-selection-api-specification.aspx#comments<p>Developers who build rich text editing experiences (such as email, blogs, wikis, etc.) are familiar with challenges supporting a diversity of browsers. Today&rsquo;s browsers support different functions and have a range of bugs to work around. There is an effort to improve this situation at the <a href="http://www.w3.org/">W3C</a>, where we are working on <a href="https://github.com/w3c/editing-explainer">the future of web editing</a>. Selection is fundamental to editing so we are prioritizing investments in more interoperable selection, paving the way for a better experience across the web.</p>
<p>To this end, we've been working with browsers and developers at the W3C to specify a Selection API, allowing developers to interact with the user&rsquo;s selection consistently and predictably. With help from developers and other browser vendors, <a href="http://www.w3.org/TR/selection-api/">the document</a> recently reached First Public Working Draft &ndash; the first step towards becoming a W3C Recommendation. This is a work-in-progress publication which we&rsquo;ll continue to evolve with the community via the W3C public process. It will allow developers to have a simpler, more powerful and interoperable way to design the selection experience of their site.</p>
<p>As we&rsquo;ve evolved this proposal, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=25831">we helped ensure</a> that it covered several currently used APIs so that it can be a reference for browsers and developers to use when building and using these APIs. In the latest preview builds of IE on Windows 10, several new APIs from the W3C spec are now available. These include containsNode(), extend(), setBaseAndExtent(), and collapse(). The definition for each of these methods can be found <a href="http://www.w3.org/TR/selection-api/#methods">in the spec</a>. We chose to add these APIs in IE because they are used across the web today, as well as being <a href="https://connect.microsoft.com/IE/feedback/details/737106/implement-missing-extend-method-of-selection">requested</a> in feedback from developers on Connect. We&rsquo;ve also received feedback requesting the modify() API and we are <a href="https://github.com/w3c/selection-api/issues/37">discussing</a> how to specify it at the W3C. We hope to provide it in IE and Project Spartan in a future release.</p>
<p>If you work with selection experiences on your site, try these out in the <a href="https://insider.windows.com/">Windows 10 Technical Preview</a> and let us know via <a href="https://twitter.com/iedevchat">Twitter</a> or <a href="https://connect.microsoft.com/ie">Connect</a> how we can continue to improve this area and make your life easier!</p>
<p>Ben Peters<br /> Program Manager, Internet Explorer Platform</p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10591129" width="1" height="1">Simplified Adaptive Video Streaming: Announcing support for HLS and DASH in Windows 10http://blogs.msdn.com/b/ie/archive/2015/01/29/simplified-adaptive-video-streaming-announcing-support-for-hls-and-dash-in-windows-10.aspxThu, 29 Jan 2015 19:14:00 GMT91d46819-8472-40ad-a661-2c78acb4018c:10589746ieblog20http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10589746http://blogs.msdn.com/b/ie/archive/2015/01/29/simplified-adaptive-video-streaming-announcing-support-for-hls-and-dash-in-windows-10.aspx#comments<p>Internet Explorer 11 in Windows 8.1 introduced support for <a href="http://blogs.msdn.com/b/ie/archive/2013/09/05/online-professional-quality-video-premium-media-experiences-without-plug-ins-in-internet-explorer-11.aspx">Professional Quality Video</a> using <a href="http://www.w3.org/TR/media-source/">Media Source Extensions</a> (MSE) and <a href="http://www.w3.org/TR/encrypted-media/">Encrypted Media Extensions</a> (EME). With Windows 10, Microsoft is announcing browser support for HTTP Live Streaming (HLS) and enhanced support for <a href="http://dashif.org/mpeg-dash/">MPEG DASH</a> in the new EdgeHTML rendering engine. These new features automate adaptive streaming, and make it very simple for Web sites to take advantage of professional quality video.</p>
<p style="margin-bottom: 0;">Taking advantage of these new features is as simple as setting a media manifest as the <a href="http://www.w3.org/html/wg/drafts/html/master/embedded-content.html#media-elements">HTMLMediaElement</a> source. New streaming features in Windows 10 do the rest. These include:</p>
<ul style="margin-top: 0;">
<li>Automated support for the HLS and DASH adaptive bitrate streaming protocols.</li>
<li>Support for MPEG-2 Transport Streams within Media Source Extensions.</li>
</ul>
<p>These new features reflect our strong belief that everyone benefits from common media delivery and encoding formats, and also reflect our ongoing commitment to simplify the development of plugin-free video delivery on the Web. We're excited to bring these improvements to PCs, tablets, and phones with Windows 10.</p>
<h1>Adaptive Bitrate Streaming</h1>
<p>Web-delivered video content has rapidly shifted away from downloading and playing a single video file to an adaptive approach designed to support a broad array of network conditions. Unlike playback of a single file, adaptive streaming allows Web developers to host multiple bitrate versions of a single video on their server, and then author an intelligent client that dynamically switches between these versions during playback. This allows the client to react to changing network and device conditions in order to provide the best possible experience for the user.</p>
<p style="margin-bottom: 0;">As you can imagine, building a client that handles adaptive streaming can be a lot of work, even starting with reference designs like the <a href="http://blogs.msdn.com/b/interoperability/archive/2013/06/20/ms-open-tech-contributes-to-open-source-adaptive-streaming-video-player.aspx">DASH.js</a> reference player. Client JavaScript which utilizes Media Source Extensions APIs often needs to do some heavy lifting, including:</p>
<ul style="margin-top: 0;">
<li>Parsing content manifests or file headers to identify available media files and bitrate information</li>
<li>Setting and managing one or more <a href="http://www.w3.org/TR/media-source/#sourcebuffer">SourceBuffer(s)</a> as the HTMLMediaElement source</li>
<li>Downloading and appending content segments to the SourceBuffer(s)</li>
<li>Handling media events such as seek and scrub</li>
<li>Tracking performance and adapting segment bitrates to fit current conditions</li>
</ul>
<p>Some Web sites will want to control these details of streaming, and for them Media Source Extension APIs are sufficient. They will be able to continue using them in Internet Explorer. But other sites will benefit from automating these details.</p>
<h1>HLS and DASH</h1>
<p>While a wide range of video streaming protocols have been introduced and adopted over the years, two stand out today: HTTP Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH). HLS is a video delivery protocol developed by Apple and required for long-form video delivery to iOS devices over a cellular network. This protocol has seen broad adoption over the past few years, and is supported natively in all Safari endpoints, as well as in Chrome on Android. DASH, on the other hand, is an ISO standard that has been developed through close collaboration by many companies and is beginning to see uptake throughout the video ecosystem. Each of these protocols offers unique advantages and disadvantages, and we are excited to bring native support for both to Windows 10.</p>
<p>It&rsquo;s normal for HLS implementations to accept a manifest (.m3u8 or .m3u) as a media source. An adaptive video element using HLS can be declared simply in HTML by setting the manifest as a source, like this:</p>
<script type="text/javascript" src="https://gist.github.com/kypflug/35f4613bf36ce818363c.js"></script>
<p>The concept is as simple as HTML5 media, and with properly prepared MPEG-TS content, provides a simple means for Web sites to implement adaptive streaming. We&rsquo;ve extended this concept to DASH as well, so Web sites with DASH ISO-BMFF content can set a DASH manifest (.mpd) as a source to implement adaptive streaming. MPEG DASH categorizes this as Type 1 streaming. It couldn&rsquo;t be simpler.</p>
<p style="margin-bottom: 0;">The details are important, so here are a few about how we&rsquo;ve implemented HLS and enhanced DASH:</p>
<ul style="margin-top: 0;">
<li><strong>HLS: </strong>Our native HLS player fully supports up to <a href="http://tools.ietf.org/html/draft-pantos-http-live-streaming-08">protocol version 4 (draft 8)</a>. HLS is designed to work with MPEG2-Transport Streams, and we&rsquo;re excited to include support for this from within our Media Source Extensions implementation as well (more on this below).</li>
<li><strong>DASH: </strong>Our native DASH player is designed to work with the Live Profile as defined in the ISO specification. Our initial release is focused on supporting single period video on demand (VOD) content, but we&rsquo;ll be working with the industry to introduce additional features based on feedback and marketplace trends. This profile is designed to work with ISO-BMFF MP4 content, which has been supported by our Media Source Extensions implementation since Windows 8.1.</li>
</ul>
<h1>Media Source Extensions</h1>
<p>These new HLS and DASH features in IE will dramatically simplify development of Web delivered video applications. They aren&rsquo;t the only solution, but a new simple option. We recognize that for some developers it is necessary to maintain a custom streaming stack. For them, we have added MPEG-2 Transport Stream support to MSE. With Windows 8.1 we introduced support for ISO-BMFF MP4 content in MSE, and with Windows 10, we will now support both ISO-BMFF and MPEG-TS. This gives Web developers the option of using our abstraction layer that automates adaptive bitrate streaming details or implementing a fully custom solution using either format.</p>
<h1>Detecting HLS and Enhanced DASH Support</h1>
<p style="margin-bottom: 0;">Web developers can detect HLS or our enhanced DASH manifest support using HTML5&rsquo;s canPlayType method:</p>
<ul style="margin-top: 0;">
<li>HLS: Use one of 4 optional MIME types for HLS m3u8 files (we recommend the first two):</li>
<ul>
<li>video.canPlayType('application/vnd.apple.mpegurl')</li>
<li>video.canPlayType('audio/mpegurl')</li>
<li>video.canPlayType('application/x-mpegurl')</li>
<li>video.canPlayType('audio/x-mpegURL')</li>
</ul>
<li>DASH: Use the MIME type for DASH mpd files:</li>
<ul>
<li>video.canPlayType('application/dash+xml')</li>
</ul>
</ul>
<h1>Trying This Yourself</h1>
<p>These features are part of the <a href="http://blogs.msdn.com/b/ie/archive/2014/11/11/living-on-the-edge-our-next-step-in-interoperability.aspx">new rendering engine</a> provided in Windows 10. HLS is in Technical Preview releases now, and DASH is currently still in development, but expected to be in preview releases very soon.</p>
<p style="margin-bottom: 0;">To try these features yourself, first enable the Experimental Web Platform using the &ldquo;about:flags&rdquo; settings. Disable plugins as well, since some sites rely on plugins first and fall back to HLS. With the Experimental Web enabled and plugins disabled, try any site that uses HLS or DASH for video delivery. Some examples are:</p>
<ul style="margin-top: 0;">
<li><a href="http://www.nasa.gov/multimedia/nasatv/">http://www.nasa.gov/multimedia/nasatv/</a></li>
<li><a href="http://vimeo.com/channels/staffpicks/117827379">http://vimeo.com/channels/staffpicks/117827379</a> (and other Vimeo content)</li>
<li><a href="http://www.twitch.tv/riotgames/mobile">http://www.twitch.tv/riotgames/mobile</a> (and other Twitch.tv mobile content)</li>
</ul>
<p>If you are interested in building a page of your own, simply set the source of a &lt;video&gt; tag to a conformant .m3u8 (HLS) or .mpd (DASH) and IE will recognize the content and begin playback.</p>
<p>As with any preview release, we still have work to do to polish the feature before broad release, but we&rsquo;d love your feedback on the experience as it stands today. In coming releases you&rsquo;ll see additional improvements to both our HLS and DASH parsers, as well as the streaming engine that controls the experience. We look forward to continuing our work with the broader industry to develop an interoperable and plugin-free future for Web delivered video. Follow along with our progress on <a href="https://status.modern.ie/webrtcobjectrtcapi">status.modern.IE</a> and let us know what you think on Twitter <a href="https://twitter.com/iedevchat">@IEDevChat</a>.</p>
<p>David Mebane<br /> Program Manager, Media</p>
<p>Jerry Smith<br /> Senior Program Manager, Internet Explorer</p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10589746" width="1" height="1">General IE InformationIE AnnouncementsHTML5Platform PreviewUpdates for the F12 developer tools in the Windows 10 January Technical Previewhttp://blogs.msdn.com/b/ie/archive/2015/01/27/updates-for-the-f12-developer-tools-in-the-windows-10-january-technical-preview.aspxTue, 27 Jan 2015 23:00:40 GMT91d46819-8472-40ad-a661-2c78acb4018c:10589146ieblog20http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10589146http://blogs.msdn.com/b/ie/archive/2015/01/27/updates-for-the-f12-developer-tools-in-the-windows-10-january-technical-preview.aspx#comments<p>Last week, we shared <a href="http://blogs.msdn.com/b/ie/archive/2015/01/22/project-spartan-and-the-windows-10-january-preview-build.aspx">the latest news</a> for the Windows 10 Web platform and introduced Project Spartan, the browser built for Windows 10. In addition to building Project Spartan, we have been hard at work updating the Internet Explorer developer tools in Windows 10. Today we want to show you the latest enhancements, which are now available in the latest Windows 10 Technical Preview build. Going forward, we will bring these same enhancements to Project Spartan. </p>
<h1>User interface</h1>
<p>Last month, we <a href="http://blogs.msdn.com/b/ie/archive/2014/12/09/announcing-the-redesigned-f12-developer-tools-interface.aspx">modified</a> the F12 tools navigation interface from a vertical layout to a text-based horizontal layout, removing the icons and replacing them with the tool’s names. This change is now part of the F12 developer tools for Windows 10 Technical Preview. </p>
<p>We have also added the capability to change the zoom level on the UI. Using the Ctrl + + and Ctrl + - keyboard shortcuts, you can now increase or decrease the zoom. </p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="Changing zoom level in F12 Developer Tools" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/6355.uftfdtiwjp_2D00_image1_5F00_760x270.png" /></p>
<h1>Debugger</h1>
<p>In response to your feedback, we added the ability to add XHR breakpoints. When enabled, the debugger will break whenever all the response data is available (readyState property equals 4). You can enable XHR breakpoints directly on the Breakpoints pane.</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="Setting XHR breakpoints on the Breakpoints pane" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/5775.uftfdtiwjp_2D00_image2_5F00_760x300.png" /></p>
<p>Once the XHR breakpoint is hit, you can use the call stack pane to investigate the resulting async call stack. In the example below, you can see the resulting async call stack of a simple XHR request and how it shows the frames in the context of the event handler. Selecting the initial frame takes you to the line of code who originated the call. </p>
<p style="text-align: center;"><img alt="Async call stack of a simple XHR request" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/0576.uftfdtiwjp_2D00_image3_5F00_760x248.png" /> </p>
<p>We have added CSS source maps support to the tools so that when using LESS or SASS to build our Web site or app, you can now view and navigate to the LESS or SASS source file directly, rather than the generated CSS file. </p>
<p>The tools will now display links to the original LESS or SASS files directly in the DOM Explorer tool. </p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="DOM Explorer tool linking to the original LESS or SASS files" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/2630.uftfdtiwjp_2D00_image4_5F00_760x521.png" /></p>
<p>This support is enabled through a reference to the sourcemap’s path in the CSS file generated from the LESS or SASS compiler. To round-off the set of improvements in the Debugger tool, we extended the “Pretty Printing” functionality to also support HTML &amp; CSS. To toggle the “Pretty Printing” formatting on the file, press the “Pretty Printing” button or use the Ctrl+Shift+P keyboard shortcut. </p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="&quot;Pretty Printing&quot; functionality now extended to also support HTML &amp; CSS." src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/8883.uftfdtiwjp_2D00_image5_5F00_715x638.png" /></p>
<h1>Console</h1>
<p>We have added a “View in DOM Explorer” feature to allow you to quickly move from a selected DOM element in the Console tool, to the actual node in the DOM Explorer. This is especially useful where the Console and DOM Explorer tools are used together as shown below. </p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="&quot;View in DOM Explorer&quot; feature." src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/4375.uftfdtiwjp_2D00_image6_5F00_760x296.png" /></p>
<p>One common feature request we received was for the ability to display network errors directly in the Console. As you can see below, we now log all the 4xx &amp; 5xx type network errors directly in the Console tool. Like other Console errors, you'll see the error type and a message explaining the error. If you prefer not to see these, use the "error filter" to hide them. </p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="Console now logs all 4xx &amp; 5xx type network errors." src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/4452.uftfdtiwjp_2D00_image7_5F00_760x104.png" /></p>
<h2>UI Responsiveness and Memory tools</h2>
<p>In this preview, you will notice that the Profiler tool is no longer available. In our observations, we typically saw developers using the Profiler and the UI Responsiveness tools together, and having to move from one tool to the next. In response, we decided to make this workflow smoother by providing a more cohesive interface that combines both tools into one. Now the Profiler becomes the “JavaScript call stacks” tab inside the UI Responsiveness tool. </p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="Profiler is now &quot;JavaScript call stacks&quot; tab inside the &quot;UI Responsiveness&quot; tool." src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/5857.uftfdtiwjp_2D00_image8_5F00_760x336.png" /></p>
<p>We see the UI Responsiveness tool as the one stop for all your performance related needs. We’ll be covering the tool more deeply in the future but all the same great information that you have come to expect out of the previous UI Responsiveness tool can be found inside the Timeline tab and the “JavaScript call stacks” tab (image below) provides functionality similar to the old JavaScript profiler.</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="The same great information that you have come to expect out of the previous UI Responsiveness tool can be found inside the Timeline tab and the “JavaScript call stacks” tab (image below) provides functionality similar to the old JavaScript profiler." src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/7002.uftfdtiwjp_2D00_image9_5F00_760x382.png" /></p>
<p>Just as we did in the console, the UI Responsiveness and Memory tools also take advantage of the DOM Explorer integration. When you select an event that is logically associated with a DOM element (e.g. a DOM event handler, layout or style calculation), the associated element will be highlighted on the page, which makes it much easier to identify what occurred (e.g. which div element triggered a mouseover event).</p>
<p>If you want to view more details about the associated element such as the applied CSS rules, you can right-click it and select “Show in DOM Explorer” in order to navigate to the element in the DOM Explorer tool.</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="Example of navigation from the UI Responsiveness tool to an element in the DOM Explorer tool." src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/8078.uftfdtiwjp_2D00_image10_5F00_760x427.png" /></p>
<p>Additionally, CSS source maps are also supported in the UI Responsiveness and Memory tools too, so that you can link to and view the file in the debugger, as shown here.</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="Example of CSS source maps in the UI Responsiveness tool." src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/3276.uftfdtiwjp_2D00_image11_5F00_760x402.png" /></p>
<h1>New Network Inspector</h1>
<p>The preview comes with an entirely refreshed and updated Network tool. This tool not only has all the previous features in a cleaner, more easily understood way, but we’ve included many requests from developers, such as auto-start capturing and content type filtering.</p>
<p style="text-align: center;"><img alt="Screencap of refreshed and updated Network tool." src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/5758.uftfdtiwjp_2D00_image12_5F00_760x261.png" /></p>
<p>Given its preview state, there is still more to come from the tool. Some examples are HAR export, timing information, Response payload “Pretty Printing” as well as reliability and overall refinements. We plan to talk more about the network tool soon, but in the meantime, we encourage you to take this preview build for a spin and provide as much feedback as you can! </p>
<p>Remember we value your feedback and we want to encourage you to continue providing suggestions, bugs, or requesting experiences you believe can make your daily development activities easier and more impactful. Let us know your thoughts about all the features announce today by leaving a comment below, reaching out on <a href="https://twitter.com/iedevtools/">Twitter</a>, or visiting our <a href="https://wpdev.uservoice.com/forums/257854-internet-explorer-platform/category/84475-f12-developer-tools">User Voice</a> site to voice your opinion on what we should work on next!</p>
<p>— Ruben Rios, Program Manager, Internet Explorer</p>
<div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10589146" width="1" height="1">General IE InformationInside IEPlatform PreviewPerformanceProject Spartan and the Windows 10 January Preview Buildhttp://blogs.msdn.com/b/ie/archive/2015/01/22/project-spartan-and-the-windows-10-january-preview-build.aspxThu, 22 Jan 2015 17:08:00 GMT91d46819-8472-40ad-a661-2c78acb4018c:10588107ieblog139http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10588107http://blogs.msdn.com/b/ie/archive/2015/01/22/project-spartan-and-the-windows-10-january-preview-build.aspx#comments<p>Yesterday, we announced that Windows 10 will ship with a brand new browser, codenamed &ldquo;Project Spartan.&rdquo; Designed for Windows 10, Spartan provides a more interoperable, reliable, and discoverable experience with advanced features including the ability to annotate on web pages, a distraction-free reading experience, and integration of Cortana for finding and doing things online faster.</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/2117.psatwjpb_2D00_image1.PNG" alt="Project Spartan on Windows 10 desktop" /></p>
<p>Spartan is a single browser designed to work great across the entire Windows 10 device family - from keyboard and mouse on the Windows 10 desktop to touch, gestures, voice, controllers and sensors.</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/0435.psatwjpb_2D00_image2.png" alt="Project Spartan on Windows 10 phone with dark theme" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/8865.psatwjpb_2D00_image5.png" alt="Project Spartan on Windows 10 phone with light theme" /></p>
<p>Powered by a <a href="http://blogs.msdn.com/b/ie/archive/2014/11/11/living-on-the-edge-our-next-step-in-interoperability.aspx">new rendering engine</a>, Spartan is designed for interoperability with the modern web. We&rsquo;ve deliberately moved away from the versioned document modes historically used in Internet Explorer, and now use the same markup as other modern browsers. Spartan&rsquo;s new rendering engine is designed to work with the way the web is written today.</p>
<p>Like Windows 10 itself Spartan will remain up-to-date: as a service, both providing <a href="https://status.modern.ie/">new platform capabilities</a>, security and performance improvements, and ensuring web developers a consistent platform across Windows 10 devices. Spartan and the new rendering engine are truly evergreen.</p>
<p>Spartan provides compatibility with the millions of existing enterprise web sites designed for Internet Explorer. To achieve this, Spartan loads the IE11 engine for legacy enterprise web sites when needed, while using the new rendering engine for modern web sites. This approach provides both a strong compatibility guarantee for legacy enterprise web sites and a forward looking interoperable web standards promise.</p>
<p>We recognize some enterprises have legacy web sites that use older technologies designed only for Internet Explorer, such as custom ActiveX controls and Browser Helper Objects. For these users, Internet Explorer will also be available on Windows 10. Internet Explorer will use the same dual rendering engines as Spartan, ensuring web developers can consistently target the latest web standards.</p>
<h2><strong><img src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/1541.project_2D00_spartan_2D00_diagram.gif" alt="Dual rendering engine architecture animation" /></strong></h2>
<h2>What does this mean to web developers?</h2>
<p style="margin-bottom: 0;">If you are building a public consumer-facing web site here&rsquo;s what you need to know:</p>
<ol style="margin-top: 0;">
<li>Our new rendering engine will be the default engine for Windows 10, Spartan, and Internet Explorer. This engine has interoperability at its core and consumes the same markup you send other modern browsers. Our standards support and roadmap can be found at <a href="http://status.modern.ie">http://status.modern.ie</a>.</li>
<li>Public Internet web sites will be rendered using the new engine and modern standards, and legacy Internet Explorer behaviors including <a href="http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx">document modes</a> are not supported in the new engine. If your web sites depends on legacy Internet Explorer behaviors we encourage you to update to modern standards.</li>
<li>Our goal is interoperability with the modern web and we need your help! You can test the new engine via the <a href="https://insider.windows.com/">Windows Insider Program</a> or using <a href="http://remote.modern.ie">http://remote.modern.ie</a>. Please let us know (via <a href="https://connect.microsoft.com/ie">Connect</a> or <a href="https://twitter.com/iedevchat">Twitter</a>) when you find interoperability problems so we can work with the W3C and other browser manufacturers to ensure great interoperability.</li>
</ol>
<h2>New features and fixes in the January Insider Update</h2>
<p>On Friday, we&rsquo;re also rolling out a <a href="https://insider.windows.com/">new preview build</a> to Windows 10 Insiders. This new preview will also be available on <a href="https://remote.modern.ie/">RemoteIE</a> soon. This build doesn&rsquo;t have Project Spartan yet, but does have lots of updates to the new web rendering engine that Spartan will use. We started testing our new rendering engine by rolling it out to a portion of Insiders using the Windows Technical Preview <a href="http://blogs.msdn.com/b/ie/archive/2014/11/11/living-on-the-edge-our-next-step-in-interoperability.aspx">in November</a>.</p>
<p>Since that time, we&rsquo;ve received over 12,000 feedback reports through the smiley face icon alone. This new build has over 2000 changes to the new platform, largely influenced by that feedback. In addition to many fixes, there are also several new platform features we are thrilled to be releasing in the updated preview:</p>
<ul>
<li><a href="https://status.modern.ie/httpstricttransportsecurityhsts"><strong>HTTP Strict Transport Security (HSTS)</strong></a><strong>&mdash;</strong>an HTTP header<strong> </strong>to inform the browser to always request a given domain over SSL, reducing MITM attack surface area.</li>
<li><a href="http://status.modern.ie/httplivestreaminghls"><strong>HTTP Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH)</strong></a> &ndash;expands our plugin-free adaptive video streaming to support the popular HLS and DASH protocols.</li>
<li><a href="https://status.modern.ie/videotracks"><strong>Video Tracks</strong></a><strong> &mdash;</strong> adds the ability to get information about multiple video tracks, and switch between them using the VideoTrack.selected attributes.</li>
<li><a href="https://status.modern.ie/domlevel3xpath"><strong>DOM L3 XPath</strong></a><strong> &ndash; </strong>initial support for accessing the DOM tree using the XPath syntax. Expanded support will come in a future release.</li>
</ul>
<p>Additionally, you&rsquo;ll find updated F12 developer tools that include the updated UI we shipped to IE11 users last month as well as several new features and improvements. Here&rsquo;s a few of our favorites:</p>
<ul>
<li><strong>New and Improved Network Tool</strong>&mdash;capture and debug network traffic with new UX and capabilities, such as auto-start, a content type filter, and error highlighting.</li>
<li><strong>HTML &amp; CSS Pretty Printing&mdash;</strong>just as you&rsquo;ve been able to nicely reformat minified JavaScript in the debugger, you&rsquo;ll now be able to do this for HTML and CSS.</li>
<li><strong>Async Callstacks for Events and Timers&mdash;</strong>quickly view the &ldquo;async callstack&rdquo; to connect the dots between event dispatch and the original addEventListener call or between setting a timer and the timer being fired.</li>
<li><strong>Sourcemaps for Styles and in the Memory Profiler&mdash;</strong>jump to your original sources, such as TypeScript or SASS, directly from the Styles pane or Memory Profiler tools.</li>
<li><strong>Find Reference and Go To Definition&mdash;</strong>jump directly to a function call&rsquo;s definition or find the references to a given variable.</li>
</ul>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/7041.psatwjpb_2D00_image4.png" alt="New F12 network tools" /></p>
<p>With these improvements, we&rsquo;re increasing the number of Insiders that get the new engine as we work towards this as the default for all users. If you&rsquo;re curious and want to opt-in now, remember to navigate to <em>about:flags</em> and set &ldquo;Enable Experimental Web Platform Features&rdquo; to Enabled.</p>
<p>We&rsquo;re excited to share our continued progress with you and to introduce Project Spartan to the Microsoft family. Please continue to share your feedback via <a href="https://twitter.com/iedevchat">Twitter</a>, <a href="http://uservoice.modern.ie">UserVoice</a> (feature requests) and <a href="https://connect.microsoft.com/ie">Connect</a> (bug reports) and help shape our next browser. We&rsquo;ll also be holding our next Twitter <a href="https://twitter.com/search?q=%23askie&amp;src=typd">#AskIE</a> session on Tuesday, January 27th from 10AM-12PM PST so you can ask questions to the team. See you there!</p>
<p>&mdash; Jason Weber, Group Program Manager, Internet Explorer</p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10588107" width="1" height="1">DevelopersCompatibilityPlatformHTML5User ExperiencesWindows 8.1Windows PhoneIE test VMs on modern.IE get a refreshhttp://blogs.msdn.com/b/ie/archive/2015/01/06/ie-test-vms-on-modern-ie-get-a-refresh.aspxTue, 06 Jan 2015 17:00:00 GMT91d46819-8472-40ad-a661-2c78acb4018c:10582454ieblog20http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10582454http://blogs.msdn.com/b/ie/archive/2015/01/06/ie-test-vms-on-modern-ie-get-a-refresh.aspx#comments<p><span style="font-size: 12px;">To help web developers test versions of Internet Explorer more easily, we&rsquo;ve had a suite of </span><a style="font-size: 12px;" href="https://www.modern.ie/virtualization-tools">virtual machines</a><span style="font-size: 12px;"> available on </span><a style="font-size: 12px;" href="http://modern.ie/">modern.IE</a><span style="font-size: 12px;"> since January of 2013. Today we released another refresh of the VMs to incorporate feedback and to update the base Windows versions.</span></p>
<p>The changes we&rsquo;ve made with build 20141027&nbsp;include:</p>
<ul>
<li>We now use IE blocker toolkit to keep the version of IE for that image fixed and not auto-updated</li>
<li>Set Windows Update on and to auto update</li>
<li>Applied all applicable Windows Updates to the images up to November 2014</li>
<li>Changed the archive technology from RAR to ZIP based on community feedback</li>
<li>Added a single large ZIP file archive as a download option in addition to multi-part files as requested by the community</li>
</ul>
<p>Please update any scripts or automation hooks you may have built with our URLs to point to the most recent build and note the change of archive format to ZIP. We&rsquo;ve also updated the readme and instructions on the site to help with the extraction process.</p>
<p>These updates apply to all VMs accessible via the sites download page for Windows, Mac and Linux platforms and across Hyper-V, VirtualBox, VMWare Player and Parallels Desktop.</p>
<p>As always, we love to hear from you so connect with us via twitter <a href="https://twitter.com/IEDevChat/">@IEDevChat</a> for feedback and connecting with the web platform team here at Microsoft.</p>
<p>&mdash; Anton Molleda (<a href="https://twitter.com/molant/">@molant</a>), Program Manager, Internet Explorer</p>
<p><em>Update 1/8/15 - Corrected build number.</em></p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10582454" width="1" height="1">General IE InformationTips and TricksDevelopersPlatformTestingClasses in JavaScript: Exploring the Implementation in Chakrahttp://blogs.msdn.com/b/ie/archive/2014/12/15/classes-in-javascript-exploring-the-implementation-in-chakra.aspxMon, 15 Dec 2014 21:37:00 GMT91d46819-8472-40ad-a661-2c78acb4018c:10580896ieblog26http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10580896http://blogs.msdn.com/b/ie/archive/2014/12/15/classes-in-javascript-exploring-the-implementation-in-chakra.aspx#comments<p>The <a title="Windows 10 Technical Preview" href="http://preview.windows.com/">Windows 10 Technical Preview</a> November build and <a href="http://remote.modern.ie/">RemoteIE</a> includes <a href="http://blogs.msdn.com/b/ie/archive/2014/11/11/living-on-the-edge-our-next-step-in-interoperability.aspx">many changes and additions</a> to Internet Explorer from the next edition of the JavaScript standard, <a href="http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts">ECMA-262 6th Edition (ES6)</a>. ECMAScript 6 will be a substantial advance for JavaScript language, and currently the technical preview is the <a href="http://kangax.github.io/compat-table/es6/#ie11tp">most compliant implementation</a>. This post explores where ECMAScript is going and gives a peek into the implementation of a new language feature:&nbsp;<a href="http://wiki.ecmascript.org/doku.php?id=strawman:maximally_minimal_classes">ES6 Classes</a>.</p>
<h1>ECMAScript Evolution to Meet the Advancing Web</h1>
<p>The web has evolved substantially in the 5 years since ES5 was ratified. Apps today are becoming more complex and demanding. Microsoft, working with the ECMA working group - TC39, has been hard at work on the next substantial update to the language. The 6th edition of ECMA-262 (ES6) is perhaps the biggest update to the language in its history.</p>
<p>The order we implement ECMAScript proposals depends on a few principles including whether it is necessary to ensure interoperability with other engines, enables new types of apps, provides developers with compelling value beyond saving keystrokes, has a stable specification has multiple reference implementations, and has a <a href="https://github.com/tc39/test262">comprehensive test suite (called Test262)</a> to ensure interoperability. Overall we do our best to make data driven decisions and deliver features that will give the most value to developers. Let us know what you find most valuable on <a href="http://uservoice.modern.ie/">User Voice</a> or <a href="http://connect.microsoft.com/ie">Connect</a>!</p>
<h1>ES6 Classes</h1>
<p>Many features in ES6 aim to reduce time writing code and increase expressiveness of common patterns in JavaScript. Because they do not add new fundamental capabilities to the runtime and essentially simplify the boilerplate code, these kinds of features are collectively referred to as &lsquo;syntactic sugar&rsquo;.</p>
<p>ES6 Classes in JavaScript is one such feature and remains <a href="https://status.modern.ie/classeses6?sort=votes">one of the most commonly requested</a>&nbsp;features on <a href="https://status.modern.ie/">status.modern.ie</a>.</p>
<p>To those of you familiar with object-oriented languages, classes should be a familiar concept. However classes in JavaScript are a little different from other languages. With ES5, class functionality is commonly implemented using functions, prototypes, and instances. For example:</p>
<script type="text/javascript" src="https://gist.github.com/tcare/53d3dd5a8a2e57361d10.js"></script>
<p>By contrast, the ES6 version below is much more readable and concise. For programmers from a classical inheritance background, the functionality is easier to understand without in depth knowledge of how JavaScript's prototypal inheritance model works.</p>
<script type="text/javascript" src="https://gist.github.com/tcare/7b3da77641a7deff19c5.js"></script>
<p>Now that we&rsquo;ve seen a simple example of what the syntax looks like, let&rsquo;s have a look at the other syntactic features of ES6 classes.</p>
<script type="text/javascript" src="https://gist.github.com/tcare/81452323f06a263ea1e9.js"></script>
<p>The example includes a basic class construct with instance, static, getter and setter methods. A class constructor is a special method which can be customized or omitted. Omitting a constructor generates the default constructor which merely forwards arguments to its <span style="font-family: 'courier new', courier;">super</span> as shown above. Classes provide inheritance through the <span style="font-family: 'courier new', courier;">extends</span> keyword. A subclass has the <span style="font-family: 'courier new', courier;">super</span> keyword, which allows use of the superclass properties and methods.</p>
<h1>Implementation challenges</h1>
<p>In a previous post, we explored the architecture of the Chakra engine in detail (see &lsquo;<a href="http://blogs.msdn.com/b/ie/archive/2014/10/09/announcing-key-advances-to-javascript-performance-in-windows-10-technical-preview.aspx"><strong>Announcing key advances to JavaScript performance in Windows 10 Technical Preview</strong></a><strong>&rsquo;</strong>) using the diagram below. The parts requiring the most modification to support classes are highlighted in green.</p>
<p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71/4405.classes-diagram.png"><img style="max-width: 95%; border: 1px solid #999999; box-shadow: rgba(0, 0, 0, 0.247059) 3px 3px 8px 0px; display: block; margin-left: auto; margin-right: auto;" src="http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71/4405.classes-diagram.png" alt="Parts of the Chakra engine requiring the most modification to support ES6 Classes" /></a></p>
<p>When implementing new language features, syntactic sugar features often map directly to older language constructs, as shown in the first code example. Classes are no exception. Underneath, classes use the same function, prototype, and instance constructs that have always been available, and Chakra uses these constructs to implement classes.</p>
<p>Not all of the sugar maps to pre-existing language features, however. The <span style="font-family: 'courier new', courier;">super</span> keyword is one example. <span style="font-family: 'courier new', courier;">super</span> ended up taking longer than the rest of classes due to its complex usage scenarios. These uses are not always apparent to the end user, but part of the fun of being a compiler developer is to come up with the corner cases that break things. For example, the use of <span style="font-family: 'courier new', courier;">eval()</span> in a class makes the implementation more complex:</p>
<script type="text/javascript" src="https://gist.github.com/tcare/5c491cf61a1579b9ba3e.js"></script>
<p>In the example above, both <span style="font-family: 'courier new', courier;">Child</span> methods require a reference to <span style="font-family: 'courier new', courier;">Parent</span> to allow execution of <span style="font-family: 'courier new', courier;">super()</span>. In the case of <span style="font-family: 'courier new', courier;">method()</span>, the parser is able to detect the use of <span style="font-family: 'courier new', courier;">super()</span> at compile time. Chakra marks <span style="font-family: 'courier new', courier;">method()</span> as having a <span style="font-family: 'courier new', courier;">super</span> keyword reference during parsing, so when it reaches bytecode generation it knows to generate special bytecode to make a reference to <span style="font-family: 'courier new', courier;">Parent</span> available. At runtime, this reference becomes available as Chakra consumes the bytecode at the beginning of the function, performing checks on whether it is valid to use <span style="font-family: 'courier new', courier;">super</span> at that location and point in time.</p>
<p>In the case of <span style="font-family: 'courier new', courier;">methodEval()</span>, there is a call to <span style="font-family: 'courier new', courier;">eval()</span> which drastically changes the implementation. Chakra knows this is a class method, but until it executes the <span style="font-family: 'courier new', courier;">eval()</span>, it has no idea if there is a <span style="font-family: 'courier new', courier;">super</span> reference, or if there will ever be a <span style="font-family: 'courier new', courier;">super</span> reference. This poses a design problem that we felt had two options:</p>
<ol>
<li>Should Chakra maintain a reference to Parent that is available in case it is needed by <span style="font-family: 'courier new', courier;">super</span> somewhere inside the <span style="font-family: 'courier new', courier;">eval()</span>, or</li>
<li>Should Chakra wait until it is somewhere in the <span style="font-family: 'courier new', courier;">eval()</span><em> </em>to fetch the reference?</li>
</ol>
<p>The first option, pre-emptively loading <span style="font-family: 'courier new', courier;">super</span>, adds unnecessary bytecode to the method which could adversely affect performance.</p>
<p>The second option, to fetch the <span style="font-family: 'courier new', courier;">Parent</span> reference when Chakra needs it, sounds simple at first. However it can&rsquo;t predict the complexity of the <span style="font-family: 'courier new', courier;">eval()</span>. For example, Chakra could be several levels deep in function calls in the <span style="font-family: 'courier new', courier;">eval()</span>, or perhaps be in several levels of the <span style="font-family: 'courier new', courier;">eval()</span><em> </em>itself. Finding the <span style="font-family: 'courier new', courier;">Parent</span> reference at this point could be more costly than if it had been stashed it away previously.</p>
<p>There isn&rsquo;t necessarily a correct answer here, and the answer may change as we learn more about how programmers use <span style="font-family: 'courier new', courier;">super</span>. In the current technical preview, we implemented super by pre-emptively loading the reference in situations where the trade-off in performance is justifiable. For example, using super in a subclass method is more likely to happen than in a top level class method (regardless of whether the use is valid or invalid.)</p>
<p>In the time since the release of the technical preview, the ES6 specification has been updated to allow <span style="font-family: 'courier new', courier;">super</span> in more places. Being on the bleeding edge of implementation as standards evolve often means revisiting implementations, and the ES6 specification is no different.</p>
<p>Classes are a core part of the ES6 language feature set. We anticipate they will help new JavaScript programmers learn the language more rapidly when they have experience with other object oriented languages. We also anticipate that many seasoned JavaScript programmers will welcome the terseness.</p>
<h1>Moving forward with ECMAScript</h1>
<p>While ECMAScript 6 makes great progress, both the runtime capabilities and expressivity will continue to evolve. ECMAScript 7 should arrive more rapidly than any previous ECMAScript version because it and future editions of the standard will be moving to a more regular &ldquo;train model&rdquo;. In this model, proposals are built in isolation from one another and move through stages of ratification as they mature. Eventually, a proposal may make it on to a &ldquo;train&rdquo;, where the proposal is integrated with the other proposals on the train to form the final document that will be ratified. This model is useful for language standards because we get cohesive, complete specifications developed in an agile fashion that we don&rsquo;t have to wait years for. It also gives some flexibility to make sure we get a design right. It&rsquo;s a lot easier to take a bit more time when it means shipping in the specification next year rather than five years from now. For example, when the committee got substantive negative feedback on the subclassing built-ins machinery, it was relatively easy to pull it out of ES6 and get it ready for making the ES7 train.<em> (You may also be interested to know that we were analyzing a </em><a href="https://status.modern.ie/subclassinges6"><em>subclassable built-ins</em></a><em> implementation to complement classes, but as a result of the change we could not include it in this release.)</em></p>
<p>This model should also be much friendlier to JavaScript developers because new features come to the language yearly rather than every half decade. Also, browsers can pick up smaller chunks and begin implementing them sooner in the process, which should help get interoperable implementations more rapidly. The end result of this new process should be substantially increased pace of improvements to JavaScript.</p>
<h1>Summary</h1>
<p>Classes are available today in the current <a title="Windows 10 Technical Preview" href="http://preview.windows.com/">Windows 10 Technical Preview</a>, and you can also play with them using <a href="https://remote.modern.ie/">remote.modern.ie</a>. We can&rsquo;t wait to hear about how you will be using the feature in your ES6 code. We&rsquo;re planning to deliver more articles in the future about other ES6 features. In the meantime, feel free to join the comment discussion, reach out on Twitter <a href="http://twitter.com/iedevchat">@IEDevChat</a>, or on <a href="http://connect.microsoft.com/ie">Connect</a>.</p>
<p><strong>Tom Care (<a title="@tcare_" href="https://twitter.com/tcare_">@tcare_</a>), Brian Terlson (<a href="https://twitter.com/bterlson">@bterlson</a>)&nbsp;&amp; Suwei Chen</strong><strong><br /></strong></p>
<p><strong>Chakra Team</strong></p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10580896" width="1" height="1">Announcing the redesigned F12 developer tools interfacehttp://blogs.msdn.com/b/ie/archive/2014/12/09/announcing-the-redesigned-f12-developer-tools-interface.aspxTue, 09 Dec 2014 20:03:48 GMT91d46819-8472-40ad-a661-2c78acb4018c:10579490ieblog51http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10579490http://blogs.msdn.com/b/ie/archive/2014/12/09/announcing-the-redesigned-f12-developer-tools-interface.aspx#comments<p>With two major updates over the <a href="http://blogs.msdn.com/b/ie/archive/2014/04/14/what-s-new-in-f12-with-windows-8-1-update.aspx">spring</a> and <a href="http://blogs.msdn.com/b/ie/archive/2014/08/14/announcing-new-f12-dev-tools-features-in-august-update.aspx">summer</a>, we have continued to improve the developer experiences available in IE's F12 developer tools and today we are excited to provide details around our latest update.</p>
<p>This update addresses concerns that many users had with the vertical navigation model we introduced in IE11, and provides a more traditional horizontal model.</p>
<h2>Changes to the F12 user interface</h2>
<h3>Overall design<br/></h3>
<p>When we introduced the vertical navigation model, our goal was to optimize for vertical real estate. Your feedback validated that we successfully achieved that goal. However, it also became clear that using a vertical navigation model with icons identifying complex tools, lead to hesitation and confusion for novice and expert users alike. </p>
<p>In order to address those issues, we implemented a more traditional navigation interface that sits horizontally at the top of the tools. As part of this change, the tool icons were removed and replaced with the tool’s name. We retained the tool notification badges—like the debugger pause icon or the console error count—and removed tool names from their respective toolbars to make more space available to the tools themselves.</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="New horizontal navigation in F12 tools" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/0576.dockedFull.png" /></p>
<h3>Overflow experience<br/></h3>
<p>When the tools window isn't wide enough to fit all of the tool names, a drop-down menu provides access to the tool names that didn't fit and provides the same notification badges available in the full-width version of the tools.</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="New horizontal navigation in F12 tools with overflow" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/6840.overflow.png" /></p>
<h3>Undocked experience</h3>
<p>When the tools are undocked, they retain the same experience and functionality of the current tools. In this design, the window “grab area” is in document title region along the top and the window resize area sits along the sides of the tools.</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="New horizontal navigation in F12 tools" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/3465.undockedFull.png" /></p>
<p>We are grateful for <a href="https://twitter.com/IEDevChat/status/530113017883541504">all the feedback</a> you have provided to date, and we want to encourage you to continue to provide suggestions as you find issues, bugs, or experiences you believe could be improved in order to make your daily development activities easier and more impactful.</p>
<p>Try this new change and let us know your thoughts. Leave a comment below, reach out on <a href="https://twitter.com/iedevtools/">Twitter</a>, or visit our new <a href="https://wpdev.uservoice.com/forums/257854-internet-explorer-platform/category/84475-f12-developer-tools">User Voice</a> site to share your feedback.</p>
<p>— Ruben Rios, Program Manager, Internet Explorer</p>
<div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10579490" width="1" height="1">DevelopersPlatformDecember 2014 Internet Explorer security updates & disabling SSL 3.0 fallbackhttp://blogs.msdn.com/b/ie/archive/2014/12/09/december-2014-internet-explorer-security-updates-amp-disabling-ssl-3-0-fallback.aspxTue, 09 Dec 2014 20:01:35 GMT91d46819-8472-40ad-a661-2c78acb4018c:10579489ieblog16http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10579489http://blogs.msdn.com/b/ie/archive/2014/12/09/december-2014-internet-explorer-security-updates-amp-disabling-ssl-3-0-fallback.aspx#comments<h1>Disabling SSL 3.0 fallback</h1>
<p>We previously published <a href="https://technet.microsoft.com/library/security/3009008.aspx">Security Advisory 3009008</a> advising that Microsoft will disable SSL 3.0 by default in Internet Explorer and across all Microsoft online services over the coming months. To continue to help protect customers, we are taking the interim step to provide the option to disable SSL 3.0 fallback in Internet Explorer 11 for Protected Mode sites, which is the default for Internet sites and Restricted sites. This change is currently off by default, and we plan to turn it on by default in Internet Explorer 11 on February 10, 2015.</p>
<h2>What is SSL 3.0 fallback?</h2>
<p>The POODLE SSL 3.0 vulnerability exposed a weakness not only in the SSL 3.0 protocol, but in the way that browsers negotiate an HTTPS connection with web servers. By interfering with the connection between the target client and server, a man-in-the-middle can force a downgrade from TLS 1.0 or newer, more secure protocols, to the SSL 3.0 protocol. </p>
<p>At a high level, commonly when a Web browser connects to an HTTPS Web site, it will first try to do so by using the highest-available encryption protocol. If this connection fails during the handshake, the browser will fall back and retry the connection with a lower encryption protocol, eventually falling to SSL 3.0. The vast majority of the time, a fallback from TLS 1.0 to SSL 3.0 is the result of an innocent error, but this is indistinguishable from a man-in-the-middle attack. </p>
<h2>When will Internet Explorer block SSL 3.0 fallback?</h2>
<p>The December 2014 Internet Explorer Cumulative Update (<a href="http://support.microsoft.com/kb/3008923">KB3008923</a>), released today, allows users to opt-in and block SSL 3.0 fallback in Internet Explorer 11. Enterprise customers are able to configure this behavior via Group Policy, and this behavior will also be configurable via registry or using an easy, one-click Fix it solution. Details on how to configure this behavior can be found in <a href="http://support.microsoft.com/kb/3013210">KB3013210</a>.</p>
<p>From February 10, 2015, Internet Explorer 11 will prevent insecure fallback to SSL 3.0 for Protected Mode sites.</p>
<h2>How can I test if my server will be impacted?</h2>
<p>Please review your web server settings and technical documentation, as many servers even if they support TLS 1.0, fallback to SSL 3.0. There are a number of third-party tests available that may help.</p>
<p>Disabling SSL 3.0 in your browser will allow you to see which sites do not support TLS and need to be updated. We encourage users to use the workarounds and easy, one-click Fix it provided in <a href="https://technet.microsoft.com/en-us/library/security/3009008.aspx">Security Advisory 3009008</a> to disable SSL 3.0 in your browser.</p>
<h1>Security Updates</h1>
<ul>
<li><b>Microsoft Security Bulletin MS14-080</b> - This critical security update resolves fourteen privately reported vulnerabilities in Internet Explorer. For more information see the <a href="http://technet.microsoft.com/en-us/security/bulletin/MS14-080">full bulletin</a>.</li>
<li><b>Security Update for Flash Player (3008925)</b> - This security update for Adobe Flash Player in Internet Explorer 10 and 11 on supported editions of Windows 8, Windows 8.1 and Windows Server 2012 and Windows Server 2012 R2 is also available. The details of the vulnerabilities are documented in Adobe security bulletin <a href="http://helpx.adobe.com/security/products/flash-player/apsb14-27.html">APSB14-27</a>. This update addresses the vulnerabilities in Adobe Flash Player by updating the affected Adobe Flash binaries contained within Internet Explorer 10 and Internet Explorer 11. For more information, see the <a href="http://technet.microsoft.com/en-us/security/advisory/3008925">advisory</a>.</li>
</ul>
<h1>Staying up-to-date</h1>
<p>Most customers have automatic updating enabled and will not need to take any action because these updates will be downloaded and installed automatically. Customers who have automatic updating disabled need to check for updates and install this update manually.</p>
&mdash; Alec Oot, Program Manager, Internet Explorer
<div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10579489" width="1" height="1">SecurityPlatformStatus roadmap update: srcset, <main> element, and date inputs in developmenthttp://blogs.msdn.com/b/ie/archive/2014/12/08/status-roadmap-update-srcset-lt-main-gt-element-and-date-inputs-in-development.aspxMon, 08 Dec 2014 19:29:42 GMT91d46819-8472-40ad-a661-2c78acb4018c:10579160ieblog15http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10579160http://blogs.msdn.com/b/ie/archive/2014/12/08/status-roadmap-update-srcset-lt-main-gt-element-and-date-inputs-in-development.aspx#comments<p>Today we’re updating our platform roadmap with a few more features that we’ve started working on:</p>
<h1>Responsive Images: image srcset</h1>
<p>To take advantage of high resolution screens, it’s desirable to provide higher resolution image resources. While today’s devices come with all sorts of different resolution screens, it’s important to be able to provide the right resource for the device’s capabilities for optimal experience and performance. We have therefore begun work on implementing the <a href="https://status.modern.ie/imgsrcset">srcset attribute for image elements</a>, enabling alternate image resources based on the device’s DPI scaling factor:</p>
<script src="https://gist.github.com/jacobrossi/06cf2d47dd7d87994850.js"></script>
<p>We’re starting with srcset pixel density descriptors for the broadest interoperability, but we’re looking at other features like width/height descriptors and the <a href="https://status.modern.ie/pictureelement">&lt;picture&gt; element</a> for possible implementation in the future.</p>
<h1>Date input controls</h1>
<p>Inputting dates in a form is common practice on the Web. We’re beginning the implementation of a variety of <a href="https://status.modern.ie/daterelatedinputtypes">new input controls</a> for basic date picking. These controls will use the standard HTML5 types and provide UI that’s friendly to your input device, like our other <a href="http://ie.microsoft.com/testdrive/Browser/TouchFirstControls/Default.html">HTML5 input controls</a>. </p>
<script src="https://gist.github.com/jacobrossi/e49fb02075dab1c40e5e.js"></script>
<p>This work is “phase 1” of 2. This first phase includes date, week, and month controls. The second phase (not yet in development) includes <a href="https://status.modern.ie/timerelatedinputtypes">time related inputs</a>. We’ll update you when work on phase 2 begins.</p>
<h1>&lt;main&gt; element</h1>
<p>We introduced a number of HTML5 semantic elements in IE9. We’re now adding support for the <a href="https://status.modern.ie/mainelement">&lt;main&gt; element</a>, which represents the main content of the document or application. </p>
<script src="https://gist.github.com/jacobrossi/fe94491fdd226f6977c8.js"></script><p>As always, check <a href="https://status.modern.ie/">status.modern.IE</a> for the latest on our development roadmap, vote for features on <a href="http://uservoice.modern.ie">User Voice</a>, and give us feedback on how we’re doing at <a href="https://twitter.com/iedevchat">@IEDevChat</a>.</p>
<p>Jacob Rossi<br>
Senior Program Manager<br>
<a href="https://twitter.com/jacobrossi">@jacobrossi</a>
</p>
<div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10579160" width="1" height="1">IE AnnouncementsDevelopersEngineering POVW3CHTML5DOMFocusing community discussions for IE development on StackOverflowhttp://blogs.msdn.com/b/ie/archive/2014/12/04/focusing-community-discussions-for-ie-development-on-stackoverflow.aspxThu, 04 Dec 2014 19:10:20 GMT91d46819-8472-40ad-a661-2c78acb4018c:10578132ieblog29http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10578132http://blogs.msdn.com/b/ie/archive/2014/12/04/focusing-community-discussions-for-ie-development-on-stackoverflow.aspx#comments<p>In an effort to focus Web development discussions for Internet Explorer in one place, we have starting migrating IE development discussions from MSDN forums to Stack Overflow. This has started with <a href="https://social.msdn.microsoft.com/Forums/ie/en-US/8ba70824-dba2-4425-bc75-247c2c29bde1/ie-web-development-support-moving-to-stack-overflow?forum=iewebdevelopment">announcing</a> to our MSDN community the goal of redirecting all Web development questions to the Internet Explorer tag(s) on Stack Overflow to better answer your questions.</p>
<p>This decision reflects the belief on the IE team that Stack Overflow is not only a rapidly-growing community of broadly-disciplined engineers, but a great place to get timely and reliable support on Web standards, and cross-browser development. We are proud to sponsor the <a href="http://stackoverflow.com/questions/tagged/internet-explorer">Internet Explorer tag</a> on Stack Overflow and are joining other teams around Microsoft such as <a href="http://social.msdn.microsoft.com/Forums/onedrive/en-US/3074fce2-f489-49b1-ad17-f89b7bde533a/action?threadDisplayName=onedrive&amp;forum=onedriveapi">OneDrive</a> and <a href="http://azure.microsoft.com/en-us/support/forums/">Azure</a> in helping to direct our developers to the Stack Overflow community.</p>
<p>Since its conception over six years ago, Stack Overflow has racked up <a href="http://stackoverflow.com/search?q=%5Binternet-explorer*%5D+is%3Aquestion">over 40,000 questions</a>, and <a href="http://stackoverflow.com/search?q=%5Binternet-explorer*%5D+is%3Aanswer">nearly 70,000 answers</a> in the <a href="http://stackoverflow.com/questions/tagged/internet-explorer*">IE family of tags</a>. The effectiveness of the community is something individual members of the IE team have personally witnessed over the years. Whatever problem you face, there is a good chance Stack Overflow already has the answer.</p>
<p>With our increased focus and adoption of standards, involvement in standards bodies, and continued cooperation with other browser vendors, it makes sense to consolidate Web development discussions on the Web around a common community.</p>
<p>So far this month, 52 questions have been asked on MSDN. In the same span of time <a href="http://stackoverflow.com/search?q=%5Binternet-explorer*%5D+created%3A2014-11-01...2014-11-25+is%3Aquestion">over 600 questions</a> have been asked on Stack Overflow, and have received <a href="http://stackoverflow.com/search?q=%5Binternet-explorer*%5D+created%3A2014-11-01...2014-11-25+is%3Aanswer">over 600 answers</a>. Stack Overflow has a healthy and mature process, a powerful search engine, excellent community-oriented features, <a href="http://stackoverflow.com/tour">and more</a>. We are very excited to watch as it continues to shape and mold the Web-development industry.</p>
<p>In recent months the Internet Explorer team has sought out opportunities to create dialogues with the community. We have hosted <a href="http://www.reddit.com/comments/2dk60t">a Reddit AMA</a> and regular sessions on Twitter where you can <a href="https://twitter.com/search?f=realtime&amp;q=%23AskIE&amp;src=typd">#AskIE</a> anything you would like to know about our team, process, and/or product. To further these efforts, we will be organizing our efforts to contribute as well to the Internet Explorer tags on Stack Overflow to maintain a high level of quality for the sake of the Web, and the community.</p>
<p>As is the case on Stack Overflow, we will at times identify features we would like to see in the browser and bugs we would like to resolve. Feature requests should still ultimately be routed to <a href="http://uservoice.modern.ie/">uservoice.modern.ie</a>, and bugs and issues should still be filed at <a href="http://connect.microsoft.com/IE">connect.microsoft.com/IE</a>.</p>
<p>We look forward to your feedback in the comments or via <a href="https://twitter.com/iedevchat">@IEDevChat</a>. If you are not already using Stack Overflow, <a href="http://stackoverflow.com/tour">get started today</a>. We will see you there!</p>
<p>— Jonathan Sampson (<a href="https://twitter.com/jonathansampson">@jonathansampson</a>), Program Manager, Internet Explorer</p>
<div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10578132" width="1" height="1">DevelopersFeedbackAnnouncing improvements to the Enterprise Mode Site Listhttp://blogs.msdn.com/b/ie/archive/2014/11/11/announcing-improvements-to-the-enterprise-mode-site-list.aspxTue, 11 Nov 2014 21:45:05 GMT91d46819-8472-40ad-a661-2c78acb4018c:10571405ieblog12http://blogs.msdn.com/b/ie/rsscomments.aspx?WeblogPostID=10571405http://blogs.msdn.com/b/ie/archive/2014/11/11/announcing-improvements-to-the-enterprise-mode-site-list.aspx#comments<p>Today we are adding functionality to Enterprise Mode for Internet Explorer 11 as part of the <a href="http://go.microsoft.com/fwlink/?LinkId=512501">November update</a>, expanding the <a href="http://technet.microsoft.com/en-us/library/dn640699.aspx">Enterprise Mode Site List</a> introduced in April to give customers a new way to mitigate Web app compatibility issues. A new docMode section of the list enables IT to specify the document mode in which a specific Web site should load, without changing a single line of code on the site itself. While the original <a href="http://blogs.msdn.com/b/ie/archive/2014/04/02/stay-up-to-date-with-enterprise-mode-for-internet-explorer-11.aspx">Enterprise Mode</a> provided great compatibility for enterprises on IE8, this new capability will help enterprises stay up to date regardless of the version of IE currently running in their environment.</p>
<p>Sites can be added to the Enterprise Mode Site List to fix compatibility problems with sites originally written for IE8, IE9, or IE10. Web developers have been able to specify document modes on their sites through the X-UA-Compatible tag, and now we are making the power of document modes available to IT Pros. This expansion to the site list is a continuation of our commitment to help enterprises upgrade to the latest version of IE, while still preserving investments in existing apps.</p>
<h1>How does this help enterprises stay up-to-date?</h1>
<p>Oftentimes enterprises have sites which are critical for business, but are not in their direct control, so upgrading the site to modern standards or remediating can be difficult and expensive. Other times internal sites and Web apps were written for a particular platform, and often measures are in place to ensure sites works only on the intended platform. Years later these precautions may prevent Web apps from working on newer systems. It is often cost-prohibitive to update sites, which is why Microsoft offers backward compatibility for sites designed for older versions of Internet Explorer. The new Enterprise Mode Site List enables enterprises to specify the document mode in which to load a URL, to help ensure better compatibility. Browser upgrades can be faster and easier, since testing and remediation costs are reduced. </p>
<h1>How does it work?</h1>
<p>The enhanced enterprise site list enables organizations to maintain compatibility with legacy and orphaned Web apps by specifying a document mode in a central list. Sites that are already on the enterprise site list are not affected by the enhancement, and will continue to load in Enterprise Mode as usual. The enhanced site list has the same ability to selectively target Web sites as before. For example, www.contoso.com/travel can be set to use Enterprise Mode, while www.contoso.com/erp may be set to use IE9 document mode.</p>
<p>When Internet Explorer 11 navigates to a site on the list, the browser loads the page in the specified document mode just as it would load the page if the document mode were specified through an X-UA-Compatible meta tag on the page, and the UA string associated with the selected document mode is sent. Some customers have told us that they even need to override the X-UA-Compatible meta tag as set by the Web site, so this new functionality does so without needing to change a single line of code on the site itself.</p>
<h1>How do I use it?</h1>
<p>To set up your environment, follow the instructions on <a href="http://msdn.microsoft.com/en-us/library/dn640699.aspx">TechNet</a>. If you already have Enterprise Mode deployed in your environment, there is no additional work to prepare your environment for <a href="http://go.microsoft.com/fwlink/?LinkId=512501">this update</a>. An updated version of the <a href="http://go.microsoft.com/fwlink/?LinkID=393361">Enterprise Mode Site List Manager tool</a> is available to create and manage lists.</p>
<p style="text-align: center; font-size: 8.25pt; font-style: italic;"><img style="max-width: 95%; border: 1px solid #999; box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);" alt="Updated Enterprise Mode Site List Manager" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-38-71-metablogapi/6765.aittemsl_2D00_image1.png" /></p>
<p>To find out which document mode works best to fix a site, you can easily use the F12 developer tools to find the best mitigation. Go to the Web site and open the F12 developer tools by pressing the F12 key. Open the Emulation tab, which is the bottom-most tab (ctrl+8). Starting with “Edge,” test the broken site. If that document mode does not fix the problem, try IE10 mode. Repeat until you find a document mode that fixes the problem. Use the upgraded site list manager tool to enter the site mitigation into your Enterprise Mode Site List to fix this problem for your organization.</p>
<p>The XML output by the tool for the above example will be:</p>
<pre>
&lt;rules version="1"&gt;
&lt;docMode&gt;
&lt;domain docMode="7"&gt;adatum.com&lt;/domain&gt;
&lt;domain&gt;contoso.com
&lt;path docMode="9"&gt;/travel&lt;/path&gt;
&lt;/domain&gt;
&lt;domain&gt;relecloud.com
&lt;path docMode="10"&gt;/about&lt;/path&gt;
&lt;/domain&gt;
&lt;/docMode&gt;
&lt;emie&gt;
&lt;domain exclude="false"&gt;contoso.com
&lt;path exclude="true"&gt;/travel&lt;/path&gt;
&lt;/domain&gt;
&lt;domain exclude="true"&gt;relecloud.com&lt;/domain&gt;
&lt;/emie&gt;
&lt;/rules&gt;
</pre>
<h1>More resources</h1>
<ul>
<li>Download the <a href="http://go.microsoft.com/fwlink/?LinkID=393361">updated Site List Manager tool</a> </li>
<li>Visit TechNet to learn about <a href="http://technet.microsoft.com/library/dn640687.aspx">Enterprise Mode</a> and how to <a href="http://technet.microsoft.com/en-us/library/dn640699.aspx">turn it on</a> </li>
<li>Inventory what sites are running in your organization using the <a href="http://go.microsoft.com/fwlink/?LinkID=517880&amp;clcid=0x409">Enterprise Site Discovery Toolkit</a></li>
<li>Read details about this update at KB article <a href="http://go.microsoft.com/fwlink/?LinkId=512501">3003057</a></li>
</ul>
<p>We're very excited to help enterprises upgrade and stay up-to-date on the most recent version of Internet Explorer, while maintaining compatibility for existing line of business Web sites. Let us know your feedback via <a href="https://twitter.com/iedevchat">@IEDevChat</a> or on <a href="http://connect.microsoft.com/ie">Connect</a>.</p>
<p>- Nicole Berdy, Program Manager, Internet Explorer</p>
<div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10571405" width="1" height="1">IT PROCompatibilityPlatformTestingWindows 8.1