IEInternals

A look at Internet Explorer from the inside out. @EricLaw left Microsoft in 2012, but was named an IE MVP in '13 & an IE userAgent (http://useragents.ie) in '14

What I’d like to see in IE12

What I’d like to see in IE12

  • Comments 55

As the holidays approach, I’ve decided to publish my “wishlist” for the next version of Internet Explorer. I’ve been pretty good this year, so hopefully the IE team will deliver some of these presents. :-)

Please remember: I’m just an MVP, and I don’t have any magic powers that would guarantee that any of my wishes come true.

Update: In April 2014, the IE team launched http://status.modern.ie, which provides an overview of IE feature support including a roadmap for new feature implementation.

New Feature Support

1. HSTS: HTTP Strict-Transport-Security is a relatively simple feature that allows a site to demand that all accesses take place over a secure (HTTPS) connection, with no certificate errors. This feature can be weakly emulated by pinning a site in IE8 or later, but that requires user-interaction and doesn’t cover all scenarios. All major competitive browsers now support this feature. Update: In Development

2. Support SPDY / HTTP2.0 on Windows 7. Support for this newer/faster replacement for the aging HTTP/1.1 protocol was brought to Windows 8.1 with IE11 but IE 11 users on Windows 7 were left out, presumably due to the platform dependencies required to support the new protocol (e.g. it requires changes in SChannel to allow NPN/ALPN extensions in the TLS handshake).

For bonus points, I’d love to see a way for .NET applications to be able to negotiate SPDY/HTTP2 connections (even if it requires a native PInvoke) as this would dramatically simplify adding support for these protocols to Fiddler.

3. Server-Sent-Events. SSE allows JavaScript to very simply collect and process a stream of messages from a server. The unidirectional stream is simpler than WebSockets and the programming model is convenient for JavaScript programmers. This feature overlaps others (e.g. XHR with streaming, WebSockets) and thus is just syntactic sugar, but it’s oh-so-tasty syntactic sugar. Update: Under consideration

4. Developer Tools Support for P3P. Today, IE is the only browser that supports the P3P privacy-protection standard, and as a consequence web developers often encounter problems with it. Today, IE's developer tools do not warn the developer if their cookies are being impacted by P3P and thus they often assume that IE is somehow “broken” when it is behaving as designed. Note: It would actually be great to see this for ALL security features; for instance, F12 could help debug problems where sites have been blocked by X-Frame-Options.

5. Native Dictionary. IE added spell-checking in version 10, but the Kindle and Mac browsers have gotten me addicted to being able to quickly get a definition for any word on a webpage. The legacy Accelerators feature could have been a way to get this, but it requires configuration and is not nearly as seamless as the native feature in other products.

6. Preserve-3d support. Basically everyone else supports this, and the workarounds for lack of support are awkward. Update: In Development

7. An off-by-default option to disable (or require confirmation) of the use of the backspace key as a back button. Some users hate this feature (there are many bugs on CONNECT) and even developers inside the IE team have complained that there's no way to turn this off.

8. A UI option to enable warning the user if Certificate Revocation checks fail to complete. Today, incomplete checks are silent and this makes certificate revocation checks unsuitable for handling key-compromise revocations like the many thousands of revocations caused by HeartBleed. By default, IE should also downgrade any EV site which does not complete revocation checks by removing the green bar. Beyond exposing the "Warn on revocation incomplete" option in the UI, IE/SChannel should support the MustStaple flag for certificates.

Bug Fixes

1. When IE8 introduced the postMessage API, it had a bug whereby you could not use the API to communicate between browser windows. This bug is now over four years old and is an interoperability problem. It needs to be fixed.

2. When IE8 introduced the localStorage API, it had a bug whereby you could not use the API to share data between browser sessions. This bug is now over four years old and should be fixed.

3. Over the years, we thought we fixed most of the “Cannot SaveAs an image in its native format” bugs, and offered a “Save As PNG” option for the corner cases. Recently, an IE user discovered that the SaveAs code cannot handle URL fragments in the image URL and hits the fallback codepath unnecessarily. This should be an easy fix.

4. A customer recently uncovered a bug whereby, if a server sends two instances of a cookie on a single response (one a session cookie and one a persistent cookie) it’s possible that both cookies will be immediately discarded (test case). This is clearly a corner case (servers shouldn’t be doing this and should be fixed) but this should be straightforward to fix.

5. In IE10, we updated IE to behave like other browsers when following redirects when the original URL contained a fragment. However, a corner-case was missed and IE10/IE11 do not behave the same as other browsers when a chain of two or more redirects is processed and one of the redirects in the middle introduces a URL fragment.

6. IE11 introduced a regression where users InPrivate can be unmasked. This is a regression from IE10 and should be fixed.

7. IE10 introduced a regression where proxy settings changes are lost. This is very irritating for Fiddler users and impacts other customers too.

I suspect I’ll be adding to my wishlist over time. If you have succinct straightforward suggestions for additions, please sound off in the comments below!

Update: Below, Chris Love makes an important point: IE team has an official feedback mechanism at connect.microsoft.com. Also, I'm not looking for a laundry list of "Here's a bunch of proposal/spec hyperlinks, Go!" The IE Engineers are aware of all of the popular sites (CanIUse, etc) and track virtually all of the public specifications. The point here is to provide feedback on the things that we think may have been overlooked, or which may be more important than they initially appear. The best suggestions explain why you think the feature in question is not only valuable, but more valuable than anything else with a similar development cost.

-Eric

PS: Perf Guru Steve Souders recently posted his Browser Perf Wishlist.

  • W3C Content Security Policy (CSP) support would be great.

    [EricLaw] Seconded by Caleb Queern. I'll likely add this to the list after I have a look at the state of the current draft.

  • My additions:

    1.) Right-click context menu on an iframe to give options to open/view-source/etc. that iframe in another tab/window

    2.) Dev Tools that open at least twice as fast as currently (I uninstalled IE11 due to the slowness on Windows 7)

    3.) As a user and a developer... if I type in the IP Address of a server in my address bar, ****especially**** one that starts with 192.168.x.x - please for the love of god do not attempt to Google or Bing it... "http://" should be the defacto default prefix applied if no protocol is specified

    [EricLaw]: Tick the "Go to an intranet site" box in Tools > Internet Options > Advanced.

    4.) A Developer flag that when turned on - turns off restrictions in IE. Like auto-deleting the "javascript:" prefix from a chunk of code pasted into the address bar for quick testing!!!! or just turn this "security-thru-R-U-Serious!?" (airquote)feature(/airquote) or even running javascript on the about:blank page where 99.99% of quick tests would actually want to be run!

    [EricLaw] That's what the F12 console is for.

    5.) STRETCHABLE TEXTAREAS like other browsers

    [EricLaw] Great suggestion.

    7.) Ability to control items in the context menu - I have no idea when "Export to Excel" was added but I have never ever needed this - nor would I ever have a clue what portion of the page it would export if I used it!

    [EricLaw] This is a legacy "Context Menu" extension found in the MenuExt registry key. It is used on HTML tables for that purpose. I usually delete it.

    11.) Support proper, 100% PNG favicons...

    [EricLaw] Already in IE11.

    12.) Native built in support for Theora, VP8/VP9 video so that we can truly have free, open, non-DRM-encumbered HTML5 Video across all devices! Native built in support for Ogg Vorbis and WebM audio so that we can truly havefree, open, non-DRM-encumbered HTML5 Audio across all devices!

    [EricLaw] Unlikely to happen due to patent infringement issues. I have zero interest in debating this topic here.

  • IE11 still seems to break on mailto: links beyond a certain length, seems like somewhere around 512 characters. Other browsers handle them just fine, so it would be nice to see that work in the same way!

    [EricLaw] Yup, the limit is exactly 512 characters. That limit comes from inside URLMon's default IInternetProtocolInfo implementation, which is used to compute the security ID of the target URL. Mailto is a really interesting protocol in IE as it is implemented as both an Application Protocol and an Asynchronous Pluggable Protocol (for legacy reasons whereby a HTML Form could have a mailto: target).

  • Off the top of my head:

    1) Web Audio API
    2) Support for datalist - annoying that it's not in-line with the other browsers.  I know it's easily polyfilled.
    3) Fix WebGL - some vertex buffer issues, some GLSL features not support, triangle fan primitives etc.
    4) Fix the metro version of IE11 - still seems to be a lot slower than the desktop version and the embedded flash component is still very unstable.

    [EricLaw] Please elaborate on what you mean here? The Immersive browser's code is almost identical to the desktop browser's code.

    More importantly I would love to see the IE team get more involved in the WebComponent draft. Maybe their own version of Polymer, or a experiemental version of IE with native support of the shadow DOM.

  • 1) UI customization
    2) A better API for building add-ons. The current COM API is cumbersome and prone to causing browser reliability problems.

  • better accessibility support for implemented HTML5 elements [see rawgithub.com/.../index.html for details]  and (accessible) implementation of new HTML5 elements not currently supported by IE, such as details/summary, input type=number (i.e. spinbox)

  • I'd like to see a "paste and go" command on the address bar's context menu. The Ctrl + Shift + L shortcut is less convenient.

  • My wishlist would be:

    1. MathML (yeah, not a priority for many people; nonetheless it would be time to have a decent way to publish scientific material in HTML)

    2. DANE (RFC 6698) to try to improve the trust model for certificates

    3. WebP support (because, even if it's a Google thing, it does compress better than JPEG XR and JPEG2000, and it has an alpha channel)

    4. SVG bug fixes (e.g. arrowheads defined in an external file and applied by CSS)

    5. CSS ::marker selector for lists

    6. SaveAs PDF that preserve links and some of the document structure

    7. Built-in EPUB reader

  • Quoting Arieta: A better API for building add-ons. The current COM API is cumbersome and prone to causing browser reliability problems.

    Indeed. I would love to have a pdf.js plugin for IE (it even feels smoother than in Firefox). I tried looking into what it would take to implement, and it seems possible (using aggregation to wrap mshtml, feeding it the html+js code, and exposing the resulting viewer as an active document), but the learning curve appears *very* steep once you actually try to write the (dreadfully verbose) code. Eventually I gave up.

  • I'd love to see ClearType text rendering make a return in the next version of IE on Windows 8+. It's still working in IE11 on Windows 7.

    [EricLaw] ClearType remains present in IE on Windows 8 and Windows 8.1. If I recall correctly, the difference is that DirectWrite uses greyscale instead of using full color for subpixels.

    A little bit of UI polish wouldn't go amiss, either. Why do we get Modern app scrollbars in desktop IE in Windows 8+? Meanwhile the scrollbars in earlier versions of Windows lack hover effects. I know the Win32 theming APIs can be a bit of a pain to work with, but surely Microsoft has enough developers to get it done :) The page context menu in Vista+ still doesn't quite match the native style, either - the colour of highlighted disabled text and highlighted submenu arrows are not correct.

    The 'Internet Options' and page property sheet could probably do with an overhaul, also.

    [EricLaw] The team is really hoping to do away with any need to go into the Internet Options at all (e.g. exposing settings more contextually) but I suspect this will eventually get overhauled at some point. I'm a big fan of the about:config model which I adopted for Fiddler.

  • I would like Native Date & Time Input controls.

  • Actually, maybe IE12 could have a filtering system that turns snarky blog comments into polite feature requests, replete with [tt] tags around user input? :)

    But for real I'd mostly like to see a JavaScript-based extension API. The Chrome model was doing this is *so very* nice. Their API is minimal but easy to use. The JS code to do something concrete is so very simple. Applied to IE it could facilitate common extensions between Metro and Desktop (obviously there's going to be some UI integration differences here), ARM and i386, AMD64.

  • @David Warner - I disagree. I would be quite happy if I never have to suffer with ClearType ever again. It was a failed implementation and only caused oily rainbow text.  If it is re-added I certainly hope it is a "feature" that can be turned off.

  • @Glenn: I know there are plenty of people who share your opinion of ClearType (though I'm obviously not one of them) - IE should simply respect the user's settings. I know it's been an issue in the past (in the other direction - ClearType rendering being used even when it's turned off at a system-wide level), and having to look at the awful greyscale anti-aliased text in IE10/11, immersive Windows 8 apps and Office 2013, I can imagine how you must have felt back when Microsoft was pushing ClearType everywhere.

    Once we all have high density screens, I guess greyscale anti-aliasing will be fine, but until then, I want my ClearType :(

  • Most of mine are on the UI side:

    • Bring back the option of having a separate search text box (from IE8)
    • More customization options for the UI (some people really want the home button on the left, for example... and pinned sites already have it there).  The ability to simply move some controls/buttons around as desired.  A tiny bit of work here would remove a lot of resistance to IE from some people I know.
    • For all versions of IE: touch gestures to quickly zoom to the top or bottom (so far rendered) of very long pages.  Whether this takes the form of a control or area to touch, or whether it's "Semantic zoom" (pinch past the normal zoom out limit to zoom all the way out, then touch the page strip to where you want to zoom back into).  This is sorely missing, on both Immersive and Desktop IE, and makes Immersive/Modern IE hard to use on some pages (like Facebook and Twitter)
    • Fix the bug where tabs that are left open a long time tend to consolidate into one iexplore process (Desktop IE since IE9), until it grows large and starts causing MAJOR slowdown and rendering problems.  This is so reproducible, across versions and machines, I can't believe it's not a known issue and a high priority.  As the process size grows, performance drops... something doesn't scale well in there.  It's so predictable that any time I notice a page rendering slowly, or little "freezes" in processing user input (scrolling, clicking controls, typing), I know immediately to open Task Manager and kill the largest iexplore.exe process.  This almost always fixes the problem.  When it doesn't (rarely), it's because all the pages re-open in one of the existing iexplore.exe processes, just moving the problem and re-creating it anew... killing THAT process usually fixes it.
    • Add a "Touch Mode" to Desktop IE.  Try using IE11 on a Yoga 2 Pro (very high DPI screen at 3200x1800) with touch only.  It's impossible to close the right-most tab without opening a new one... or opening a new tab without accidentally closing the last tab... and targeting the "Favorites" Toolbar is nigh impossible because it's so thin and tiny.  Scrollbars are near impossible to grab on long pages because the "thumb" is too small/thin.  Office 2013 has a "touch mode" toggle that helps... Desktop IE needs one. I don't always want to flip over to Modern IE just because I folded the keyboard back for a few minutes.

    • Enhance Modern IE context menus.  We need more options like those that exist in right-click menus on the desktop... or at least the option to have them.  Image properties, URL, save image as (let me select where!), etc.  Reduce the need for me to "Open on Desktop".

    • And finally, fix the problem with using the mouse in the scrollbar on desktop IE to scroll... clicking in the area beneath the "thumb" to scroll down... if you click again too rapidly (within the double-click margin), instead of scrolling one page, it'll scroll two. This gives a cadence where you miss every other page, because it pages down, then doubles down, then pages down, then doubles down.  When scanning a long page, this is very annoying)

Page 1 of 4 (55 items) 1234
Leave a Comment
  • Please add 3 and 5 and type the answer here:
  • Post