IEBlog

Windows Internet Explorer Engineering Team Blog

  • IEBlog

    December 2013 Internet Explorer Updates

    • 3 Comments

    Microsoft Security Bulletin MS13-097 - Critical

    This security update resolves seven privately reported vulnerabilities in Internet Explorer. The most severe vulnerabilities could allow remote code execution if a user views a specially crafted Web page using Internet Explorer. An attacker who successfully exploited the most severe of these vulnerabilities could gain the same user rights as the current user. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

    This security update is rated Critical for Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, Internet Explorer 9, Internet Explorer 10 and Internet Explorer 11 on Windows clients and Important for Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, Internet Explorer 9, Internet Explorer 10, and Internet Explorer 11 on Windows servers. For more information, see the full bulletin.

    Recommendation. Most customers have automatic updating enabled and will not need to take any action because this security update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

    For administrators and enterprise installations, or end users who want to install this security update manually, Microsoft recommends that customers apply the update immediately using update management software, or by checking for updates using the Microsoft Update service.

    Security Update for Flash Player (2907997)

    On December 10th, a 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 APSB13-28. 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 advisory

    Most customers have automatic updating enabled and will not need to take any action because this update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

    — Wilson Guo, Program Manager, Internet Explorer

  • IEBlog

    Getting to the Content You Want, Faster in IE11

    • 30 Comments

    Internet Explorer 11 helps overcome the effects of network latency, making every day browsing feel fast and responsive without hurting battery life, CPU, network bandwidth, or memory. Network latency is a problem that holds back Web performance, even though we enjoy more bandwidth now than ever before. IE11 reduces the effects of network latency by downloading and preloading pages and Web resources in the background, downloading multiple resources in parallel using the SPDY/3 protocol, and prioritizing downloads of the most important resources on the page.

    Page Prediction, Preload, and Prefetch

    Page Prediction, preload (also called prerender), and prefetch in IE11 give the browser a head start in downloading and rendering the next page or downloading resources for the next page. For common browsing patterns, pages are pre-emptively fetched and even constructed in the background in a hidden tab so they appear instantly when you click on that link. These techniques speed up things you commonly do on the Web, such as searching, reading articles, browsing photos, and so on, making them feel like browsing local content.

    Page prediction, preload, and prefetch capabilities in IE11 speed up the things you commonly do on the web

    IE11 uses two sources of information to determine what to preload or prefetch: IE’s “Page Prediction” technology and markup provided by site developers.

    Preloading Web Pages with Automatic Page Prediction

    With automatic Page Prediction, Internet Explorer can predict where you will go next and load that page ahead of time, making navigation nearly instantaneous. The predictions are done using our understanding of browsing patterns, user browsing habits, and common cues in Web pages, like “next” links and pagination. Bing’s extensive knowledge of the Web and data mining help make these predictions laser sharp.

    For example, when reading an article in the modern browser, you can just swipe forward to the already rendered next page using Flip Ahead. You can enjoy a magazine-like reading experience that is fast and feels natural and enjoyable. You can explore this capability with the Page Prediction Test Drive.

    The Page Prediction testdrive demonstrates nearly instantaneous page load performance in IE11 with Flipahead, page prediction, and page preloading.

    The Page Prediction Test Drive demonstrates nearly instantaneous page load performance in IE11 with Flipahead, page prediction, and page preloading

    Preloading Web pages using developer-provided hints in markup

    While IE can predict your navigation and preload pages and content automatically, Web developers can also control the experience on their sites by using simple markup. If a site developer is confident about which link you will click next, they can include a hint in their page so that IE can download and prepare that next page ahead of time. They can do this with the <link rel=”prerender”> tag, which is being standardized by the W3C Web Performance Working Group. This can result in substantial performance improvements and greater user engagement on Web sites.

    <link rel="prerender"  href="http://example.com/nextpage.html" />
    

    We used preload to improve the search experience on Bing and help you complete search tasks faster. Go ahead and try this on Bing using this example search. Bing includes a hint to load the top search result in the background whenever they have high confidence that you will click on the top result.

    Prefetching Individual Resources Using Developer-Provided Hints in Markup

    IE11 also introduces the ability to prefetch resources individually rather than preload an entire page. Unlike preload, prefetch uses almost no memory or CPU resources. For example, prefetch is very useful for retrieving stylesheets and script files that are used for several pages on a site. This way, if you are equally likely to click on several links on the site, you can benefit from a browser cache that is primed with critical blocking resources needed for page load—no matter which link you actually click on. Web developers can use the <link rel=”prefetch”> tag for this purpose:

    <link rel="prefetch" href="http://example.com/style.css" />
    

    Here’s a simplified rendering of the network timeline for a simple scenario with and without prefetch. Notice that even for a simple page, the page load time is reduced by about 66% if a few of its resources are prefetched. The green bars show the time spent downloading the resources over the network. With prefetch, there are far fewer green bars because the resources are fetched from the local cache.

    Example of how prefetching big resources speeds up page load time by 66%

    Example of how prefetching big resources speeds up page load time by 66%

    Page Prediction, preload and prefetch extend a concept we introduced in IE10 that pre-emptively kicks off a DNS resolution for the specified hostname saving up to 500ms in page load time. Here is an example:

    <link rel="dns-prefetch" href="http://example.com/" />
    

    MSDN provides detailed documentation for preload and prefetch.

    Fast, Without Wasting Battery, CPU or Bandwidth

    IE11 delivers these performance improvements without impacting battery life, incurring unexpected data charges from your Internet service provider, or affecting the performance of pages in the foreground. To control resource usage, IE limits what resources are downloaded in the background and manages the timing and priority of background downloads.

    IE11 only downloads resources that have high likelihood of impacting navigation performance. For example, IE11 preloads pages and content only when there is high confidence that you are going to visit them. Uniquely, IE also prevents sites from draining your device’s resources, by limiting the number of preload and prefetch operations from each Web page.

    IE11 also manages the timing and priority of pre-emptive downloads. Unlike other browsers, IE does not preload pages or prefetch content when you are on a metered network that charges you per byte or when you are close to your data limit. IE11 is the only browser that kicks off prefetch and preload operations after the active page has loaded, so these background activities do not impact the performance of your active tab. Only in IE, prefetch and preload requests from background pages are deferred until you bring that page to the foreground. This minimizes memory usage and ensures that the system resources are devoted to the task that you are focused on and to your next navigation. Finally, these requests are also treated as lower priority so that they do not compete for bandwidth with your active tasks.

    We were immediately able to see the benefit of IE’s approach on the Bing search results page. As mentioned earlier, Bing adds a preload hint for the first search result. In another browser we saw a page load time regression of 4.36% on the search results page, because the background page load competes for networking and processing resources with the foreground page. IE waits until the foreground page has loaded before kicking off the preload requests, ensuring that background activity does not impact the load time of the active page.

    To further illustrate the benefits of IE11’s resource management approach, let us look at an example scenario comparing IE and a leading browser that also implements preloading. In this scenario, I am searching for a Halloween costume on Bing. The top search result is preloaded. I open the top two search results in background tabs, so I can comparison shop. The second result page contains a preload hint. I switch to the first result tab and find the costume I was looking for. I never switch to the second search result tab. You can see below that IE11 use the network and the system memory more efficiently:

      Internet Explorer 11 Other browser
    Total number of requests sent 260 373
    Total number of DNS resolutions 30 57
    Bytes sent 209,151 232,605
    Bytes received 2,879,642 3,918,390
    Memory used 102.4 MB 152.7 MB

    The CPU usage graphs are below, and IE11’s CPU usage graph are clearly less busy.

    CPU usage graphs for preload scenario in IE11.

    CPU usage graphs from another browser demonstrates that IE11 keeps the CPU more idle.

    CPU usage graphs for preload scenario in IE11 (top) and another browser (bottom) demonstrate that IE11 keeps the CPU more idle

    These resource differences accumulate over time as you browse the Web. On your portable devices that have limited resources, the IE11 approach can end up making a big difference to battery life and system performance. On metered networks these savings translate directly into money saved for you!

    Seeing Page Prediction, Preload, and Prefetch in Action

    If you would like to observe preload and page prediction in action more closely, watch for the following tooltips:

      1. When you touch and hold (or hover with a mouse) over the link that is being loaded in the background, you will see a tooltip indicating the background page loading:

        IE11 tooltip on hovering over a link indicates preload in progress

        IE11 tooltip on hovering over a link indicates preload in progress

      2. When you touch and hold (or hover with a mouse) over the refresh button on the preloaded page, you see a tooltip indicating that the page was pre-loaded:

    IE11 tooltip on hovering over the refresh button indicates a preloaded page

    IE11 tooltip on hovering over the refresh button indicates a preloaded page

    You can also see the pre-emptive traffic in an HTTP debugger such as Fiddler.

    Controlling Page Prediction, Preload and Prefetch

    You can toggle Page Prediction on/off using the new Privacy tab under Settings.

    Page Prediction setting in IE11 is accessed under the Privacy tab

    Page Prediction setting in IE11 is accessed under the Privacy tab

    You can turn off all preloading and prefetch operations by unchecking an Advanced setting:

    IE11 advanced setting to control preload and prefetch

    IE11 advanced setting to control preload and prefetch

    Faster Page Loads Using SPDY/3, Preparing for HTTP/2.0

    IE11 includes support for SPDY/3—an experimental protocol that can speed up page load time by combining multiple requests into a single network connection. In addition to providing faster page loads, IE11’s support for SPDY enables Web developers to begin tuning Web sites in preparation for the forthcoming HTTP/2.0 standard, which is currently under development.

    Modern Web sites usually include many separate resources. Browsers typically open multiple parallel connections to speed up page downloads. However, browsers limit the number of simultaneous downloads to avoid overloading the network, and when opening these connections, the browser must wait for the connection to complete and is blocked while the connection “warms up.” As a result, the browser spends time waiting for requests and responses to travel, especially in higher latency mobile networks. It can take much longer than necessary to download and display a page containing lots of resources.

    IE11 supports the SPDY/3 protocol to overcome this limitation and improve page load time and responsiveness of modern Web sites. SPDY/3 implements multiplexing of request / responses on a single connection. SPDY/3 improves page load time by removing the limitation on number of outstanding requests and by using a “warm” connection for each parallel download. Here is chart showing page load time improvements to a page with many resources blocking page completion:

    For this sample page, SPDY/3 improves page load time by getting multiple resources faster and using CPU more efficiently than HTTP/1.1

    For this sample page, SPDY/3 improves page load time by getting multiple resources faster and using CPU more efficiently than HTTP/1.1

    IE11 automatically negotiates SPDY/3 with sites that support the protocol. Users do not need to take any special actions. Several popular Web sites (including Facebook and Twitter) have deployed SPDY/3 already. If you would like to know whether IE is using SPDY/3 while connecting to a site or downloading resources, you can use the network tab in the new F12 developer tools.

    The F12 developer tools in IE11 show which resources are being downloaded using SPDY/3
    The F12 developer tools in IE11 show which resources are being downloaded using SPDY/3

    SPDY/3 is an experimental protocol but is the foundation for development of the emerging HTTP/2.0 standard. Microsoft is actively participating in the HTTP/2.0 standardization effort. As a part of our engagement with the IETF, Microsoft published a set of user requirements outlined in our HTTP Speed+Mobility proposal, including the importance of enabling a smooth migration from the existing Web to HTTP/2.0., respecting bandwidth usage, and managing battery impact. IE11’s SPDY/3 implementation is consistent with this approach.

    Prioritizing Resources for Efficient Page Load

    IE11 prioritizes resource download requests that are most important for loading the page, resulting in faster, more responsive browsing. The highest priority resources are downloaded first and are downloaded using the fastest available TCP connections. For example, IE11 gives higher priority to requests that block page load.

    Here are some examples of requests that are prioritized/deprioritzed:

    • Blocking resources like CSS and Javascript and the root HTML are prioritized
    • Calls initiated by the UI thread and synchronous XHR are prioritized
    • Content from background tabs is deprioritized (this includes preloaded pages)
    • iFrame content is deprioritized

    Developers can fine-tune the way that IE11 prioritizes resource download. The built in priority scheme may not be sufficient for some Web pages. For example, developers may want to indicate that images located “below the fold” should be prioritized lower than more important resources located “above the fold.”

    Developers can lower the priority of a resource by adding the lazyload tag:

    <img src="image.jpg" lazyload  />
    

    IE is the first browser to support this capability for developers and we are working within the W3C Web Performance Working Group to standardize this behavior.

    Conclusion

    IE11 reduces the impact of network latency by pre-emptively fetching pages and content, using the network more efficiently with the SPDY/3 protocol, and prioritizing resources that speed up browsing. We built upon the network performance optimizations and cache improvements that we introduced in IE9 and in IE10.

    Try out IE11, and as always, we look forward to your feedback via Connect.

    Happy and speedy browsing!

     

    Ritika Kapadia and Bogdan Brinza
    Program Managers
    Internet Explorer

  • IEBlog

    EtchMark Under the Hood: Building a Website that Handles Touch, Mouse, and Pen – and Device Shakes

    • 13 Comments

    EtchMark is a new take on the classic Etch-A-Sketch drawing toy, showcasing IE11’s improved support for touch and emerging Web standards (including Pointer Events and Device Orientation). In this post, we’ll walk through several features that you can easily add to your own sites to build an experience that feels smooth and natural with touch, mouse, pen, and keyboard – and even responds to device shaking.

    Structure of the Demo

    EtchMark enables you to draw anything you want on the screen using touch, mouse, pen, or the arrow keys. The drawing surface is an HTML5 canvas element that we update any time a knob turns. In benchmark mode, we use the requestAnimationFrame API, which provides a smooth 60 frames per second animation loop and longer battery life. The drop shadows for the knobs are created using SVG filters. IE11’s hardware acceleration moves much of this work to the GPU, which leads to a blazing fast experience. Check out the video below to see these features in action, and then we’ll dive in and see how it’s built.

    EtchMark uses HTML5 canvas, requestAnimationFrame, SVG filters, Pointer Events and Device Orientation APIs to create a new take on a classic toy

    Touch, Mouse, Keyboard, and Pen Using Pointer Events

    Pointer Events enable you to build experiences that work equally well with mouse, keyboard, pen, and touch – all by coding against a single API. Pointer Events are supported across the full range of Windows devices and are coming soon to other browsers as well. The Pointer Events specification is now a Candidate Recommendation at the W3C, and IE11 supports an un-prefixed version of the standard.

    To get started, the first thing we need to do is wire up our pointer events in Knob.js. First we check for the standard un-prefixed version, and if that check fails we fall back to the prefixed version needed to enable IE10 support. In the example below, hitTarget is a simple div containing the knob image, sized to be a bit bigger so the user has space to land her finger easily:

        if (navigator.pointerEnabled)

        {

            this.hitTarget.addEventListener("pointerdown", pointerDown.bind(this));

            this.hitTarget.addEventListener("pointerup", pointerUp.bind(this));

            this.hitTarget.addEventListener("pointercancel", pointerCancel.bind(this));

            this.hitTarget.addEventListener("pointermove", pointerMove.bind(this));

        }

        else if (navigator.msPointerEnabled)

        {

            this.hitTarget.addEventListener("MSPointerDown", pointerDown.bind(this));

            this.hitTarget.addEventListener("MSPointerUp", pointerUp.bind(this));

            this.hitTarget.addEventListener("MSPointerCancel", pointerCancel.bind(this));

            this.hitTarget.addEventListener("MSPointerMove", pointerMove.bind(this));

        }

    Similarly, we add the correct fallback for setPointerCapture to Element.prototype to ensure it also works on IE10:

        Element.prototype.setPointerCapture = Element.prototype.setPointerCapture || Element.prototype.msSetPointerCapture;

    Next let’s handle our pointerDown event. The first thing we do is call setPointerCapture on this.hitTarget. We want to capture the pointer so that all subsequent pointer events are handled by this element. It also ensures that other elements don’t fire events even if the pointer moves into their bounds. Without this, we’d run into problems when the user’s finger is on the edge of the image and the containing div: sometimes the image would get the pointer event and other times the div would. This would result in a jagged experience where the knob jumps around. Capturing the pointer is an easy way to solve this.

    Pointer capture also works nicely when the user puts her finger down on the knob and then gradually moves off the hit target while continuing to rotate. Even if the finger isn’t lifted until it has moved several inches off the hit target, the rotation still feels smooth and natural.

    The last thing to note about setPointerCapture is that we pass in the event’s pointerId property. This enables us to support multiple pointers, meaning the user can use a finger on each knob simultaneously without interfering with the other knob’s events. The support for multiple knobs means that when the user rotates both knobs at once, she gets a freeform drawing rather than only seeing vertical and horizontal lines.

    We also want to set two flags on this, which points to our Knob object (the flags are per-knob):

    • pointerEventInProgress - tells us whether or not the pointer is down
    • firstContact - tells us if the user has just put their finger down

        function pointerDown(evt)

        {

            this.hitTarget.setPointerCapture(evt.pointerId);

            this.pointerEventInProgress = true;

            this.firstContact = true;

        }

    Finally we want to reset the pointerEventInProgress flag when the user lifts up her finger (or mouse/pen):

        function pointerUp(evt)

        {

            this.pointerEventInProgress = false;

        }

     

        function pointerCancel(evt)

        {

            this.pointerEventInProgress = false;

        }

    PointerCancel can occur in two different ways. The first is when the system has determined that a pointer is unlikely to continue producing events (for example, due to a hardware event). The event also fires if the pointerDown event has already occurred and then the pointer is used to manipulate the page viewport (for example by panning or zooming). For completeness it is always recommended to implement both pointerUp and pointerCancel.

    With up, down, and cancel events wired up, we’re now ready to implement support for pointerMove. We use the firstContact flag so that we don’t over-rotate when the user first touches her finger down. After firstContact is cleared, we just calculate the movement deltas of the finger. We use trigonometry to turn our start and end co-ordinates into a rotation angle, which we then pass along to our drawing function:

        function pointerMove(evt)

        {

            //centerX and centerY are the centers of the hit target (div containing the knob)

            evt.x -= this.centerX;

            evt.y -= this.centerY;

     

            if (this.pointerEventInProgress)

            {

                //Trigonometry calculations to figure out rotation angle

     

                var startXDiff = this.pointerEventInitialX - this.centerX;

                var startYDiff = this.pointerEventInitialY - this.centerY;

     

                var endXDiff = evt.x - this.centerX;

                var endYDiff = evt.y - this.centerY;

     

                var s1 = startYDiff / startXDiff;

                var s2 = endYDiff / endXDiff;

     

                var smoothnessFactor = 2;

                var rotationAngle = -Math.atan((s1 - s2) / (1 + s1 * s2)) / smoothnessFactor;

     

                if (!isNaN(rotationAngle) && rotationAngle !== 0 && !this.firstContact)

                {

                    //it’s a real rotation value, so rotate the knob and draw to the screen

                    this.doRotate({ rotation: rotationAngle, nonGesture: true });

                }

     

                //current x and y values become initial x and y values for the next event

                this.pointerEventInitialX = evt.x;

                this.pointerEventInitialY = evt.y;

                this.firstContact = false;

            }

        }

    By implementing four simple event handlers, we have now created a touch experience that feels natural and sticks to your finger. It supports multiple pointers and enables the user to manipulate both knobs simultaneously to produce a freeform drawing. Best of all, because we used Pointer Events, the same code also works for mouse, pen, and keyboard.

    Getting more fingers in the game: Adding Gesture Support

    The Pointer Events code that we wrote above works great if the user rotates the knob using one finger, but what if she rotates it using two fingers? We had to use trigonometry to calculate the rotation angle, and calculating the correct angle with a second moving finger gets even more complex. Rather than trying to write this complex code ourselves, we take advantage of IE11’s MSGesture support.

        if (window.MSGesture)

        {

            var gesture = new MSGesture();

            gesture.target = this.hitTarget;

     

            this.hitTarget.addEventListener("MSGestureChange", handleGesture.bind(this));

            this.hitTarget.addEventListener("MSPointerDown", function (evt)

            {

                // adds the current mouse, pen, or touch contact for gesture recognition

                gesture.addPointer(evt.pointerId);

            });

        }

    With the events wired up, we can now handle gesture events:

        function handleGesture(evt)

        {

            if (evt.rotation !== 0)

            {

    //evt.nonGesture is a flag we defined in the pointerMove method above.

    //It will be true when we’re handling a pointer event, and false when

    //we’re handling an MSGestureChange event

                if (!evt.nonGesture)

                {

    //set to false if we got here via Gesture so flag is in correct state

                    this.pointerEventInProgress = false;

                }

     

                var angleInDegrees = evt.rotation * 180 / Math.PI;

     

                //rotate the knob visually

                this.rotate(angleInDegrees);

     

                //draw based on how much we rotated

                this.imageSketcher.draw(this.elementName, angleInDegrees);

            }

        }

    As you can see, MSGesture gives us a simple rotation property which represents the angle in radians, so we don’t have to do all the math ourselves manually. This now gives us support for two-finger rotation that feels natural and sticks to your finger.

    Device Motion: Adding a Little Shake

    IE11 supports the W3C DeviceOrientation Event Specification, which enables us to access information about a device’s physical orientation and movement. When a device is being moved or rotated (or more accurately, accelerated), the devicemotion event is fired at the window and provides acceleration (both with and without the effects of gravitational acceleration on the device, expressed in meters/second2) in the x, y, and z axis. It also provides the rate of change in the alpha, beta, and gamma rotation angles in degrees/second.

    In this case, we want to erase the screen anytime the user shakes the device. To do this, the first thing we do is wire up the devicemotion event (in this case we’re using jQuery):

        $(window).on("devicemotion", detectShaking);

    Next, we detect if the user has moved the device in any direction with an acceleration greater than our threshold value. Because we need to detect shaking, we have a counter to ensure that there are two such fast movements in a row. If we detect two fast movements, we erase the screen:

        var nAccelerationsInARow = 0;

     

        var detectShaking = function (evt)

        {

            var accl = evt.originalEvent.acceleration;

     

            var threshold = 6;

            if (accl.x > threshold || accl.y > threshold || accl.z > threshold)

            {

                nAccelerationsInARow++;

                if (nAccelerationsInARow > 1)

                {

                    eraseScreen();

                    nAccelerationsInARow = 0;

                }

            }

            else

            {

                nAccelerationsInARow = 0;

            }

        }

    For more information on device orientation and motion, please see this post on the IE Blog.

    Orientation Lock

    IE11 also introduces support for the Screen Orientation API and features like Orientation Lock. Since EtchMark is also a performance benchmark, we want to keep our canvas size the same across screen resolutions so that we’re doing the same amount of work on every device. This can make things really tight on smaller screens, particularly in portrait mode. To enable the best experience, we simply lock the orientation to landscape:

        window.screen.setOrientationLock("landscape");

    This way, no matter which way the user rotates the device, she always sees it in landscape mode. You can also use screen.unlockOrientation to remove the orientation lock.

    Looking Ahead

    Interoperable and standards-based techniques like Pointer Events and device orientation events enable new exciting possibilities for your web sites. IE11’s excellent touch support delivers a smooth stick-to-your-finger experience and interactivity. You can go even further with IE11 and MSGesture, making scenarios like calculating two-finger rotation angles as simple as accessing a property. Give these techniques a try on your own site, and we look forward to your feedback.

    Jon Aneja
    Program Manager, Internet Explorer

  • IEBlog

    November 2013 Internet Explorer Updates

    • 20 Comments

    Microsoft Security Bulletin MS13-088 - Critical

    This security update resolves ten privately reported and one publicly disclosed vulnerabilities in Internet Explorer. The most severe vulnerabilities could allow remote code execution if a user views a specially crafted Web page using Internet Explorer. An attacker who successfully exploited the most severe of these vulnerabilities could gain the same user rights as the current user. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

    This security update is rated Critical for Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, Internet Explorer 9, Internet Explorer 10 and Internet Explorer 11 on Windows clients and Important for Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, Internet Explorer 9, Internet Explorer 10, and Internet Explorer 11 on Windows servers. For more information, see the full bulletin.

    Microsoft Security Bulletin MS13-090 - Critical

    This security update resolves one publicly disclosed vulnerabilities in Internet Explorer. The vulnerability could allow remote code execution if a user views a specially crafted Web page using Internet Explorer. An attacker who successfully exploited the most severe of these vulnerabilities could gain the same user rights as the current user. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

    This security update is rated Critical for Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, Internet Explorer 9, Internet Explorer 10 and Internet Explorer 11 on Windows clients and Moderate for Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, Internet Explorer 9, Internet Explorer 10, and Internet Explorer 11 on Windows servers. For more information, see the full bulletin.

    Recommendation. Most customers have automatic updating enabled and will not need to take any action because this security update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

    For administrators and enterprise installations, or end users who want to install this security update manually, Microsoft recommends that customers apply the update immediately using update management software, or by checking for updates using the Microsoft Update service.

    Security Update for Flash Player (2898108)

    On November 12th, a 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 APSB13-26. 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 advisory

    Most customers have automatic updating enabled and will not need to take any action because this update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

    — Wilson Guo, Program Manager, Internet Explorer

  • IEBlog

    IE11 Automatically Makes Over 40% of the Web More Secure While Making Sure Sites Continue to Work

    • 26 Comments

    Internet Explorer 11 is the first browser to make Internet connections more secure and reliable by reducing the use of vulnerable ciphersuites, such as RC4 and by using the latest security standards, TLS 1.2, by default. With these changes in IE11, you can have peace of mind when accessing your critical personal information on social media, banking, commerce, and other sites. These advances build on our continued work to make IE the most secure browser in key areas such as socially engineered attacks.

    IE11 Reduces Use of Vulnerable RC4 Cipher Suite

    IE11 takes a big step toward better security by reducing the use of the vulnerable RC4 cipher suite. RC4 is a stream cipher that is widely supported—and often preferred—by TLS servers. However, recent studies such as those by AlFardan suggest exploits in the RC4 key stream that can be used to recover some encrypted data. RC4 has other weaknesses as well, as discovered by Paul, Mantin, and Fluhrer. Based on these studies, the industry consensus is that RC4 has a variety of cryptographic weaknesses, and RC4 exploits are now practical.We have proposed changes to the TLS standard, so that other browsers and industry players can follow our lead in securing the Web.

    The changes in IE11 increase security while still ensuring compatibility with the Web, in spite of the current widespread use of the RC4 cipher suite. IE11 does not offer RC4-based cipher suites during the initial TLS/SSL handshake. In this way, most connections successfully use non-RC4 cipher suites. We studied 5 million Internet sites and found that over 96% of sites can negotiate ciphers other than RC4. Notably, nearly 39% of these sites support non-RC4 even though they prefer RC4 – and for these, sites, IE11 substantially increases the security of the Web.

    Site Type Number Percentage IE11’s Behavior
    Total Sites in Sample 5,000,000 100%
    Sites that currently use RC4 ciphers 2,127,500 42.55%
    Sites that support non RC4 ciphers 1,932,500 38.65% IE11 makes sites more secure by negotiating non-RC4 cipher
    Sites that only work with RC4 ciphers 195,000 3.90% IE11 ensures you can reach these sites by falling back to an RC4 cipher
    Sites that currently do not use RC4 ciphers 2,872,500 57.45% IE11 continues to negotiate non-RC4 ciphers with these sites
    A study of 5 million Internet sites shows that IE11 automatically increases security for 39% of sites without affecting compatibility

    For the rare cases where the browser cannot negotiate a non-RC4 cipher suite with the server, IE11 falls back to negotiating TLS 1.0 or SSL 3.0 with RC4 to ensure that you can still reach the sites you need. Microsoft is actively working with many of these sites to enable support for non-RC4 cipher suites.

    Turning on TLS 1.2 by Default

    IE11 further increases Web security by enabling TLS version 1.2 by default, building on IE’s leadership as the first browser to implement TLS 1.2 as an optional setting in IE8. You can access sites such as Outlook.com, Facebook, etc. using industry-leading security standards thereby keeping your personal information safe. TLS 1.2 increases security by supporting more advanced cryptographic suites. Most of the practical exploits that target TLS 1.0 and TLS 1.1 ciphers do not work on TLS 1.2 ciphers. For example, TLS 1.2 is not subject to the BEAST attack.

    In IE11, you can take the advantage of added security in TLS 1.2 while getting the same performance provided with RC4 ciphers. TLS 1.2 provides new cipher suites that provide strong security and high performance. For example, the AES-GCM cipher suite is supported only on TLS 1.2 and performs just as well as RC4 ciphers. By enabling TLS 1.2 with AES-GCM, sites can provide strong security without introducing additional server load.

    Tuning on TLS 1.2 out of the box in IE11 automatically increases the security level with nearly 16% of Web servers and this number should increase as additional servers and browsers begin to support and prefer TLS 1.2. Windows Server has supported TLS 1.2 since Windows Server 2008 R2 and we encourage servers to enable TLS 1.2 in IIS, which is a simple configuration change. Servers such as Apache also support TLS 1.2, and as the industry moves forward, other Web servers will support TLS 1.2 in the future as well. The change does not affect compatibility with existing servers, which down-negotiate TLS to the highest mutually-supported version. By default, IE11 supports TLS 1.2, TLS 1.1, TLS 1.0 and SSL 3.0.

    Conclusion

    IE11 makes 39% of Web sites more secure by discouraging the use of vulnerable RC4 based cipher suites and increases security on 16% of Web sites by negotiating TLS 1.2, the most secure version of TLS.

    Try out IE11 to experience more secure browsing that uses the latest industry standards. We look forward to hearing your feedback via Connect, to help us move the industry forward and continue to enhance the browser.

    Hasnat Naveed and Ritika Kapadia    

    Program Managers in Windows and Internet Explorer

  • IEBlog

    Building world-ready applications in JavaScript using IE11

    • 10 Comments

    Building world-ready applications in JavaScript using IE11

    With Internet Explorer 11, Web applications can now use JavaScript ECMAScript Internationalization APIs, which provide a standard JavaScript based interface to deliver great world-ready experiences such as number, date, time and currency formatting and culture specific string collation (comparisons). In IE11, Web apps can utilize capabilities exposed by the Windows internationalization library, which includes support for over 364 locales, 18 numbering systems, various date patterns, and well known calendaring systems–Gregorian, Islamic, Hebrew, Buddhist, Korean, and Japanese calendars. The ECMA-402 specification also updates existing toLocale* APIs of ECMAScript 5.1 to make them truly locale sensitive.

    Web applications have traditionally been hard to globalize because JavaScript lacked support for basic helpers and objects exposing the underlying operating system capabilities. Applications relied on plug-ins, browser extensions, or server-side data manipulations to offer world ready globalization experiences. IE11’s support for ECMA-402 makes world-ready JavaScript applications straightforward.

    Culture aware string collation (sorting)

    IE11 automates the often-complex logic behind locale-specific string sorting. Conventions for sorting and ordering of strings varies widely across languages and cultures. Sort orders may be based on case-sensitivity, phonetics or the visual representation of characters. For example, in East Asian languages, characters are sorted by the stroke and radical of ideographs. Sorting also depends on the alphabetical ordering followed by different languages and its cultures.

    In IE11, a culture-sensitive collator object can be constructed using the Intl.Collator constructor with desired locale tag and options. The compare method of the collator object can be used to compare two strings. String.prototype.localeCompare has also been updated to internally use Intl.Collator for locale sensitive comparison and now supports two more optional arguments, locale and options.

    The following example illustrates how the Intl.Collator.prototype.compare evaluates strings ("Apple", "Æble" and “Zebra”) differently during sorting, depending on the culture used for the comparison.

    var arr = ["Apple", "Æble", "Zebra"];
    
    // Create collator object to use culture rules for English in the U.S.
    var co = new Intl.Collator("en-US");
    
    // Sorting array 'arr’ produces [Æble, Apple, Zebra] based on en-US rules
    arr.sort(function(a, b) { 
        return co.compare(a, b);
    }); 
    
    // Create collator object to use culture rules for Danish in Denmark
    var co = new Intl.Collator("da-DK");
    
    // Sorting array 'arr’ produces [Apple, Zebra, Æble] based on da-DK rules
    arr.sort(function(a, b) {
        return co.compare(a, b);
    });
    

    Number formatting

    IE11 supports the variety of conventions used by different locales and numbering systems to format and display numbers. When representing and comparing numbers, IE11 supports different styles such as “decimal,” “percent,” and “currency.” For currency, display options include “code” and “symbol.” Different locales may establish minimum or maximum integer, fraction or significant digits to be displayed. For example, the decimal number 10000.50 is formatted as 10,000.50 for the culture "en-US" and 10.000,50 for the culture "de-DE".

    A culture-sensitive NumberFormat object can be constructed using the Intl.NumberFormat constructor with desired locale tag and options. The format method of the NumberFormat object may be used to format numeric data based on the locale and options set. Number.prototype.toLocaleString has also been updated to internally use Intl.NumberFormat for culture sensitive formatting and now supports two optional arguments - locale and options.

    You can try the World Data Test Drive, which uses the new number formatting APIs available in JavaScript to format numbers as decimals, percentage, or currencies including native currency visualization.

    IE11’s new internationalization APIs support locale-specific number formatting with no extra code
    IE11’s new internationalization APIs support locale-specific number formatting with no extra code

    Date and time formatting

    Similar to variations in number formats, date and time formats also vary across locales, and IE11 supports multiple options such as timezone, era, year, month, weekday, day, hour, minute, second and so on.

    A culture-sensitive DateTimeFormat object can be constructed using the Intl.DateTimeFormat constructor with desired locale tag and options. The format method of the DateTimeFormat object may be used to format time values based on the locale and options set. Existing locale sensitive APIs Date.prototype.toLocaleString, Date.prototype.toLocaleDateString and Date.prototype.toLocaleTimeString have also been updated to internally use Intl.DateTimeFormat for culture sensitive formatting and now support two additional arguments—locale and options.

    In the World Data Test Drive, when you click and select a country, you can format the latest population census dates across various locales and cultures, and you can choose options like short month and year

    IE11’s new internationalization APIs support locale-specific date and time formatting with no extra code
    IE11’s new internationalization APIs support locale-specific date and time formatting with no extra code

    Summary

    IE11 culminates our first step towards evolving the JavaScript language and helping Web developer’s author world-ready applications, the standards committee continues to refine the list of proposals for the next version of the standards. As with version 1.0 of ECMAScript-402, we welcome feedback on the current set of proposals for version 2.0 to ensure we faithfully represent the needs of Web developers when the committee meets every few months.

    We look forward to exciting new world-ready Web applications that will be created using the new standards-based APIs in IE11.

    — Suresh Jayabalan, Program Manager, JavaScript Team

  • IEBlog

    A Humbling Delight

    • 24 Comments

    Moving the Web forward continues to be important. The Web and the IE team have come a long way from our first posts here. This blog will continue to cover advances and issues of interest to people who care about the Web, like HTML5, performance, touch, security, and the like.

    I’m changing roles at Microsoft, and excited to start a new team to take on something new. Microsoft will of course continue to invest in the browser, in Web standards, in developer tooling for the Web, in privacy, and in even more areas than before. There’s a new set of capable leaders who will continue the strong work.

    Please accept my thanks for all the feedback over the last nine years. The depth of passion across the range of topics here has made working on IE a humbling delight – one that I will miss. I expect to continue blogging in the near future at a different Microsoft address on a new topic.

    —Dean Hachamovitch, Corporate Vice President, Internet Explorer

  • IEBlog

    IE11 for Windows 7 Globally Available for Consumers and Businesses

    • 170 Comments

    Internet Explorer 11 (IE11) is available worldwide in 95 languages for download today. We will begin automatically updating Windows 7 customers to IE11 in the weeks ahead, starting today with customers running the IE11 Developer and Release Previews. With this final release, IE11 brings the same leading standards support--with improved performance, security, privacy, and reliability that consumers enjoy on Windows 8.1—to Windows 7 customers.

    And with Windows 8.1, IE11 delivers the best experience of your sites and apps together. IE11 on Windows 8.1 delivers an experience that is fast, fluid and perfect for touch - the best Web experience on any tablet.

    30% faster for real world Web sites

    With IE11 we continue delivering the best performance for real world Web sites on your Windows device. IE11 on Windows 7 improves performance across the board with faster page loading, faster interactivity, and faster JavaScript performance, while reducing CPU usage and improving battery life on mobile PCs.

    You can experience IE11’s leading performance first hand with demos on the IE Test Drive site where you’ll find examples of hardware accelerated rendering, interactivity, touch, and real world site patterns. EtchMark is a new test drive demo that’s an entertaining HTML5 retro-drawing experience, one that also enables you measure your browser’s performance.

    Enjoy a fun, retro-drawing experience and test your browser’s performance with EtchMark
    Enjoy a fun, retro-drawing experience and test your browser’s performance with EtchMark

     

    EtchMark shows some of what is possible on the Web today, using a broad range of technologies available to developers in IE11, including HTML5, CSS3, SVG Filters, touch, orientation events, pointer events, power efficiency, and more. EtchMark shows how IE11 makes the most of the device you have, enabling control with one or two fingers for touch as well as with the mouse. On tablets with device orientation support, you can shake the device to erase, or use orientation lock to keep EtchMark locked in the same position independent of how you are holding it.

    EtchMark uses standards-based mark-up for interoperability across browsers and makes the most of fully hardware-accelerated browsers like IE11 on both Windows 7 and Windows 8.1, with consistent performance across a wide range of Windows devices including tablets like the Surface 2.

    Leading JavaScript performance

    IE11 advances JavaScript performance, while ensuring compatibility, interoperability, and security. On Windows 7, IE11 is 9% faster than IE10, which is nearly 30% faster than the nearest competitive browser.

    IE11 extends its leadership in Javascript performance, so real-world sites are faster
    IE11 extends its leadership in Javascript performance, so real-world sites are faster

    The updated Chakra JIT compiler in IE11 supports more optimizations including inline caches for polymorphic property access, in-lining of functions at polymorphic call sites, and compilation support for specific ECMAScript5 constructs like getters/setters, so even more code is JIT’ed and less time is spent in JavaScript computation. Garbage collection utilizes the background thread much more efficiently, substantially reducing the frequency and amount of time the UI thread is blocked doing garbage collection.

    You can experience these improvements in the new Popcorn test drive demo, which uses getters/setters to enforce types and mutate properties. In the past we’ve seen developers shy away from getters/setters because of the belief that they incur too high a cost on performance. With the improvements in IE11, getters/setters are now fast enough for many use cases.

    Fast, world-ready Web applications

    IE11 includes support for the well-defined and commonly used features of the emerging ECMAScript 6 standard including let, const, Map, Set, and WeakMap, as well as __proto__ for improved interoperability. IE11 also supports the ECMAScript Internationalization API (version 1.0), which enables culture aware sorting, number formatting, date and time formatting to be performed efficiently in JavaScript without having to round-trip to the server.

    IE11's new internationalization APIs enable rich, world-ready Web applications without plug-ins
    IE11's new internationalization APIs enable rich, world-ready Web applications without plug-ins

    The World Data demo showcases how developers can utilize some of the new internationalization APIs for displaying and converting data to use native currencies, and date and time formats to create and deliver rich, world-ready Web applications without taking dependencies on plug-ins for delivering such experiences to users.

    In addition to raw performance improvements of real world sites, IE11 includes improvements to make common browsing activities faster. IE11’s improved frequent sites algorithms make getting to your favorite sites faster. Similarly, improvements in form editing controls to preserve formatting make copy-paste from Office and other apps faster and more accurate.

    Faster development with 25 new and improved modern Web standards

    For developers, IE11 brings increased support for modern Web standards powered by hardware acceleration to enable a new class of compelling applications and fast and fluid Web browsing. IE11 adds support for over 25 new or improved modern Web standards beyond IE10.

    Developers can build next-generation experiences with professional-quality Web video, and hyper-fast 2D and 3D Web technologies that make the most of the underlying hardware. IE11 supports real world standards and compatibility, and new developer tools enable developers to build high-performance Web experiences on Windows devices. Here are just a few examples of how the Web is better for developers with IE11:

    Debug faster with new F12 developer tools. IE11 supports the latest standards and frameworks actively used by Web developers. Brand new F12 tools in IE enable iterative, visual debugging and tuning of Web sites. Modern.IE enables cross-browser testing, no matter where you choose to develop.

    Hardware-accelerated 3D Web graphics. Interoperable WebGL experiences run on all devices, taking advantage of GPU acceleration. IE11 scans for unsafe WebGL content and implements a software-based renderer to complement the GPU. With Windows, graphics subsystem failures are not fatal, and WebGL continues to run. With IE11, your 3D experiences can access device orientation to create new interaction opportunities for immersive Web content.

    The existing Web continues to work – even better: IE11 is interoperable with existing sites, which just run faster and look better in IE. Of course, intranet sites and apps continue to run in IE11, which supports Compatibility View.

    Enable professional-quality video experiences on the Web. IE11 enables HTML5 video without plugins. IE11 supports the latest standards for closed captioning, streaming that adapts to available network bandwidth, and rights management—so all your video content can be as good as the professionals. Power-efficient video streaming in Windows 8.1 extends battery life for Web video.

    You can read more at the IE Developer Center and the updated IE11 Guide for Developers about the full set of new and improved Web standards supported in IE11 – listed below with links to the specifications.

    CSS3 Background and Borders Module Level 3 Performance: High Resolution Time
    CSS3 Flexbox Performance: Navigation Timing L2
    CSS Snap Points Module 1 Performance: Performance Timeline
    CSS Writing Modes Module Level 3 Performance: Resource Priorities
    ECMAScript5 Performance: Resource Timing
    HTML5 Dataset Performance: Script-Based Timing Control
    HTML5 Drag and Drop Performance: User Timing
    HTML5 Device Orientation API Pointer Events
    HTML5 Encrypted Media Extensions Simple Delivery Profile for Closed Captions (US)
    HTML5 Media Source Extensions Tracking Preference Expression (DNT)
    HTML5 Screen Orientation API Web Crypto API
    Performance: Efficient Script Yielding WebGL
      __proto__ (ES6 draft spec)

    Best experience of your sites and apps together

    IE11 puts your Web sites first, delivering the best Web on Windows across a full range of devices and screen sizes that is equally great for touch, mouse, and keyboard. You can have as many open tabs as you want, and side-by-side browsing with your favorite sites and Windows Store apps together. Here’s a quick look at some of the thinking behind the user experience of the browser from a few of the engineers who helped build IE11 for Windows 8.1.


    See some of the thinking behind the browser experience in IE11 and Windows 8.1

    The opportunities continue for HTML5 to make both Web sites and applications better. Those opportunities are exciting for everyone on the Web. As with IE11 on Windows 8.1, this release brings high performance HTML5 development to Windows 7.

    For developers building on HTML5, now is time to ready your sites for IE11. Developers can use the recently updated modern.IE to test and verify your sites, using a wizard that scans a Web page URL for common interoperability problems and suggests ideas for how to address those issues to improve the user experience across modern and older browsers.

    On behalf of the individuals and companies who have worked with us to deliver this product, and the many people at Microsoft who have built it, thank you for your feedback and for using IE11.

    Rob Mauceri and Sandeep Singhal
    Group Program Managers, Internet Explorer

  • IEBlog

    New Performance Scanning Tools on modern.IE Enable Faster Real-World Sites and Improved User Experiences

    • 26 Comments

    Today we released improvements to the modern.IE code scanner that help developers identify common patterns that improve real-site performance and can make a real impact on what users do on sites they visit. We also published a new tutorial that shows how swish.com used a combination of modern.IE and F12 tools in Internet Explorer 11 to improve their home page performance by 40% across modern browsers, including Internet Explorer. We continue to update modern.IE with tools that help developers spend less time testing browser compatibility.

    New performance testing tools in modern.IE improve page responsiveness across modern browsers

    New performance testing tools in modern.IE improve page responsiveness across modern browsers

    Scanning for Web Performance

    The scanner detects five common performance patterns. In many cases, the suggested fix is simple to make but produces a noticeable improvement in performance. Here is a summary of the new tools:

    Image Optimization
    This test scans the images on your Web page and suggests how page load speed might improve by using an image optimization service such as kraken.io. Over 60% of today’s Web site traffic is made up of images. Users visit Web pages on a wide range of devices – from mobile phones to large-screen TVs. Knowing when to send high- or low- resolution images to the browser can make a significant improvement on the user experience.

    Compressed Content
    This test identifies whether the Web page is using compression techniques like gzip. Similar to Image Optimization, site performance can improve by using content compression and then extracting and decompressing the content as the user needs it.

    Prerendering Content
    This test detects HTML markup that helps the browser identify which content a user is most likely to view next, so the browser can fetch that content in advance. This can significantly improve real-site performance because pages display faster as users navigate deeper into a site. A developer can request prerendering of an entire Web page, prefetching individual resource files, or pre-resolving DNS names. In all cases, it only requires one line of metadata to improve performance.

    Flip Ahead Browsing
    This test detects whether a Web page has implemented “prev” and “next” link relations which allow browsers to predict Web pages in a series (like when a user is browsing through a multi-page news article or a set of product search results on a commerce site. With flip ahead targets, the browser begins loading the page even before the user completes the swipe gesture. With more users than ever browsing with a touch-enabled device, the result is a Web page that feels more responsive and fast.

    HTML5 Inputs
    This test detects HTML5 Input Types – a standard, high-performance way to validate what a user in inputting. Prior to HTML5 Inputs becoming a Web standard, developers had to build custom validation functions in JavaScript which can be slower than built-in browser input validation.

    Powerful Performance Tools in IE11 and on the Web

    The modern.IE scanning tool detects many common ways that a developer might improve Web page performance and complement the IE11’s new F12 developer tools – including the UI Responsiveness and Memory profiling tools that help developers diagnose and fix performance issues. Developers often use a combination of performance tools – including webpagetest.org and PageSpeed Insights – because each tool assesses different aspects of performance: server response, network connectivity, mobile browsing, etc.

    The UI Responsiveness and Memory profiling capabilities in IE11’s F12 developer tools complement modern.IE for diagnosing and fixing Web site performance

    The UI Responsiveness and Memory profiling capabilities in IE11’s F12 developer tools complement modern.IE for diagnosing and fixing Web site performance

    Get Rewards for Trying the Tools out for Yourself

    We are challenging developers to use modern.IE and IE11’s F12 tools to help build a faster Web through the 11% for 11 challenge (hint: there’s free pizza involved). You can learn about it on the Exploring IE Blog here.

    As always, we look forward to hearing your feedback on ways we can improve modern.IE and F12 tools -- and help developers spend less time testing and more time building innovative Web experiences. You can reach out to us by e-mail or Twitter (@IEDevChat), and you can file bugs via Connect.

    Sandeep Singhal
    Group Program Manager, Internet Explorer

  • IEBlog

    Enhanced Rich Editing Experiences in IE11

    • 31 Comments

    With Internet Explorer 11, Web-based applications and sites can offer rich editing experiences enabling users to easily capture and share data. Online and cloud-based content creation scenarios, such as e-mail and Web-based document editing—including Office 365, rely on the contentEditable feature of HTML5. With IE11, users can now paste images from a variety of input sources, copy lists while preserving formatting, and undo their editing more easily.

    Pasting Images from All Sources and with Full Control

    With IE11, Web sites now have direct access to images pasted from the clipboard. IE11 is the first browser that supports both pasting images directly from clipboard (for example, from photo editing software or from PrintScreen) and pasting HTML that incorporates local images (for example, from applications such as Microsoft Office that store images temporarily in local paths). Either DataURI or Blob can be used to encode these images.

    With the new DataURI encoding capability in IE11, Web sites can automatically support pasting images from the clipboard, without requiring additional Javascript. By default, IE11 pastes images from the clipboard by converting them into DataURI and inserting them as HTML in the contentEditable. For example, if you draw a red box in photo editing software and copy it into contentEditable, the image becomes an <img> tag within the markup that you are editing:

    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAI
    AAAFSDNYfAAAAaklEQVR42u3XQQrAIAwAQeP%2F%2F6wf8CJBJTK9lnQ7FpHGaOurt1
    I34nfH9pMMZAZ8BwMGEvvh%2BBsJCAgICLwIOA8EBAQEBAQEBAQEBK79H5RfIQAAAAA
    AAAAAAAAAAAAAAAAAAAAAAID%2FABMSqAfj%2FsLmvAAAAABJRU5ErkJggg%3D%3D"> 

    Web developers can choose to use a Blob instead of DataURI by adding a few lines of code. By using blobs, applications can process the image data directly. For example, a Web mail client may need to encode images into MIME format before uploading them to the cloud. Applications that use blobs manage object lifetime, in contrast to DataURI, which does not require object management.

    The new clipboard APIs in IE11 make supporting image paste as Blob very easy. The following code will convert all pasted images to Blob.

    var blobList = [];
    <htmlObject>.addEventListener("paste", 
        function()
        {
            var fileList = clipboardData.files;
            for (var i = 0; i < fileList.length; i++)
            {
                var file = fileList[i];
                var url = URL.createObjectURL(file);
                event.msConvertURL(file, "specified", url);
                blobList.push(file);
            }
        } );
    

    Here is a table that summarizes how to choose between dataURI and blob:

      DataURI Blob
    Requires extra JavaScript code No Yes
    Works when pasting images from clipboard Yes Yes
    Works when pasting HTML that references local images Yes Yes
    Where image data is stored Inline inside pasted HTML (can expand the size of HTML dramatically) External reference (no concern with HTML size but the application needs to handle exporting images when sending the HTML)
    Flexibility of image data Low (needs to be extracted from HTML first) High (can be processed using the blob reference)

    You can try image paste out for yourself in the Paste Image Test Drive where you can switch between using DataURI and Blob to paste images.

    The Paste Image Test Drive tests whether your browser can paste images using either DataUIri or Blob

    The Paste Image Test Drive tests whether your browser can paste images using either DataUIri or Blob

    Pasting Lists as HTML Lists

    With IE11, users can paste lists from popular office applications and continue editing that list within the browser. After pasting the list, the user can simply press enter at the end of the list to create new items. This capability is particularly valuable when pasting formatted content from word processing applications such as Microsoft Word. IE11 recognizes that the formatted text contains a list and converts it into a real HTML list using <ul> or <ol> elements, so you can edit the list in the way you would expect.

    Pasting and editing formatted lists from applications such as Microsoft Word (left) is easy and natural in IE11 (right)

    Pasting and editing formatted lists from applications such as Microsoft Word (left) is easy and natural in IE11 (right)

    Rich and Natural Undo Experiences

    With IE11, Web pages automatically receive better undo experiences, and Web developers have fine-grain control over how DOM manipulations in script participate in the undo stack. In most cases, developers do not need to worry about the undo stack, and IE11 just works as expected. For example, if the page contains a “bold” button that calls execCommand(“bold”) when clicked, IE11 automatically supports undo of this action, so the user can hit Ctrl-Z to unbold the text. IE11 tracks each script-initiated DOM change and puts it into a separate undo unit.

    IE11’s default undo stack handles most simple script editing, but sometimes, Web developers need to support more complex, multi-step editing. For example, the page may detect that the user has typed “:)”, delete this text, and insert a smiley face glyph. In this case, IE ordinarily would create two undo units (one for the deletion and the other for the insertion), and the user must hit Ctrl+Z twice to undo the script change—probably not what you would expect. IE11 adds two new commands so Web developers make this scenario work: you can call ms-beginUndoUnit, run your script, and then call ms-endUndoUnit. All the DOM changes in between the two commands will be grouped into a single undo unit.

    Web developers can programmatically reset the undo history using the ms-clearUndoStack command. This capability is helpful if you reuse your editor instance for multiple contexts. For example, when the user is replying through multiple emails, you can clear the undo stack from the previous email whenever a new one is opened.

    You can try the Undo Test Drive which uses the new commands to group undo units during the auto-replacement of smiley face.

    The Undo Test Drive tests multi-step undo operations in your browser

    The Undo Test Drive tests multi-step undo operations in your browser

    Summary

    With Internet Explorer 11, Web-based applications and sites can offer rich editing experiences enabling users to easily capture and share data. Users can create rich content with automatic image paste, improved copy-and-paste of formatted lists, and natural undo.

    Try out these new capabilities with IE11 on either Windows 7 or Windows 8.1, and share your feedback with us through Connect.

    Jianfeng Lin and Ben Peters
    Program Managers, Internet Explorer

  • IEBlog

    Enabling new interoperable panning experiences through the CSS Scrolling Snap Points Specification

    • 20 Comments

    Today, we submitted a new proposal to the W3C, CSS Scrolling Snap Points, designed to enable fast and fluid panning experiences for touch and other input devices, based on APIs introduced in IE10 and improved in IE11. These APIs enable developers to more easily build panning experiences such as paginated content and scrolling photo galleries that are perfect for touch and work just as easily with mouse, keyboard, or trackpad. A great example of this experience is the MSN homepage optimized for Windows 8:

    The MSN Homepage optimized for Windows 8

    Users can swipe left or right to browse the day’s headlines. Using CSS Snap Points, Internet Explorer lights up this experience using the same hardware-accelerated panning technology used for panning a Web page with touch in IE. Users get the stick-to-your-finger performance with inertia panning and over-pan bounce that they expect. Additionally, the browser snaps the content to the nearest headline after the user pans.

    The code for such an experience is simple, requiring just 2 new lines of CSS:

    <style>
        .photoGallery {
        width: 500px;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        /* Set up points to which scrolling will snap*/
        -ms-scroll-snap-points-x: snapInterval(0px,100%);
        /* Require that scrolling always end at a snap point */ 
        -ms-scroll-snap-type: mandatory; 
        } 
    </style> 
    <div class="photoGallery"> 
      <img src='img1.jpg'><img src='img2.jpg'><img src='img3.jpg'><img src='img4.jpg'><img src='img5.jpg'> 
    </div>  
    

    This code works with touch swipe in IE10 and IE11; new in IE11, this same markup automatically works with mouse wheels, arrow keys, and trackpads—allowing users to access these experience no matter the device they happen to be browsing with at the moment. Enabling a similar experience by writing JavaScript can take hundreds of lines of code, often doesn’t offer stick-to-your-finger manipulation, and typically stutters in performance on low-end hardware.

    Coming on the heels of Pointer Events reaching Candidate Recommendation and just a year after our initial proposal of Pointer Events to the W3C, CSS Snap Points is another way that we are advancing the Web by providing rich, immersive experiences that are perfect for touch and work well across other input modalities.

    -Jacob Rossi and Matt Rakow, Program Managers, Internet Explorer

  • IEBlog

    IE11 Automatic Update Blocker Toolkit Available for Windows 7

    • 13 Comments

    Business and organizations that want to manage their own update schedule can use the IE11 Automatic Update Blocker Toolkit to disable automatic delivery of Internet Explorer 11. This Blocker Toolkit—like its predecessors for IE10, IE9, IE8, and IE7—is now available on the Microsoft Download Center. While we encourage all customers to upgrade their browser to the latest version as quickly as possible, this approach enables organizations to control when they are ready to deploy IE11 to their Windows 7 users. All other Windows 7 users not using the toolkit will be automatically upgraded to IE11 through Windows Update.

    The IE11 Automatic Update Blocker Toolkit can be used to prevent Internet Explorer 11 from being automatically installed on users’ Windows 7 machines when it is available via Automatic Update. This Toolkit has no expiration date and is configured either by running the registry file on the client machine or by deploying Group Policy in domain joined environments. The toolkit also provides an unblock procedure that allows IE11 to be installed through Automatic Update.

    When an IE11 Preview version is installed on Windows 7, the IE11 Automatic Update Blocker Toolkit does not block automatic deployment of IE11. This ensures that users running IE11 Developer Preview or IE11 Release Preview continue to receive the latest security fixes. Additionally, the toolkit does not prevent users from manually installing IE11 from the Microsoft Download Center.

    There are different registry keys used to block or unblock automatic delivery of IE11, IE10 and IE9. Previous IE Blocker Toolkits for IE10 or IE9 will not block IE11 from being offered as an important update -- the IE11 Blocker Toolkit must be used to prevent IE11 from being offered via Automatic Update.

    Organizations that use an update management solution such as Windows Server Update Services (WSUS) or System Center Configuration Manager (SCCM) do not need to deploy the IE11 Automatic Update Blocker Toolkit. WSUS and SCCM allow organizations to fully manage deployment of updates released through Windows Update, including IE11.

    Jeff Pape
    Program Manager, Internet Explorer

  • IEBlog

    Easier Browsing for the Blind and Visually Impaired in IE11

    • 16 Comments

    Internet Explorer 11 makes browsing the Web easier for blind and visually impaired users who rely on screen readers, such as Windows Narrator. With the editing and input improvements in IE11, screen readers can better inform users about the current content of an editing region, and typing with East Asian languages using an Input Method Editor (IME) is now easier. With these changes, IE11 improves the experience of the next generation of cloud-based applications for a growing portion of the world’s population.

    Notifications Keep Users of Screen Readers Better Informed

    IE11 improves editing in e-mail and online Web document applications by notifying screen readers about both automatic and user-initiated text changes. Here are a few examples of the new notifications in IE11:


    • Auto-correct: Internet Explorer auto-corrects misspelled words. For example, if a user types “teh” in English, it will be corrected to “the.” IE11 adds a new notification so screen readers can inform users that auto-correct is happening.
    • Backspace: As a user types, the screen reader announces each keystroke. However, simply hearing ‘backspace’ announced is not particularly helpful because it is hard to know what is being deleted. IE11 notifies the screen reader which letter was deleted, so it can be announced.
    • Formatting: When reading or writing an email or other Web content, users need to understand the formatting of the message, not just the raw text. IE11 provides more detailed notifications to screen readers, so users can better understand the content they are reading or editing. For example, Microsoft Narrator says “bold” and “end bold” to let the user know that a section of text was emphasized with bold styling. You can try it out for yourself in Microsoft Narrator by enabling Verbose Mode using Caps Lock + A. This video demonstrates how Microsoft Narrator reads formatting information.

    With IE11, screen readers can share text formatting details with blind and visually impaired users

    Better Input with East Asian Languages

    Input Method Editors (IMEs) are used to type East Asian languages using a typical English keyboard. For example, using the Japanese IME, a user can type a Japanese character phonetically (“su”), and the IME will display a list of candidates for the corresponding Japanese character (す). With IE11, screen readers can now read the candidate characters to the user. For example, in this video, Microsoft Narrator announces the list of candidates, along with the current target, as the user types “すし” (sushi). Users are also told when their candidate is finalized.

    With IE11, screen readers can announce text input candidate characters from an IME

    Web authors and users will get this functionality with all screen readers that have implemented the new capability.

    Summary

    IE continues to improve Web access for all users. With these new features, writing email and other documents is easier with IE while using a screen reader. Try it out now with Microsoft Narrator and IE11 on Windows 8.1. We look forward to receiving your feedback on Connect.

    Ben Peters
    Program Manager, Internet Explorer

  • IEBlog

    October 2013 Internet Explorer Updates

    • 15 Comments

    Microsoft Security Bulletin MS13-080 - Critical

    This security update resolves eight privately reported and two publicly disclosed vulnerabilities in Internet Explorer. The most severe vulnerabilities could allow remote code execution if a user views a specially crafted Web page using Internet Explorer. An attacker who successfully exploited the most severe of these vulnerabilities could gain the same user rights as the current user. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

    This security update is rated Critical for Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, Internet Explorer 9, and Internet Explorer 10 on Windows clients and Moderate for Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, Internet Explorer 9, and Internet Explorer 10 on Windows servers. For more information, see the full bulletin.

    Recommendation. Most customers have automatic updating enabled and will not need to take any action because this security update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

    For administrators and enterprise installations, or end users who want to install this security update manually, Microsoft recommends that customers apply the update immediately using update management software, or by checking for updates using the Microsoft Update service.

    Update for Flash Player (2886439)

    On October 8th, an 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 bug fixes and new features are documented in Adobe release notes for Flash Player 11.9.

    Most customers have automatic updating enabled and will not need to take any action because this update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

    — Wilson Guo, Program Manager, Internet Explorer

  • IEBlog

    Introducing BrowserSwarm – Spend less time testing your next JavaScript project

    • 26 Comments

    Today, along with appendTo and Sauce Labs, we are releasing BrowserSwarm – an open source tool that helps Web developers automate testing of their JavaScript frameworks and libraries across devices and browsers. Quality frameworks are the foundation for the modern Web, but framework developers often do not have the resources to test across browsers. BrowserSwarm helps developers build great, interoperable frameworks. The project complements modern.IE, which provides a set of free tools and resources to help developers build Web sites for all modern browsers.

    You can set-up your BrowserSwarm account in minutes here.

    BrowserSwarm: Fast, Actionable Test Results

    BrowserSwarm connects directly to your team’s code repository on GitHub and uses Sauce Labs’ cloud to automatically run Unit Tests using QUnit. A simple report separates which test cases passed and failed so you can quickly see what needs to be fixed.

    BrowserSwarm provides test results using top frameworks and libraries such as prototype.js and Modernizr. You receive an overall pass rate across browsers and devices, along with individual test pass rates for top browsers.

    Here is an example from a recent Job for underscore.js:

    Sample BrowserSwarm test result page for underscore.js

    Sample BrowserSwarm test result page for underscore.js

    Individual job reports display only the test cases that fail, so you can quickly focus on what needs to be fixed. You can always view the full test output if you are familiar with running Unit Tests in QUnit.

    Sample BrowserSwarm detailed error report

    Sample BrowserSwarm detailed error report

    Community Contributions Make BrowserSwarm Testing Even Better

    The testing power of BrowserSwarm grows as the community contributes to the open source project. Here are a few ways that you can help grow BrowserSwarm:

    • More projects – Add yours to BrowserSwarm here.
    • More test cases – Contribute new Unit Test Frameworks or Test Cases to run.
    • More places you store your code – We have connected BrowserSwarm to GitHub, but you can connect it to your own repository.

    Please share your feedback and ideas on how we might improve BrowserSwarm.

    Our Commitment to the Web – Interoperability, Tools, and Resources

    BrowserSwarm is an open source partnership – continuing our long history of working with the community to make the Web better. We have over 90 Microsoft people involved in 63 W3C working groups, and we have submitted thousands of test cases and hundreds of core reference docs to WebPlatform.org. With the new F12 Developer Tools in IE11, free site scanning tool on modern.ie, and free virtual machines, we continue to help developers build a new class of modern Web experiences.

    Sandeep Singhal
    Group Program Manager, Internet Explorer

    Questions? Suggestions? Reach out to @IEDevChat.

  • IEBlog

    IE11 Release Preview for Windows 7: 30% Faster than Other Browsers and Even More Support for Web Standards

    • 89 Comments

    Internet Explorer 11 continues to provide the best Web experience that is fast, fluid and perfect for touch, across the full range of Windows devices and screen sizes. The IE11 Release Preview for Windows 7 is available for download today and includes performance improvements making it 30% faster than other browsers, updates to support the latest Web standards, and developer tools improvements in response to your feedback on the IE11 Developer Preview for Windows 7.

    This video shows some of the performance and developer tools enhancements in IE11 Release Preview for Windows 7

    With IE11 on Windows 7, customers receive a fast, secure browser that is compatible with existing Web sites and delivers exciting new interactive Web experiences. For developers, IE11 supports the latest Web standards and technologies, making it easier to build sites that work across devices. The new F12 tools in IE11 enable developers to build high performance Web experiences, faster and more efficiently.

    A Faster Web Experience

    Performance matters to everyone who browses the Web. The IE11 Release Preview for Windows 7 includes additional performance tuning so that real-world sites download and display fast and are highly responsive and interactive.

    You can experience IE11’s leading performance first hand with demos such as Levitation, Lawnmark, and Lite-Brite on the IE Test Drive site, showing real world Web site patterns for graphically rich, interactive, and 3D experiences. In honor of tomorrow's International Talk Like a Pirate Day, our newest test drive demo, PirateMarrrk, tests your browser’s HTML5, JavaScript, and Scalable Vector Graphics performance.

    The new PirateMarrrk test drive demo tests your browser’s HTML5, JavaScript, and Scalable Vector Graphics performance.

    The new PirateMarrrk test drive demo tests your browser’s HTML5, JavaScript, and Scalable Vector Graphics performance.

    Internet Explorer 11 advances the performance leadership of our JavaScript engine, Chakra, while ensuring compatibility, interoperability, and security. As we improve performance for real-world sites, IE11’s JavaScript performance on benchmarks like WebKit SunSpider continues to lead compared with latest version of other browsers. On Windows 7, IE11 Release Preview is 9% faster than IE10, which is a 5% improvement from the IE11 Developer Preview, and over 30% faster than the nearest competitive browser.

    IE11 extends its leadership in Javascript performance, so real-world sites are faster

    IE11 extends its leadership in Javascript performance, so real-world sites are faster

    Even More Web Standards and Increased Compatibility with Existing Web Sites

    IE11 Release Preview for Windows 7 includes updates to reflect the latest emerging Web standards. For example, now that the Pointer Events specification is a Candidate Recommendation at the W3C, IE11 supports an un-prefixed version of the emerging standard. With Pointer Events support across the full range of Windows devices (and soon to other browsers), Web sites can easily build experiences that work equally well with mouse, keyboard, pen, and touch.

    IE11 Release Preview for Windows 7 adds new user controls for the Standard Delivery Profile for Closed Captioning. With the new control, accessible from the Internet Options menu, users can customize how captions appear in the browser, even overriding the default styling provided by the video source. This customization further advances IE11 as the best browser for professional-quality online video without plugins.

    With IE11, users can customize the appearance of closed captions, enabling an improved online video experience

    With IE11, users can customize the appearance of closed captions, enabling an improved online video experience

    The IE11 Release Preview for Windows 7 also supports the latest Tracking Preference Expression (DNT) draft in the W3C. After installation, the IE11 Release Preview prompts the user set a default tracking preference that Internet Explorer will send to Web sites. On upgrade, IE11 Release Preview automatically preserves the user’s previous tracking preferences. .

    Faster, More Efficient Developer Tools Productivity, Based on Your Feedback

    IE11 includes a completely re-designed and enhanced suite of in-browser F12 developer tools. These tools help Web developers diagnose and optimize their apps quickly and efficiently. Having fast and reliable Web apps is more critical than ever.

    The IE11 Release Preview for Windows 7 includes several tools enhancements to increase developer productivity and in response to the overwhelming enthusiasm and feedback we have received from developers. Here are just a few of the many improvements:

    • Console: IE11 makes it easier to debug WebGL content by mapping WebGL errors to the corresponding JavaScript location. Developer productivity is improved because primitives have been added to Intellisense. With IE11, developers can debug multi-threaded Web sites with full console access while targeting Web workers.
    • Debugger: An improved file picker allows faster access to files in a complex Web project.
    • DOM Explorer: With IE11, developers can tune Web sites more quickly by editing CSS property values and seeing those edits in the Live DOM without having to press the enter key
    • Memory: To make it easier to narrow down the source of memory leaks, the F12 tool now identifies what operations were performed on allocated data between memory snapshots.

    The IE11 Memory tool identifies which memory was allocated, de-allocated, or modified between snapshots, supporting faster memory tuning and diagnosis

    The IE11 Memory tool identifies which memory was allocated, de-allocated, or modified between snapshots, supporting faster memory tuning and diagnosis

    • Networking: A new “always refresh from server” option creates reproduceable performance results while developers rapidly iterate to tune their site performance. The tool also includes new Search Next and Search Previous functions for analyzing complex network traces.

    With IE11, the “always refresh from server” option supports iterative development by producing reproducible network performance results each time you reload the page

    With IE11, the “always refresh from server” option supports iterative development by producing reproducible network performance results each time you reload the page

    A Better Web Today, and Ahead

    IE11 provides the best Web experience across the full range of Windows devices and screen sizes with mouse, keyboard, and especially touch. Try it out for yourself with Windows 8.1 RTM from MSDN, and if you are a Windows 7 user, download the IE11 Release Preview today. Virtual Machine images of IE11 Release Preview for Windows 7 will also be available on modern.ie later this week.

    Now is the time for developers to confirm that your Web sites are ready for the hundreds of millions of Windows devices and customers moving to IE11 and for business customers to verify your readiness to deploy IE11. You can find a full list of new functionality available to developers in the IE11 Developer Guide here.

    We look forward to your feedback. Please share your suggestions on Connect.

    Sandeep Singhal and Rob Mauceri
    Group Program Managers, Internet Explorer

  • IEBlog

    Using Hardware to Decode and Load JPG Images up to 45% faster in Internet Explorer 11

    • 44 Comments

    Internet Explorer 11 and Windows Store Apps on Windows 8.1 offload parts of the image decoding pipeline to the graphics hardware, resulting in up to 45% faster image load, up to 40% lower memory consumption, and improved battery life. Images on average account for the most bytes downloaded on the Web today. To improve the performance of loading JPG images, IE11 has streamlined its JPG decoding by moving some steps of the decoding process directly to the GPU where it can be done significantly faster and in parallel.

    JPG Image Format

    Images account for 61% of bytes downloaded on the Web today, and 47% of image requests are for JPG images. By using hardware more efficiently to decode JPG images, IE11 now loads JPG images up to 45% faster and uses up to 40% less memory over previous IE versions.

    To understand these performance improvements, let’s start by looking at how JPG images are typically encoded. The first step of JPG encoding is to convert the bitmap from the RGB color space to YCbCr color space.

    Image of the JPG Encoding Process

    RGB defines color in three color components: red, green, and blue. If we break down this image of the Grand Tetons in to its RGB color channels, you can see that there is a high degree of detail in each of the channels. The amount of memory required by IE for an image in the RGB color model can be calculated by multiplying image width x image height x 32 bits.

    Image of the Grand Tetons with its Red, Blue, and Green components

    Image of the Grand Tetons with its Red, Blue, and Green components

    YCbCr (commonly referred to as YUV color space) defines a color space in terms of one luma (Y) and two chroma (CbCr) components. The luma component represents the brightness information of a color. The chroma components contain the color differences, with Cb containing the blue difference and Cr containing the red difference. The figure below shows the same image of the Grand Tetons broken down into its Y, Cb, and Cr channels.

    Image of the Grand Tetons with its Y, Cb, Cr channels

    Image of the Grand Tetons with its Y, Cb, Cr channels

    The next step in the encoding process is to compress the image size using a lossy compression known as chroma subsampling. The chroma channels can be significantly compressed because the human eye is more sensitive to the brightness of an image and less sensitive to color or hue. For example, looking at the Cb and Cr channels, the last two on the right, you can see that there is very little information contained in these channels relative to the Y channel. The level of subsampling is typically expressed using a three part ratio, e.g., 4:2:0. The first part of the ratio represents a horizontal sampling reference, and the second two parts represent the number of chrominance samples in the first and second rows of that sampling reference. Chroma is typically subsampled at one of three levels:

    • 4:4:4, where the chroma data isn’t subsampled
    • 4:2:2, where the chroma data is downscaled horizontally by 2,
    • 4:2:0, where the chroma data is downscaled horizontally and vertically by 2.

    A 4:2:0 subsampled YCbCr JPG image can use up to 62.5% less memory than the original RGB bitmap! Most JPG images used on the Web today are already in 4:2:2 or 4:2:0 chroma subsampling modes. Most image processing tools will automatically subsample to 4:2:2 or 4:2:0 when using the ‘Save for Web’ option.

    Once the image has been subsampled, the discrete cosine transformation, quantization, and Huffman encoding processes are also applied to get the final encoded JPG image.

    More Efficiently Using Hardware in IE11

    To decode a JPG image, you run the same encoding steps in reverse. Traditionally, IE had always decoded JPG images into RGB bitmaps by running all of the below decoding steps directly on the CPU. At render time, IE would copy the RGB bitmap to the GPU for rendering.

    Image of the JPG Decoding Process

    To more efficiently use the hardware, IE11 now splits the JPG decoding work between the CPU and GPU. IE11 decodes the JPG image into the chroma subsampled YCbCr color space on the CPU, but then does the chroma upsampling and YCbCr to RGB color conversion steps on the GPU at draw time, where it can happen much faster and in parallel. This process frees CPU time to perform other operations, as the CPU is a common bottleneck in modern sites and apps. In addition to the decode time improvements, copying the much smaller YCbCr image to the GPU reduces the amount of memory that is copied and stored on the GPU (a limited resource). Using less CPU and memory also reduces power consumption and increases data locality.

    The below CPU chart shows the amount of time it takes to decode and draw a 4:2:0 subsampled YCbCr JPG version of the Grand Tetons image on IE10 on Windows 8. Image decoding took 31.9ms, and total time to draw the image was 81.5ms.

    The below CPU chart shows the amount of time it takes to decode and draw a 4:2:0 subsampled YCbCr JPG version of the Grand Tetons image on IE10 on Windows 8. Image decoding took 31.9ms, and total time to draw the image was 81.5ms.

    If we load the same JPG image on IE11 on Windows 8.1, you can see that the decode time is now only 17.9ms, which is an improvement of 44%! The total time to draw the image is now 57.5ms, which is 30% faster.

    If we load the same JPG image on IE11 on Windows 8.1, you can see that the decode time is now only 17.9ms, which is an improvement of 44%! The total time to draw the image is now 57.5ms, which is 30% faster.

    Because most JPG images on the Web today are in YCbCr format, IE11 on Windows 8.1 users will experience these improvements automatically. We recommend that developers ensure their JPG images are compressed in 4:2:2 or 4:2:0 chroma subsampling modes to maximize the performance benefits of hardware accelerating the JPG decoding pipeline.

    Summary

    By using the hardware more efficiently to decode JPG images, IE11 improves the performance of nearly every page you browse, while also improving the power consumption and battery life of your device. Please install the Windows 8.1 Preview from the Windows Store and try IE11. As always, we welcome your feedback, either through the IE11 Send Feedback tool or on Connect.

    Jatinder Mann, Internet Explorer Program Manager

  • IEBlog

    September 2013 Internet Explorer Updates

    • 8 Comments

    Microsoft Security Bulletin MS13-069 - Critical

    This security update resolves ten privately reported vulnerabilities in Internet Explorer. The most severe vulnerabilities could allow remote code execution if a user views a specially crafted Web page using Internet Explorer. An attacker who successfully exploited the most severe of these vulnerabilities could gain the same user rights as the current user. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

    This security update is rated Critical for Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, Internet Explorer 9, and Internet Explorer 10 on Windows clients and Moderate for Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, Internet Explorer 9, and Internet Explorer 10 on Windows servers. For more information, see the full bulletin.

    Recommendation. Most customers have automatic updating enabled and will not need to take any action because this security update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

    For administrators and enterprise installations, or end users who want to install this security update manually, Microsoft recommends that customers apply the update immediately using update management software, or by checking for updates using the Microsoft Update service.

    Microsoft Security Advisory (2755801)

    On September 10th, an 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 APSB13-21

    The update addresses vulnerabilities in Adobe Flash Player by updating the affected Adobe Flash libraries contained within Internet Explorer 10 and 11.  For more information, see the advisory.

    Most customers have automatic updating enabled and will not need to take any action because this update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

    — Ceri Gallacher, Program Manager, Internet Explorer

  • IEBlog

    Online Professional Quality Video: Premium media experiences without plug-ins in Internet Explorer 11

    • 40 Comments

    Internet Explorer 11 introduces new plug-in free audio and video streaming that is based on the latest proposed extensions to the HTML5 video specifications and is built on the latest operating system media and power management capabilities. The new media features in Internet Explorer 11 and Windows 8.1 combine to achieve “Professional Quality Video” - Web video that is just as great for personal videos as it is for premium TV and movies.

    With Professional Quality Video, streams start promptly and play smoothly. The best video quality possible with your device and network is automatically selected, and premium movies play just like any other video. Videos can be consumed at home or on the go. You can listen to quality audio for the full experience, or watch the video with captions for privacy. And, this great experience does not require you to sacrifice battery life.

    You can see Professional Quality Video right now on Netflix.com. Netflix worked with Microsoft on a new version of their full premium video service built entirely on these new features. The result: The full Netflix website works without plug-ins using IE11 on Windows 8.1. To experience this for yourself, install the Windows 8.1 Preview, visit netflix.com, sign in or start a free trial, and watch your favorite movies or TV shows using this technology. Or visit the Netflix Demo on our Test Drive site for a free preview.

    The Netflix Demo lets you try the Netflix plug-in free experience running on IE11
    The Netflix Demo lets you try the Netflix plug-in free experience running on IE11

    If you are interested in exploring video streaming in more detail, try the Professional Quality Video Test Drive demo as well. Using the Test Drive sample, you can interact with adaptive streaming while playing a selection of regular and protected media.


    Explore Professional Quality Video in IE11 on IE Test Drive

    IE11 Supports the Latest Media Specifications

    Until recently, browsers did not support the full capabilities required for Professional Quality Video, so users had to install browser plug-ins such as Adobe Flash or Microsoft Silverlight. As a result, Web developers could not deliver video experiences that would easily interoperate across browsers.

    To enable Professional Quality Video with HTML5 video, Microsoft is working in the W3C HTML Working Group, the Timed Text Working Group & the Web Cryptography Working Group. IE11 supports the latest updates from this work, including:

    Media Source Extensions (MSE)

    You’ve surely played progressive download videos before and seen what happens when the network can’t keep up with video playback. First, the player software waits while some content is buffered, and then playback starts. If network throughput can’t keep up with the video bitrate, the buffer eventually runs out of data, and playback pauses while more data is buffered. This means you wait for your video when you should be watching it. Often, you need to choose from several available video qualities. If you choose a quality that is too high, you either put up with frequent pauses to re-buffer or start over with a lower quality selection.

    Adaptive streaming is an elegant solution to this problem, enabling a fluid and smooth video experience. The video service creates multiple bitrate representations of the content and can switch between them based on current network or video rendering capacity. That means the service can start with an intermediate quality and switch to a higher or lower quality based on current conditions. There is no more stopping to re-buffer.

    var that = this;

    console.log("Loading MEDIA segment from: " + seg.url);

    this.appending = true;

    this.activeDownload = downloadArrayBuffer(seg.url, null, function (data) {

    if (data) {

    that.eos = false;

    that.sb.appendBuffer(data);

    that.segCursor++;

    } else {

    that.appending = false;

    }

    });

    Sample code that appends time indexed data onto an MSE source buffer

    Media Source Extensions (MSE) support adaptive streaming for browsers by making a simple but powerful change to HTML 5 video. Instead of pointing to a media file as the video element source, MSE points at a buffer. Using source buffers, webpage JavaScript can append data in time segments and adjust the quality between segments as necessary. Data is allowed to play uninterrupted, and the highest possible video quality can be viewed.

    With Windows 8.1 Preview installed, try the Professional Quality Video demo to explore MSE. It provides a slider that allows direct selection of various streaming bitrates, so you can see firsthand the fluid switching between quality levels that is possible with MSE adaptive streaming.

    The Professional Quality Video Demo shows adaptive streaming and DRM playback
    The Professional Quality Video Demo shows adaptive streaming and DRM playback

    What about MPEG-DASH? MPEG-DASH is an emerging specification for Internet Streaming. MSE in Internet Explorer 11 on Windows 8.1 supports MPEG-DASH content that adheres to the ISO BMFF profiles defined in the specification. So MSE can be used to build an MPEG-DASH client entirely using HTML5 and JavaScript in the browser. A compatible DASH.js reference player has been developed with contributions from multiple companies, including Microsoft Open Tech.

    Encrypted Media Extensions (EME)

    EME takes the proprietary interfaces exposed by various Digital Rights Management (DRM) systems and abstracts them into common data exchanges and events. Under the covers, the DRM systems can maintain their unique capabilities and implementation details, like how and where digital licenses are stored. From the Web site’s perspective, the EME exchanges are common, and the JavaScript necessary to implement them is consistent.

    New file formats offer help here as well. By using ISO MPEG Common Encryption, Web media services can set up uniform libraries that are compatible with more than one DRM solution. A service can choose to support more than one DRM to broaden the range of browser/DRM solutions that are compatible with its Web site, without having to re-encode their library for each DRM solution.

    In EME, browsers connect to DRM providers through Content Decryption Modules (CDMs). The CDM in Internet Explorer 11 supports Microsoft’s PlayReady DRM, the same DRM supported for Windows 8 Apps, and also for a variety of devices via the PlayReady Porting Kit.

    The Professional Quality Video Test Drive demo includes some DRM protected content. Browse the left column for files identified as protected and see how easily they can be played. Netflix uses EME in on their Test Drive demo and site as well.

    Simple Delivery Profile – US

    We’ve written before about the emerging Simple Delivery Profile – US specification that enables rich and engaging caption streaming. SDP-US gives you control over caption placement, presentation, font, font styles, font colors, font background, and window colors and transparencies. And you can move captions easily between various locations on the screen.

    The Captions Demo on IE Test Drive shows rich styling capabilities
    The Captions Demo on IE Test Drive shows rich styling capabilities

    Internet Explorer 11 is the first major browser to fully support SDP-US. For devices that play Internet media, Internet Explorer 11 meets all of the FCC requirements that take effect in the United States starting in January, 2014. You can explore different caption presentations using the SDP-US Captions Test Drive demo.

    Web Crypto

    Internet Explorer 11 is also the first major browser to support the emerging Web Crypto specification. Though it is not strictly a media specification, Web Crypto is useful for device and user authentication, which makes it important for Professional Quality Video scenarios.

    Web Crypto exposes a broad range of cryptographic capabilities to Web sites. The Web Crypto APIs can be used to generate cryptographically random numbers, create hashes, generate and verify signatures, and encrypt and decrypt data. Using Web Crypto, you can authenticate devices without deploying certificates from the server and can implement device counting strategies. In addition, you can send wrapped keys to your clients, and un-wrap those keys in the client without exposing the key material to the browser or your end-users. To try it out, check out the Password File Encryption Test Drive demo using Windows 8.1 and use it to encrypt and decrypt a file.

    Windows 8.1 Enables Power-Efficient Media Streaming

    Windows 8.1 has media capabilities that make Internet Explorer 11 more power efficient by taking full advantage of system hardware. Together, the browser and operating system enable Professional-Quality Video.

    48 Hz Displays

    Windows 8.1 is the first OS to support the automatic and seamless changing of the system refresh rate in response to on-screen content. If the system’s display panel reports that it is capable of seamlessly transitioning to lower refresh rates, the OS will automatically utilize this capability on behalf of XAML/HTML5-based apps. For example, during 24fps (film-content) full-screen video playback, the OS will lower the refresh rate from 60 Hz to 48 Hz without any interruption or indication the refresh rate has been changed. If the user exits video playback or brings up any other non-video content on screen, the refresh rate will immediately and seamlessly change back to 60 Hz to ensure that the UI/application remains responsive. This technique is used for both 24fps and 25fps video, and results in improved video quality due to the elimination of judder-inducing 3:2 pull-down. Furthermore, running at lower refresh rates reduces power consumption in both the CPU and the display panel. On typical tablets with supported display panels, power savings from this feature result in over 30 minutes of increased viewing time!

    Full-Screen Playback Optimization

    Most users watch long videos in full-screen, and Windows 8.1 performs additional optimizations in that mode. For example, when you are in full-screen video mode, the operating system will coalesce timers and park CPU cores to save power by matching the characteristics of the full screen video playback workload. In addition, Internet Explorer 11 supports the HTML Full Screen API, making it simple for your Web site to fill the screen during video playback.

    Power-Efficient Streaming

    Windows 8.1 and Internet Explorer 11 also optimize the download and delivery of streaming media. XHRHttpRequests can now save power by transferring data directly to memory without first caching to disk. To further enhance power savings, MSE enabled streams automatically use audio offload hardware on systems that support this capability.

    Summary

    Professional quality online video is now a reality, enabled by emerging Web specifications implemented in IE11, and supported by Windows 8.1 operating system features for power-efficient video playback. Adaptive streaming, protected media playback, captioning and encryption expand the building blocks available for authoring Professional Quality Video Web sites. Read the specs, check out the demos and see for yourself how Internet Explorer 11 can help you build compelling online video experiences.

    Please install the Windows 8.1 Preview from the Windows Store and try the combined browser and OS media experience in IE11. We look forward to your feedback, either through the IE11 Send Feedback tool or on Connect.

    -- Jerry Smith, Senior Program Manager, Internet Explorer

  • IEBlog

    August 2013 Internet Explorer Updates

    • 41 Comments

    Microsoft Security Bulletin MS13-059 - Critical

    This security update resolves eleven privately reported vulnerabilities in Internet Explorer. The most severe vulnerabilities could allow remote code execution if a user views a specially-crafted Web page using Internet Explorer. An attacker who successfully exploited the most severe of these vulnerabilities could gain the same user rights as the current user. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

    This security update is rated Critical for Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, Internet Explorer 9 and Internet Explorer 10 on Windows clients and Moderate for Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, Internet Explorer 9 and Internet Explorer 10 on Windows servers. For more information, see the full bulletin.

    Recommendation. Most customers have automatic updating enabled and will not need to take any action because this security update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

    For administrators and enterprise installations, or end users who want to install this security update manually, Microsoft recommends that customers apply the update immediately using update management software, or by checking for updates using the Microsoft Update service.

    — Wilson Guo, Program Manager, Internet Explorer

  • IEBlog

    IE11: Touch Browsing for Today’s Web and Beyond

    • 42 Comments

    Internet Explorer 11 in the Windows 8.1 Preview continues the innovative touch support introduced in Windows 8 with new touch features, improvements to existing touch features, and new developer APIs. This blog post showcases just some of the ways touch support in Windows 8.1 with IE11 is even better.

    Reliable Hover Menus with Touch

    Much of today’s Web was designed with a mouse in mind. In particular, many sites have menus that can only be invoked using mouse hover. The Web should just work for touch, so IE11 introduces support for simulated hover with touch. In many scenarios, it’s ambiguous as to whether a tap should hover or click elements on the pages. To solve this problem, Internet Explorer 11 provides the ability to perform both interactions using different gestures:

    • Tap – click
    • Hold – hover

    This video shows the use of hover menus with touch on a few different sites

    In addition to touch hover support, a new context menu command bar now appears at the bottom of the screen when you press and hold on a link. This allows for the command bar to display without interfering with the site’s hover menu if there is one. You can also quickly open pages in a new tab or window by accessing the buttons in the command bar.

    Improved Link Highlighting

    Internet Explorer 11 on Windows 8.1 includes new and improved highlights for fast visual response to your touch. This added feedback helps build confidence in touch by confirming the element you have touched on a page.

    This experience is similar to what you’re familiar with on Windows Phone 8, with improvements for some scenarios, like links with CSS transforms. With these improvements, more links are highlighted (including linked images), the highlight no longer impacts the page’s CSS styles, and developers can now use the same markup to opt-out on both desktop and phone:

    <meta name="msapplication-tap-highlight" content="no">

    The following shows examples of link highlighting in action on IE11, the iPad and an Android device when a CSS transform is applied to the page. Only IE11 wraps the link highlight around link target.

    The following shows examples of link highlighting in action on IE11, an iPad, and an Android device when a CSS transform is applied to the page. Only IE11 wraps the link highlight around link target. The following shows examples of link highlighting in action on IE11, an iPad, and an Android device when a CSS transform is applied to the page. Only IE11 wraps the link highlight around link target. The following shows examples of link highlighting in action on IE11, an iPad, and an Android device when a CSS transform is applied to the page. Only IE11 wraps the link highlight around link target.
    IE11 iPad Android

    Link highlighting with CSS Transforms

    <a href="#" style="transform: rotate(45deg)">Links with CSS Transforms</a>

    Navigating Back and Forward Using Swipe Gestures

    Navigating back to the previous page is one of the most common actions perform by users and comprises about a third of all navigational acts. Internet Explorer 10 introduced the ability to navigate back or forward to the previous page by swiping your finger across the page. Internet Explorer 11 makes the experience faster and more fluid on all devices while preserving memory efficiency and battery life.

    To accomplish this, Internet Explorer 11 suspends and caches the previous page to memory when navigating between pages. When you swipe back to the previous page, the page resumes from memory. The result is the previous page is loaded almost instantly when you swipe back. A future blog post will detail how the new page caching works and how sites can be optimized for this experience using HTML5 APIs.

    Some pages can’t be suspended. In that case IE11 uses pre-render technology to render the previous page as soon as you start swiping. The result is pages load fast and more reliably.

    Back and forward navigation with swipe in IE11

    IE11 also improves the experience when using the back/forward buttons. When you press the back/forward buttons, you see a screenshot of the page while the page is loading allowing you to quickly find the site you are looking for as you go back.

    HTML5 Drag and Drop with Touch

    Touch input should be a first class experience on the Web. Internet Explorer 11 is the first browser to support HTML 5 Drag and Drop using touch, on by default. Drag drop can be invoked using touch by simply pressing and holding. Sites using HTML 5 drag and drop designed to work with a mouse, just work with touch in IE11 — without code specific to touch. Try the Magnetic Poetry Test Drive demo, which was built to show HTML5 drag and drop with the mouse in IE10. It works unmodified with touch in IE11.

    Try the Magnetic Poetry Test Drive demo, which was built to show HTML5 drag and drop with the mouse in IE10. It works unmodified with touch in IE11.

    Drag and Drop with Touch on the Magnetic Poetry Test Drive page

    Direct Manipulation for Mouse, Keyboard, Touchpad and Touch

    Internet Explorer 10 delivers industry leading panning and zooming through hardware accelerated direct manipulation. Pages stick to your fingers when you drag or pinch to zoom, even if the page is running heavy script, and the manipulation and animations are always smooth. Developers have a host of APIs to configure the panning and zooming experience in ways you never could before. MSN home page leverages the use of snap points and allows users to swipe through headlines.

    Swiping through headlines using touch on msn.com

    Swiping through headlines using touch on msn.com

    Internet Explorer 11 on Windows 8.1 brings the same hardware-accelerated pan and zoom technology to mouse, keyboard and touchpad in addition to touch. This allows sites to take advantage of the smooth panning and zooming across all input types. Developers also have the ability for their sites to programmatically trigger pan and zoom through the new msZoomTo() API.

    Improved Touch APIs with Pointer Events

    We worked with the W3C and other browser vendors to develop a standard for Pointer Events based on the vendor prefixed APIs introduced in Internet Explorer 10, which allow Web sites to support multiple pointing devices including mouse, pen, and multi-touch. The Internet Explorer 11 Preview includes updated MSPointer APIs to reflect the latest Candidate Recommendation specification. The final version of Internet Explorer 11 will support unprefixed Pointer Events.

    Touch That Just Works for Today’s Web and Beyond

    With Windows 8, we set out to build the world’s best touch experience. Internet Explorer 11 builds on the modern, fast, fluid experience that’s perfect for touch, even for today’s Web that isn’t necessarily designed for touch. With hardware accelerated direct manipulation, pages stick to your finger while panning and zooming for a fluid and natural experience. The browser UI stays out of your way when you start interacting with the page so sites come alive. You can see how developers are using IE’s industry leading standards APIs to build engaging touch experiences including sites like GlacierWorks, Atari, and Contre Jour, as well as examples from the IE Test Drive like Touch Effects and Browser Surface.

    Internet Explorer 11 continues to innovate by introducing new touch features and improving existing features to provide the best touch experience yet. Download the Windows 8.1 preview today and see how Internet Explorer 11 is perfect for touch.

    Michael Patten
    Lead Program Manager, Internet Explorer

  • IEBlog

    Debugging and Tuning Web Sites and Apps with F12 Developer Tools in IE11

    • 53 Comments

    Internet Explorer 11 on Windows 8.1 and Windows 7 comes with a completely redesigned and enhanced suite of in-browser developer tools that help developers build, diagnose, and optimize modern Web sites and apps across multiple devices. The new tools, which we call F12 for short, enable Web developers to work quickly and efficiently.

    The Visual Studio and IE teams have worked together to build F12 with a core principle of helping you get from problem to solution quickly with actionable data. The new F12 enables you to deliver fast and fluid Web experiences with tools for diagnosing and fixing performance issues and tools that give you deeper insight into how IE is laying out and rendering your app. F12 supports the fast, iterative workflow used by modern Web developers.

    A Comprehensive Toolset

    The new F12 helps developers get from problem to solution quickly. Some of the biggest new capabilities include:

    • UI responsiveness and memory profiling tools to help you build fast and fluid Web apps
    • Live DOM explorer and CSS inspection tools that update with your page so you can iteratively explore how dynamic content is affecting layout or styles
    • JavaScript debugging that starts quickly without a page refresh so you can get to work more quickly

    As you use F12, you’ll notice many other enhancements that will help deliver a fast, iterative workflow:

    • Quick entry into the tools through an “inspect element” right-click menu item
    • An experience that you can drive from the keyboard
    • Rich copying of elements and items from the tools, so you can paste into the editor of your choice without reformatting

    Most important, the tools now show the most accurate and comprehensive information, from @media rules and !important in the DOM Explorer, to per-element layout costs on the UI responsiveness profiler. The tools also provide directly actionable data; for example, the memory profiler identifies all DOM nodes that are alive but not referenced from the markup or render tree.

    The new F12 shares many of these experiences with Visual Studio so that developers get a consistent experience across the continuum of Microsoft’s Web development tools and platforms.

    Let’s take a quick look at some of these tools in action.

    Profiling an App with the UI Responsiveness Tool

    The UI responsiveness tool helps you understand where CPU time is spent, so your app can achieve its greatest performance potential. The tool gives you the necessary insight into the inner workings of IE by providing you with a timeline visualization of HTML, CSS and JavaScript execution, along with important side effects such as layout and garbage collection. At a glance you can see exactly how responsive your app is as well as how fluidly it is rendering. This enables you to identify the specific source of any bottlenecks, which enables you to make more informed optimizations.

    F12 UI Responsiveness Tool - Internet Explorer 11

    Profiling a Web site

    Understanding an App’s Memory Consumption with the Memory Profiler

    The memory tool helps you avoid memory leaks or excessive memory use. Building Web apps that consumers keep running all day or complex interactive apps often means you have to pay more attention to memory usage in your app.

    Although JavaScript is a garbage collected environment, apps commonly consume more memory simply because references to objects weren’t released and can’t be freed. The memory tool helps find those problems by giving you information on every object in the page, whether it’s in JavaScript or in the DOM. With this information, for example, you can see how much memory an <img> is holding on to and which objects are keeping it alive. Best of all, you can diff between two snapshots and see what has changed, so you can figure out why your app is using more memory and fix it.

    F12 Memory Tool - Internet Explorer 11

    A heap snapshot showing disconnected DOM elements

    Getting Immediate Insight to an App’s Performance with the Performance Dashboard

    To help you quickly identify performance problems on your running page, IE11 has an on-page widget called the performance dashboard that can be accessed through Ctrl+Shift+U or through the Tools (Alt+T) menu option. It draws in IE and provides live statistics for key performance metrics such as paint time, memory, frames-per-second (FPS) and CPU utilization. The performance dashboard does not require F12, and can be used in the immersive browser too.

    With the performance dashboard, you can quickly identify page interactions that cause frame rate drops or high CPU utilization. You can then switch into the F12 tools to reproduce the issue and find the solution.

    F12 Tools - Performance Dashboard - Internet Explorer 11
    Paint Time Performance Dashboard - Internet Explorer 11

    Inspecting Elements and Modifying Layout and Styles with the DOM Explorer

    The DOM Explorer simplifies the interactive process of tuning your @media queries and your CSS rules and their properties, so that your app’s UI is perfect and responsive across multiple devices. You can quickly start in the Web page by right-clicking and inspecting an element, which launches F12 with that element selected in the DOM Explorer with the live DOM and applied CSS rules displayed. The DOM and CSS you see is live, so you can understand how IE is interpreting your markup, your styles, and CSS rules specificity. As you interact with the page or edit it through the DOM Explorer, your changes are reflected immediately.

    F12 DOM Explorer - Internet Explorer 11

    Inspecting Mark-up and Styles

    As you make CSS changes, the DOM Explorer makes it easy to get the right property or property value with IntelliSense. You can easily see which properties are in error or unrecognized and then copy the rule to apply back to your source.

    Debugging JavaScript with the Debugger and Console

    The new JavaScript debugger gives you the tools to locate and fix error-prone code quickly. The JavaScript debugger can open and view multiple files even if your library script was minified, set breakpoints and trace-points, inspect JavaScript objects, values, scope chains;, and see stack traces. When you start F12, the JavaScript debugger starts immediately, so you can get right to work

    You will likely want to interact with your Web site as you are debugging. To do that, the console is a key tool. You can access the console at all times, making use of its interactive environment with IntelliSense and object visualizers galore. The console also provides a range of specific APIs that enable you to log output, understand the amount of time spent in specific code, or provide object visualizers when you need to inspect your JavaScript objects deeply.

    Summary

    This post just scratches the surface of what’s new in F12. You can find a full list of new functionality available to developers in the IE11 “What’s new in F12 Tools” and in the IE11 “Preview Developer Guide.” You can also learn more with the IE Test Drive, “F12 Adventure.”

    Please install the Windows 8.1 Preview from the Windows Store and try IE11, or try the IE11 Developer Preview for Windows 7.

    We look forward to your feedback and engaging with the developer community. Please share your suggestions either through the IE11 Send Feedback tool or on Connect.

    — PJ Hough
    Vice President, Visual Studio

  • IEBlog

    IE11 Developer Preview for Windows 7: Enabling Next Generation Sites and Apps - Faster

    • 121 Comments

    With the recent release of Windows 8.1 Preview, Internet Explorer 11 continues our vision of providing the best Web experience across the full range of Windows devices and screen sizes. IE11 on Windows 7 offers the same improved performance, faster page load times, new standards support for next generation sites, and completely revised F12 developer tools. The Developer Preview of IE11 on Windows 7 is available for download today.

    This video shows some of the performance, Web programming, and developer tools capabilities in IE11 Developer Preview for Windows 7

    IE11 on Windows 8.1 Preview delivers the best browsing experience for getting to your sites quickly and using them together with Windows Store apps in Windows 8.1. Browsing feels fast, fluid and perfect for touch with many tabs, richer suggestions, organized favorites and side-by-side experiences for comparing sites and using sites with Windows Store apps together.

    In IE11, developers can build next generation experiences with professional-quality Web video, and hyper-fast 2D and 3D Web technologies that make the most of the underlying hardware. IE11 supports real world standards and compatibility, and new developer tools enable developers to build high-performance Web experiences.

    With IE11 for Windows 7, customers receive all of the performance, security, and under-the-hood changes that enable a compatible Web experience. The Developer Preview makes it easier to build exciting Web content that will eventually be available to over 700 million Windows users. For developers, we are also providing an update to modern.IE, including a new cross-browser Web site screenshot service and new virtual machine images.

    Faster, More Responsive Browsing

    Performance matters to everyone who browses the Web. We optimized the IE11 browsing engine for real-world sites to download and display fast and be highly responsive and interactive.

    IE11 introduces new capabilities to improve real-world Web site performance. IE11 is the first browser to natively decode JPG images in real-time on the GPU, so pages load faster and use less memory, reducing power consumption and improving battery life. IE11 is also the first browser to render text on the GPU. Text and images are the heart of the Web, and accelerated text and JPG performance impacts nearly every page you see.

    Loading Web pages faster means being smarter about fetching site content. IE11 is the first browser to implement the W3C Resource Priorities standard enabling developers to specify which parts of the page are important and need to be loaded first. IE11 also supports HTML5 link prefetching and pre-rendering, so developers can help the browser anticipate where you’ll go next and get those pages ready. On Windows 8.1, IE11 also supports the SPDY network protocol, the precursor to the HTTP 2.0 specification, enabling some sites to be downloaded faster.

    You can experience IE11’s leading performance first hand with new demos on the IE Test Drive site with examples of real world Web site patterns for graphically rich, interactive, and 3D experiences such as Levitation and Lawnmark. You can test your browser’s layout and rendering performance with LiteBrite, the latest test drive demo which brings together the use of HTML5, CSS, and JavaScript.

    Check out the LiteBrite test drive demo to test your browser’s layout and rendering speed

    Check out the LiteBrite test drive demo to test your browser’s layout and rendering speed

    Leading JavaScript Performance

    Internet Explorer 11 advances the performance leadership of our JavaScript engine, Chakra, while ensuring compatibility, interoperability, and security. The JIT compiler now supports more optimizations including polymorphic caching of properties and inlining of function calls, so even more code is JIT’ed and less time is spent in JavaScript computation. Garbage collection now utilizes the background thread more efficiently, substantially reducing the frequency and amount of time the UI thread is blocked doing garbage collection.

    IE11 also includes support for the well-defined and commonly used features of the emerging ECMAScript 6 standard. IE11 supports features including let, const, Map, Set, and WeakMap, as well as __proto__ for improved interoperability. IE11 also supports the ECMAScript Internationalization API (version 1.0), which enables culture aware sorting, number formatting, date and time formatting to be performed efficiently in JavaScript without having to round-trip to the server.

    As we improve performance for real-world sites, IE11’s JavaScript performance on benchmarks like WebKit SunSpider continues to lead compared with latest version of other browsers. On Windows 7, IE11 is 4% faster than IE10, and nearly 30% faster than the nearest competitive browser.

    IE11 extends its leadership in Javascript performance, so real-world sites are faster

    IE11 extends its leadership in Javascript performance, so real-world sites are faster

    Hardware-Accelerated 3D Web Graphics

    Internet Explorer 11 includes support for WebGL, an emerging Web technology that enables Web developers to create new kinds of advanced 2D and 3D experiences by programming the computer’s Graphics processing Unit (GPU). Once confined to enabling cool Web experiments, WebGL is now a vital component of the Web developers’ toolkit, as real-world sites are now using WebGL to create interactive visualization experiences in shopping, real estate, and social networking.

    For example, GlacierWorks, a nonprofit dedicated to documenting and raising awareness about the effects of climate change on the Himalayan region, used WebGL to create a more interactive and engaging experience. WebGL fits right in alongside the stunning image and video content on this real-world site. The experience works on all devices. In fact, if you happen to be visiting the site from a tablet, you can take advantage of another new IE feature, CSS device orientation, to navigate the mountain by simply picking up your device.

    GlacierWorks uses WebGL to engage users in a customized, interactive experience that enriches the real-world site content

    GlacierWorks uses WebGL to engage users in a customized, interactive experience that enriches the real-world site content

    IE11 provides interoperable WebGL experiences that run on all devices, taking advantage of GPU acceleration without compromising security and reliability. IE11 supports the WebGL elements that are most widely used across real-world Web sites. IE11 scans for unsafe WebGL content and implements a software-based renderer to complement the GPU. WebGL only runs on verified safe GPU drivers and hardware. Unlike other systems, with Windows, failures in the graphics subsystem from unsafe content are not fatal, and WebGL continues to run.

    Professional-Quality Video Experiences on the Web

    Internet Explorer 11 enables high quality, power efficient HTML5 video without plugins. IE11 supports the latest standards for closed captioning (TTML and SDP)—so all your video content can be as good as the professionals. IE11 supports the HTML Full Screen API as well, making it simple to fill the screen during video playback. With WebCrypto support in IE11, Web sites can directly control how critical data is encrypted and exchanged. IE can now download video data without caching to disk, resulting in extended battery life when watching your favorite video.

    On Windows 8.1, IE11 supports the latest media streaming standards, Media Source Extensions (MSE) and Encrypted Media Extensions (EME). Using MSE, IE automatically switches the bitrate of the video based on current network conditions, so your video experience is smooth and glitch-free. EME provides a standard interface for playing protected media content. You can experience these capabilities live at Netflix, or in our test drive demo.

    In IE11 on Windows 8.1, Netflix supports HTML5 video without plugins

    In IE11 on Windows 8.1, Netflix supports HTML5 video without plugins

    All-new F12 Developer Tools Experience Makes Building Sites Easier

    IE11 includes a completely re-designed and enhanced suite of in-browser F12 developer tools. These tools help Web developers diagnose and optimize their apps quickly and efficiently. Having fast and reliable Web apps is more critical than ever.

    The new F12 supports the fast, iterative workflow used by modern Web developers. F12 helps developers get from problem to solution quickly with actionable data, enabling fast and fluid Web experiences. The F12 tools include:

    • UI Responsiveness and Memory Profiling tools that help developers diagnose and fix performance issues
    • Live DOM Explorer and CSS inspection tools that update with the page so developers can iteratively explore how IE is laying out and rendering Web apps
    • JavaScript debugging that starts quickly without a page refresh so developers can get to work more quickly

    F12 shares many of these experiences with Visual Studio, so developers get a consistent experience across the continuum of our Web development tools and platforms. The F12 Adventure test drive provides a great way to get started with learning more about the F12 tools in IE11.

    IE11 Developer Preview for Windows 7 includes improved and revised F12 developer tools for visual debugging and performance tuning of Web sites

    IE11 Developer Preview for Windows 7 includes improved and revised F12 developer tools for visual debugging and performance tuning of Web sites

    Today, we are also updating our popular modern.IE site with new tools that help reduce the stress and time commitment for testing and building interoperable sites:

    • The free BrowserStack screenshot service allows developers to compare screenshots of their Web site across ten different devices – from Windows to Mac to Android.
    • We are providing new VM images for IE11 on Windows 7 and Windows 8.1, so develpers can test their sites on their Mac, Linux, or Windows device.
    • For a limited time, we are offering 25% off on Parallels, the popular virtualization software to allow developers to run Windows on Macs.

    These new capabilities complement our site scanning wizard, cross-platform testing tools, and interoperability best practice guidance.

    The Existing Web Continues to Work – Even Better

    Internet Explorer 11 is compatible with existing sites, which just run faster and look better in IE. In IE11 we have also added a number of APIs to enable new experiences, and we have changed or removed APIs to ensure that more sites work today and in the future. Of course, intranet sites and apps continue to run in IE11, which supports legacy document modes.

    • IE11 enables richer Web site experiences with support for more HTML5 and CSS properties, including Canvas 2D enhancements (image smoothing, fill rules, dashed lines), CSS border-image support, Device fixed positioning, mutation observers, updated Pointer Events and CSS Flexbox support, and more.
    • IE11 improves existing features to ensure that more of the Web runs great. For example, IE11 includes extensive improvements to the built-in text editor, addressing much of the feedback we have received from developers and our community through Connect. These improvements make it easier for developers to build great text-editing experiences with less browser-specific code. We have also added support for pasting images, a full-featured undo stack, and enhanced touch keyboard and international character input.
    • IE11 includes support for rich text layout for East Asian languages.

    For consumers, these changes mean that more sites will work better in the latest version of IE. For developers, these changes mean building great interoperable experiences with less browser-specific code.

    A Better Web Today, and Ahead

    The opportunities continue for HTML5 to make both Web sites and applications better. Those opportunities are exciting for everyone on the Web.

    IE11 provides the best Web experience across the full range of Windows devices and screen sizes with mouse, keyboard, and especially touch. Try it out for yourself with the Windows 8.1 Preview from the Windows Store, and if you are a Windows 7 user, download the IE11 Developer Preview today.

    You can find a full list of new functionality available to developers in the IE11 Developer Guide here. We look forward to your feedback and engaging with the developer community. Please share your suggestions either through the IE11 Send Feedback tool or on Connect.

    Sandeep Singhal and Rob Mauceri
    Group Program Managers, Internet Explorer

  • IEBlog

    The New IE11 Experience: Best of the Web with Sites and Apps Together

    • 26 Comments

    IE11 delivers the best daily browsing experience for getting to your sites quickly and using them together with Windows Store apps in Windows 8.1. Browsing feels fast, fluid and perfect for touch with many tabs, richer suggestions, organized favorites and side-by-side experiences for comparing sites and using sites with Windows Store apps together.

     


    Internet Explorer 11: Daily Browsing with Many Tabs and Side-by-Side Windows

     

    As Many Tabs as You Want

    IE11 supports up to 100 tabs per window and manages them efficiently so browsing always feels super-fast. Tabs that haven’t been used recently won’t use your system resources or drain your battery.

    IE11 supports having up to 100 tabs per window.
    IE11 supports having up to 100 tabs per window.

    In addition to the tabs you have on one device, you can access your synced tabs from any connected Windows 8.1 devices. This means you can easily pick up where you left off for a continuous browsing experience.

    Access tabs from any Windows 8.1 connected device to pick up where you left off.
    Access tabs from any Windows 8.1 connected device to pick up where you left off.

    To easily get to all your tabs just swipe from the bottom edge of your screen (right click with the mouse or Window+Z from the keyboard). The address bar and tabs don’t cover up important page navigation menus and search boxes found at the top of most sites. And with all the browser UI at the bottom, you can focus on one part of the screen for all your browsing needs.

    Many users prefer to see their tabs and address bar on screen at all times, particularly on larger screens or on devices primarily using mouse and keyboard. You can choose to keep this UI on screen by switching on the “Always show address bar and tabs” option in Settings. You are always in control of the setting and can decide which experience works best for you and your device.

    Always show address bar and tabs on screen is available for users who want quick access to their tabs at all time.
    Always show address bar and tabs on screen is available for users who want quick access to their tabs at all time.

    Get Where You’re Going, Even Faster

    We took a close look at how users navigate to sites in order to make getting to a site faster by anticipating where you might go next. When you show an intention to navigate, like tapping on the address bar or making a new tab, IE11 instantly presents you with a list of frequent sites you are likely to visit. This list is improved in IE11 and is more dynamic, fresh and relevant, incorporating the browsing you do across all of your Windows 8.1 devices. Beautiful and touch-friendly frequent tiles make it easy to recognize the site you want, so you can just tap or click and go.

     


    Internet Explorer 11: Getting to Your Favorite Sites Even Faster

     

    If you’re going somewhere new, typing just a few characters in the address box gives you relevant, rich suggestions and auto-complete for faster navigation with less typing. These suggestions can include matching sites, deep links to various sections of sites, and even related app suggestions from the Windows Store. You can also get instant answers for the weather in your area or see the latest stock quotes by typing a stock’s ticker symbol. IE11’s relevant suggestions experience helps you go where you want, fast.

    Typing a few characters in the address box returns deep links and related apps from the Windows Store.
    Typing a few characters in the address box returns deep links and related apps from the Windows Store.

    Personalized and Organized Favorites

    We listened to your feedback on IE10 and know that in order to get to your favorite sites fast it is important that they are organized and easy to find. The new dedicated favorites center is only a tap away using the star button. Your favorites are organized using the same folders found in IE in the desktop. To make your favorites easy to recognize and faster with touch we have enabled a fun, visual way to choose a site image to represent your favorite. You can even enable your favorites to sync across your Windows 8.1 devices so your favorites always feel more personal and look more beautiful wherever you go.

    Personalized and Organized: Favorites can be organized into folders and site images can be chosen to best represent your favorite sites.
    Personalized and Organized: Favorites can be organized into folders and site images can be chosen to best represent your favorite sites.

    Do More with Apps and Sites Together

    IE11 makes using your favorite sites and your favorite Windows Store apps better together. For example, IE11 detects and highlights phone numbers on a page with no extra work on the part of the user or the site developer. When you see a phone number, just tap on it and begin your call side-by-side.

    Additionally, when you click a link from the Mail app or launch an article from the Reading List app IE is automatically arranged side-by-side for an experience that feels natural.

    Apps and sites are better together: Launching a saved article from the Reading List app launches IE side-by-side.
    Apps and sites are better together: Launching a saved article from the Reading List app launches IE side-by-side.

    And whether you are using a small device or a large one, you can see two things at once on the web by opening multiple windows of IE side-by-side. Easily compare two sites at once or use two sites together by launching multiple, full-featured windows of IE11.

    View two web pages at a time in IE11.
    View two web pages at a time in IE11.

    The Best Daily Browsing Experience

    IE11 on Windows 8.1 enables the best daily browsing experience across your devices in a way that feels equally great for touch, mouse and keyboard and is optimized for getting to the sites you love fast and using apps and sites together. Try out the features mentioned here and more in the latest Windows 8.1 Preview from the Windows Store today.

    Paula Chuchro, IE Program Manager

  • IEBlog

    July 2013 Internet Explorer Updates

    • 20 Comments

    Microsoft Security Bulletin MS13-055 - Critical

    This security update resolves seventeen privately reported vulnerabilities in Internet Explorer. The most severe vulnerabilities could allow remote code execution if a user views a specially crafted Web page using Internet Explorer. An attacker who successfully exploited the most severe of these vulnerabilities could gain the same user rights as the current user. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

    This security update is rated Critical for Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, Internet Explorer 9, and Internet Explorer 10 on Windows clients and Moderate for Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, Internet Explorer 9, and Internet Explorer 10 on Windows servers. For more information, see the full bulletin.

    Recommendation. Most customers have automatic updating enabled and will not need to take any action because this security update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

    For administrators and enterprise installations, or end users who want to install this security update manually, Microsoft recommends that customers apply the update immediately using update management software, or by checking for updates using the Microsoft Update service.

    Microsoft Security Advisory (2755801)

    Today, we also announced the availability of an update for Adobe Flash Player in Internet Explorer 10 on all supported editions of Windows 8 and Windows Server 2012. The details of the vulnerabilities are documented in Adobe security bulletin APSB13-17   

    The update addresses vulnerabilities in Adobe Flash Player by updating the affected Adobe Flash libraries contained within Internet Explorer 10.  For more information, see the advisory.

    Most customers have automatic updating enabled and will not need to take any action because this update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

    — Ceri Gallacher, Program Manager, Internet Explorer

Page 1 of 40 (989 items) 12345»