5 developer features IE still lacks (and 6 it might add someday)

Some HTML5, CSS3, and JavaScript features used in other browsers still haven't landed in Internet Explorer, to its detriment

browser roundup sept 2014 ie11 screen
Credit: Image: Jon L. Jacobi

It's become a running joke to talk about the features Internet Explorer doesn't have compared to other browsers. Even with IE's development team adding HTML5 functionality more quickly across the last couple of revisions, IE still lags in cutting-edge features, no thanks to its too-close ties to Windows.

One way to see at a glance the features IE supports is Microsoft's Modern.ie site, which tracks the status of current and potential IE add-ons. Many common HTML5 features are supported, but lots of cutting-edge HTML5/CSS3 capabilities are listed as "not currently planned" or "under consideration."

Here's a rundown of features still missing from IE, along with notes about their usefulness to the average Web developer.

Not currently planned

WebRTC peer-to-peer connections: Used for real-time in-browser communications. Chrome, Firefox, and Opera all support this, and demo applications (such as AppRTC) have been created to show off its power.

How useful? Extremely, to put it mildly, especially given the breadth of support by competing browsers. That said, a related function, the WebRTC Object RTC API, is "under consideration" for IE.

Scoped styles: A W3C working draft feature that allows an inline style declaration to be confined to a particular bounding element, such as a DIV.

How useful? Somewhat; in theory it's possible to emulate this with a class ID, but it's useful in many other circumstances (as Arley McBlain of Thrillworks explained).

W3C Microdata: An established W3C standard for placing semantic markup within existing content on Web pages.

How useful? In the browser, not hugely, since its main use is to make Web pages friendly to crawlers and indexers (that is, more Google-friendly). Its absence in IE only means it's not directly supported by that browser's DOM API -- hardly a deal-breaker.

Quota Management API: A draft standard, currently only supported by Chrome and Opera, to allow the management of a given Web application's use of storage.

How useful? Somewhat, since it can help ramp up the amount of persistent local storage used by an application as needed. It may become more vital in time as more apps run persistently on the client side.

MathML: A W3C standard for displaying mathematical notation via markup.

How useful? It's immensely useful for anyone who wants to show mathematical formulae in a Web page without having to resort to CSS fallback tricks or inline images. For everyone else, not so much.

Under consideration

CSS variables: A working draft proposal, supported by only Firefox right now, to allow the use of variables in CSS.

How useful? In the long run, very. Right now, the only way to get this behavior is through third-party libraries like Less. Those work OK, but it would be nice to have native implementation.

Asm.js: Mozilla's proposal for a subset of JavaScript that can be compiled into highly optimized code for the sake of speed.

How useful? Somewhat, depending on the ambitions of client-side JavaScript, as asm.js-powered projects still remain short of a mainstream concern.

JS Object observers: This proposed extension to JavaScript allows events to be hooked whenever changes are made to an object -- not just a DOM object, any JavaScript object. It ought to show up by default in the future, but there's been pressure to add it sooner rather than later.

How useful? Very, very useful. Here's hoping Microsoft sees the light.

CSS filter(): A draft standard that allows filter effects like color manipulation or opacity controls to be applied to images through CSS.

How useful? Fairly. Blurring and opacity controls, for instance, can be used to create creative layout effects with CSS.

Web Notifications: Every other browser currently supports this standard for alerting the user outside the context of the browser.

How useful? Pretty useful, especially if you're creating a HTML5 app that runs in a desktop context (say, via node-webkit) and want a consistent way to create notifications cross-platform.

Clipboard API: A standardized way (albeit still a draft) for the browser to talk to the system clipboard. It's widely supported outside of IE.

How useful? Very useful, since it scratches an itch many Web programmers have had for a long time and have only been able to satisfy with clumsy workarounds like Flash apps. The most likely reason for the holdup is security, since giving any browser access to the clipboard is a potential security issue.