Hacker News new | comments | ask | show | jobs | submit login
Microsoft decides IE 10 has had its fun: Termination set for Jan 2020 (theregister.co.uk)
213 points by myinnerbanjo 17 days ago | hide | past | web | favorite | 73 comments

Good riddance, though there is a somewhat masochistic pleasure in finding hacky solutions for old IE versions.

I once figured out that IE7 can be tricked into understanding the :before and :after CSS pseudo-elements with this:

  .thing {
    *zoom: expression( this.runtimeStyle.zoom="1", this.insertBefore( document.createElement("i"), this.firstChild).className="ie-before" );

  .thing .ie-before {
    *zoom: expression(this.runtimeStyle['zoom'] = '1', this.innerHTML = '|');

How did you even figure that out? That sounds like it would take having IE's source code to figure out.

For those of us who cut our teeth on IE6, this was pretty much par for the course.

Check out Dean Edwards IE7 JS script - this was key to making IE6 behave like a modern browser: https://code.google.com/archive/p/ie7-js/

Edit: better way to view: https://github.com/Integralist/Dean-Edwards--IE-7-and-8-and-...

Ah yes, the good ol' PNG transparency hack is included in there. The bitter-sweet memories of web development in the 90s. Too bad the only working hack for fixing PNG gamma was to remove the gamma chunk from the image file itself.

It looks like fairly standard JS to me. I don't know where to read about it but there are some details on the deprecation blog article: https://blogs.msdn.microsoft.com/ie/2008/10/16/ending-expres...

That's CSS, with embedded JS, which is relatively non standard.

It’s very non-standard, it was IE only until they dropped it in IE8, but it was one of the features being abused to make up for other css features that IE6 or 7 lacked.

Sure, but my point still stands: figuring this out doesn't require arcane knowledge, contrary to what was suggested. The code inside the expression looks like standard JS. The downvotes and your reply suggests I should have communicated more clearly.

I feel like I'm seeing Prometheus arriving with fire stolen from the hands of the gods.

(But the year is 2019, and we've had fire for thousands of years.)

Web development became too easy after <!doctype HTML>. Gotta come up with ways to add complexity now. Quickly rewrite everything using latest web framework and no-SQL.

Let's completely recreate the browser in Javascript but without the back button, middle click or SEO! It's totally not Flash 2.0 because transpiler.

Official announcement: https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/B...

> We will also publish the IE11 upgrade through Windows Update and Windows Server Update Services (WSUS) for all versions of Windows Server 2012 and Windows Embedded 8 Standard later this year.

Nice! I wonder, will they eventually do this with their Chromium-based version of Edge?

Yea I really am hoping their Chromium based browser gives them the combination of broad compatibility and enterprise integration needed bring about the end of IE 11.

I can't imagine they will ever push their Chromium reboot as a replacement for IE, it would break brittle intranet sites everywhere. Hopefully as a separate download, though.

It should be noted that Microsoft has a history of massive engineering investments in backwards-compatibility, esp. around Windows. I don't know that that's the case here, but there's certainly cultural and technical precedent.

Their blog posts claimed they are planning for a Windows 7+ version of Chromium-based Edge, and may explore cross-platform beyond Windows.

(I work for a company running a popular mainstream classified ad website in Europe) After some investigation (because we wanted to crush Google Analytics numbers), we found that +95% of our IE9 and IE10 trafic reported in GA is in fact from bots and proxied clients.

Just out of curiosity, can you describe broadly how you made that determination (I assume it was something more complex than just looking at the UA string?)

We started our journey by trying to understand why ie9 had higher figures than ie10.

As we also have an analytics on the server side, we extracted a raw log. We used our existing tools that can filter "fake" or "foe" trafic by its behavior. We then manualy analyzed representative filtered samples (still by analyzing its behavior).

It took some time, but was worth it, because we found an opposite conclusion than GA: most of the real traffic ($) from our ie9-10 samples is on ie10.

So now the dev. guideline is: forget ie9 and make it not too ugly/broken on ie10. ;)

PS: We had to do a manual work of filtering because our tools do not filter all the traffic that we know being fake or foe because we often have false positive.

IE as a browser does suck, no argument there. However, I (and I'm sure many other Windows devs too) find the .NET WebBrowser control very useful - it's a easy drop-in control that's part of the .NET framework. It shares a lot with with IE codebase, so if IE gets killed off, would that include the control? It certainly would no longer be updated.

I've looked in depth at the embedded Chromium project, but there's simply TOO much baggage with that making it total overkill when all you want to do is render some HTML in a line-of-business application.

Or you can use a chrome based alternative[1] that took care of the rough edges for you.

[1] https://cefsharp.github.io/

There is a .net control now that lets you embed edge. The old IE control was annoying with it's default to ie7 impersonation mode that could only be controlled via registry settings

Is there?! Is it part of the default framework, or do you have NuGet it?

Yes... FEATURE_EMULATION reg key - I know it well ;)

We use the IWebBrowser control in a C++ application. Do you know if that will be killed off as well? I kind of doubt it because of Microsoft's history of supporting stuff forever, but the new Microsoft isn't as generous.

They've already announced that the ability to generate class files in Visual Studio from tlb or dll files is going away.

They're not going to kill off IE, it's the only browser on server/ltsb SKUs. They've said that edge is a no go for those because of how frequently edge gets updates compared to the os.

Why they can't figure out how to update the browser independently of the OS is beyond comprehension. IE and Edge are the only non-evergreen browsers which is probably they are the most problematic to target. I develop primarily in Firefox, but I never have bugs pop up in Chromium or WebKit browsers, only IE and Edge.

I thought because `iexplore.exe` is a thin wrapper around `mshtml.dll`. I'm not sure how thin, but most of the functionality is in that and maybe other DLLs.

Not so thin. You should have thought of Winhlp.

Why does a server need a web browser

Because the server is a license server in a company that has a hardware HASP key that is managed by service that exposes its interface only through localhost HTTP.

Would take no time at all to set up nginx to allow you to connect from your desktop. Likely much more secure than having an ancient browser on a server.

Package management ;-)

If anyone is wondering about IE11, MS says "Internet Explorer 11 will continue receiving security updates and technical support for the lifecycle of the version of Windows on which it is installed."

Extended support for Windows 10 ends on October 14, 2025. Extended support for Windows Server 2016 ends on January 11, 2027.

Presumably one or those 2 dates could be considered the termination date for IE11. My company has chosen the 2025 date as when we will stop support for IE11 in our web pages/apps.

6 more years is a really long time on the web. You may want to base it instead on usage metrics — IE, once usage drops below what % are you willing to stop testing against a browser?

Win7 support is ending Jan 2020 also, at which point IE11 will only be supported on Win10 (and it's not default there). So that may be a good date to start considering ending IE11 support as well, especially with Chromium-Edge coming out later this year.

If you are selling software to other companies. And out of thousands of companies, one of them bringing a significant percentage of revenue is using IEX, you may want to consider supporting IEX. It can also be useful for future contracts. Usage doesn't mean everything.


Just try to run a B2B SaaS without supporting IE11. You will lose out on a ton of large-but-slow-moving customers. Like banks, insurance companies, etc. who all seem to have critical internal systems that only work on IE11 in compatibility mode.

This is why our company is still supporting IE11, and will be for some time to come.

Personally, I'm hoping the app my team builds will be able to finally drop IE11 support once the new Chromium-based Edge app becomes available on Windows 7 and 8.

Just yesterday I hit an IE 11 issue that forced a JavaScript hack to resolve.

Goodbye, IE 10. Hopefully IE 11 will soon follow.

> Goodbye, IE 10. Hopefully IE 11 will soon follow.

IE 11 is still part of Windows 10 and it's in fact the only browser shipping in the long-term support version of Windows 10

Expect IE11 to be around for the duration that Windows 10 is around which, unfortunately, is going to be forever (as Windows 10 is said to be the last version of Windows ever released) or at least for the foreseeable future

I think Edge will continue to exist as a product, it will just have a Chromium backend.

Also there’s no guarantee that IE 11 will last forever just because it’s on Windows 10. There can always be a major update in future with it removed if MS really want to kill it..

Edge is getting a Chromium back-end with talk of Windows 7 and 8 support. So, perhaps that's a strategy to kill IE11 too (fingers crossed).

> as Windows 10 is said to be the last version of Windows ever released

Is that because "continuous rolling updates" for Windows 10 or because Microsoft will eventually replace the Windows kernel with some other kernel, such as Linux (just a conspiracy theory of mine)?

Microsoft, like most companies, don't use the internal implementation as part of the name brand. It was called "Windows" long before it got the current kernel. ("Edge" is switching engines, too, but not names.) I see no reason they'd change the Windows name even if they decided to switch out the kernel.

IE11 is the only browser still supporting ActiveX and Java Applets (and other Oracle tech), so many corporate/enterprise users specifically set up their environments so that IE11 is the default user experience.

While consumers have mostly moved on, it will be a long slow crawl away from IE11 for everyone else. Microsoft set this path when they decided not to support this legacy tech' on Edge (and Chrome/Firefox dropped support).

> Microsoft set this path when they decided not to support this legacy tech' on Edge

Good. ActiveX and Java Applets are terrible.

Java Applets were awesome. ActiveX is handy for enterprise glue. Flash is nice too.

There was a huge gap before JS frameworks cought up to Java Applets and Flash after they in practice were dropped.

This huge gap has been pretty much bridged, removing the huge security concerns as well. It's time for those things to die. Whipping up an old browser should be the only way to use those things so that noone is even tempted to write things like that.

IE11 is currently scheduled for end of life in 2025. So just six years to go and no more IE (hopefully)!

Unfortunately, my company has decided that as long as MS is providing any level of support for IE, we have to support it. So we will be supporting IE11 until 2025 :-(

Why so goddamn long? Microsoft should kill it now for the benefit of humanity.

Because tech churn only exists on HN. In the real world there are countless systems relying on tech that is considered ancient by HN standards (but in reality often isn't).

If there's a factory controller running some management software that requires Windows and IE, it's not unlikely that it will be cheaper to buy Microsoft, kill off all of its products, and only keep Windows and IE supported indefinitely than retrofitting/upgrading/updating those controllers.

BTW. Speaking of "goddamn long".

If you traveled anywhere by air, it's likely your booking ultimately went through Amadeus [1] which commands 42% of the world's GDS market [2]

They decommissioned their last mainframe in 2017[3]. Yes, mainframe. Because it's oh so easy to "kill something now for the benefit of humanity". But first you have to prove that killing some tech actually will benefit humanity.

[1] https://en.wikipedia.org/wiki/Amadeus_CRS

[2] https://en.wikipedia.org/wiki/Global_distribution_system

[3] https://www.thecompanydime.com/mainframe/

The difference here is that those mainframes aren't used by people to interface with the internet as a whole.

People shouldn't be building things in web technologies if they aren't willing to keep up with them, which isn't that hard. Unless your web app is poorly designed (i.e. reliant on browser-specific bugs or proprietary features), then an evergreen browser shouldn't be a major concern. If your crap is so mission critical that this is still a concern, then web technologies are entirely the wrong stack to be working in.

Chrome is evergreen, right? Oh, wait, it regularly drops or destroys features that people rely on (often with no warning).

And IE10/11 are not that old. When people were developing for them they were current. Just because you've never developed software that needs to be supported for ore than two months, doesn't mean no one does.

> If your crap is so mission critical

If it's mission critical, it's not crap. Crap is stuff that is "not hard to keep up with the web technologies that change every two months".

IE is the standard system browser, which means it's going to be supported through the end of the lifecycle for every version of Windows it shipped on. Since they decided not to make Edge available for Windows prior to 10, that also means there's no upgrade path.

https://support.microsoft.com/en-us/help/13853/windows-lifec... has these dates currently:

Windows 8.1: January 10, 2023

Windows 7: January 14, 2020

Windows 10 Enterprise 2015: October 14, 2025

Now, if they did backport the Edge-chromium to the earliest versions they'd have the option of pushing that as a browser option but they'd still need a compatibility shim for the many, many Windows apps which use an embedded browser instance to display something.

I stand by the belief that if Microsoft wanted to make IE a core part of the operating system, then it should get support for new web standards for as long as the OS gets security updates.

A 10-year out of date browser just isn't useful, even if it is "secure". And by being the default, they are ensuring that many users are stuck with it. IE prevents me from using a lot of JavaScript and CSS features that have been around for years, all because 40% of my users work for companies or government entities that don't let them install Chrome or Firefox. "Web standards compliance" updates that get rolled out with security updates would solve this problem.

> Over the course of the northern hemisphere's spring ...

A delightful phrasing that more northern hemisphere journalists would do well to adopt (slightly less constraining or cumbersome than actually specifying a date range, but infinitely preferable to the parochial 'season of year').

It sounds like this is the best time to fetch virtual machines from modern.ie [1] website. It is worth noting that IE is still used in many Point of Sales or other embedded devices. // Though I guess in most of scenarios it is IE6 for obvious reasons.

[1] https://developer.microsoft.com/en-us/microsoft-edge/tools/v...

I read this as IE11 and got prematurely excited. Good news though.

please terminate ie11 in 2020 1/2

MS dropping support won't stop corporates using it. Apart from a few exceptions (running on Windows Server 2012 and some embedded versions, where IE11 has until soon not been supported) IE10 (and below) hasn't been supported since 2016. All they are doing here is pulling the plug on those few remaining environments.

If your clients are still running IE10 on some ancient version of desktop Windows now, they probably still will be on 2020. Heck, one of our clients (a major UK bank) seems to be having trouble getting a few remaining members of their staff off IE8.

And they can't even try dropping IE11 without breaking previous guarantees or changing the path of Windows 10 at least slightly. They locked IE11's support life-cycle to that of Windows 10, and they've stated that Win10 will not be replaced, only updated/upgraded. IE11 is officially here to stay, and even if it wasn't it would be unofficially here to stay if you have clients anything like ours.

> having trouble getting a few remaining members of their staff off IE

All it takes is an old business-critical web app that uses ActiveX controls (or a specific version of Java) to lock thousands of Corporate users into old IE version.

I believe App-V can be leveraged to provide older apps into new OSs, but I'm not sure if IE is supported on that. Failing that, there's always the option of an old Citrix farm, and seamless app provision...

Luckily our contracts state we only support maintained, supported browsers (not sure the exact language). So once Microsoft ends support for IE11 it'll be gone the same day. The majority of our users (users and clients are different people) are on a modern browser, but when the client goes to test they are normally on ie11 which gives so many headaches.

> Heck, one of our clients (a major UK bank) seems to be having trouble getting a few remaining members of their staff off IE8.

I just checked one of our major internal systems, still a fair number on MSIE7 -- 1 in 66 hits, representing 1 in 34 machines.

Indeed. I hack on a web app with over 100k daily users and we only just last month decided to drop support for IE8, and that only because some third party libraries that will simplify things for us don't support it

Our chief leverage for pushing back on IE8 support is that out-of-the-box (which is pretty much how that have it configured) it doesn't support SSL settings that pass up-to-date recommendations.

Each year we are pen-tested by a third party, each year that client complains that the testers say the SSL setup is potentially insecure, every year we point out that we'd be more than happy to follow the recommendations (in fact we feel dirty not doing!) but it would lock out a number of their users if they were not given an alternate browser or otherwise reconfigured.

Fingers crossed this year is the last time: everyone there should have Chrome as an option, and everyone not depending on old apps (ActivX etc) should have IE11 not IE8. The login screens have had "are you sure you want to use this browser?" messages for IE8 users for a while, but some still use it, though only a few.

This is legacy application. Thankfully for our new applications the contracts state nothing older than IE11 will be supported, and that we only begrudgingly support that so users of IE may experience display issues or other minor usability problems from time-to-time.

And even terminating the browser itself doesn't solve the problem. There's still the accursed compatibility mode. We still have to support IE7 and IE8 because of this (it looks ugly, but is still functional).

> the accursed compatibility mode

Ah yes, the fun of an almost-impossible-to-reliably-detect setting that affects your display and sometimes worse.

> almost-impossible-to-reliably-detect

have you ever tried document.documentMode?

I thought that was only in IE11, but apparently it has been around since IE8.

It is only available client-side though, and while you can feed it back to the server if relevant there (i.e. server-side rendering which most of the legacy code I'm responsible for does) you'd have to keep doing so in case the mode changes between requests.

Also you are forced to add in extra conditionals to your page whether you are working client- or server- side: you can respond to this property to deal with display differences via CSS selectors.

I wish. Unfortunately Microsoft never created a full alternative for embedded applications was never created my company's date to stop using IE11 by 2021.

IE11 support is currently slated to end in 2025.

I saw the beginning of the third Browser War was proclaimed https://en.wikipedia.org/wiki/Browser_wars#Third_Browser_War...


Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact