Hacker News new | ask | show | jobs
by Supermighty 2599 days ago
I understand them wanting to discontinue browsers that have very low usage and have discontinued support from Microsoft, but I can't help but feel a little sad about the narrowing browser engine ecosystem.
5 comments

Last major update for IE11 was like 6 years ago? Supporting anything related to this browser is painful and is blocking multiple new web features (or even not so new).

I would love to use CSS Grid without thinking whether it will work however it happens that IE11 has only partial (and buggy) support for it.

I believe that supporting IE11 blocks innovation.

What sort of features does a mail client need though? Up until recently i was using SquirrelMail and only stopped because my webhost removed it (likely because there hasn't been an official release for a few years now... which is weird since there is progress in the code repository, just not official releases). In case you haven't used it, SqurrelMail barely uses anything beyond a couple of frames (normal ones, not iframes), a table of links for the mail and a few simple controls (search, delete, mark as read, etc) with some very little (and optional) javascript for selecting all mails and stuff like that. And i really didn't miss anything using it, whereas every other web-based mail client i've seen is both slower and more annoying to use.

So, what is the use case here really, what sort of features IE11 does not provide that you'd need to implement a web-based mail client?

(note that i'm not trying to promote IE11 here, i just do not understand why IE11 would block implementing any feature to the point of dropping it entirely)

I'm sort-of supporting IE11 at my current company and it's not about the features, IE11 is full of rendering bugs & quicks which make you work more. Lots of CSS bugs, lots of JS bugs, it's just an outdated browser which has a real cost to support.

Then you need to be careful to include enough polyfills because even what you assume would be there probably isn't, there's no Promises, no Array.prototype.includes, no arrow functions.

So it isn't a case of something being impossible but more of a case that it needs workarounds to make things work with it?
Not really impossible no but very costly since every feature shipped will likely break in one way or another on IE.
> What sort of features does a mail client need though?

How about a consistent, reliable implementation of modern web standards? If you had to write a mail client in Java, would you rather target Java 1.5 or the most recent version?

Many small (and large) features together make a huge difference when it all adds up to providing an implementation of modern web standards that is consistent with other browsers and with modern standards. It's a huge burden to always be checking "is this supported in IE11 or is there a polyfill we can use" when wanting to use a native function or object (not to mention features that can't be polyfilled or transpiled, like ES6 proxies).

It might sound like i am trying to be a contrarian, but Java for me is a special case and actually i'd probably stick with Java 1.5 or even 1.4 which was the last Java that i liked (i always liked the idea of Java as a very simple OO language and i disliked it when it started getting extra baggage - useful baggage to some, but still it deviated from the simplicity). But really that is a case of personal taste. If you replaced Java with some other language, like -say- Go, i'd most likely go with the latest version (...although again Go 2 does sound like it might follow Java's trajectory, so who knows, but for now i'd use the latest one).

But honestly i'm not a fan of requiring the latest version of something just for developer convenience. It might have to do with growing up using outdated computers for years and seeing most programs not work or work slowly/badly, often without a good technical reason (outside programmer preference).

I mean, dropping support doesn't mean it definitely won't work, just that it isn't taken into consideration when developing new features / bug fixing.
Exactly how many browser engines do we need? There's currently Blink(Chrome|Edge|Brave), Gecko(Firefox), and WebKit(Safari and various OSS browsers). With web technology standards, it doesn't really make sense that there would be that much competition, so having 3 competing engines seems sufficient to me.
We need enough as to be reasonable competing point of views when it comes to setting standards. Things like web components, service workers, built-in javascript modules and more were pretty meh features pushed really hard by a specific browser vendor that tried to ignore feedback/pushback. The only way the standards won't get to be more of a mess is if we have multiple implementations and multiple, distinct organizations having opinions on the specs and implementation.

A world where Blink has 80%+ marketshare (which is pretty much what we have or where we're headed) is one where a single group can dictate the standard for everyone else.

Do we even need more standards though? The standardization process takes a lot of time and just because something is a standard doesn't mean major players will implement it. Implementations always trump.

Browsers are basically an operating system now. For comparison, nobody cares that the Linux kernel isn't a standard. Nobody wants a "competing" Linux kernel implementation. The implementation itself is the standard and reference and that's totally fine.

The problem with looming IE dominance in the old days was that it was closed-source and proprietary, but that's not the case with modern day engines. In the FOSS world, competition isn't really a big driver. It just causes redundant work.

> A world where Blink has 80%+ marketshare (which is pretty much what we have or where we're headed) is one where a single group can dictate the standard for everyone else.

That's just not true. Any piece of software can be transformed into another piece of software. If <Upstream> really wants some feature I don't want, I can patch it out. If I publish some feature that <Upstream> thinks is good, they can just merge it.

Of course it would be good if <Upstream> was more like the LLVM-Foundation and not "literally Google", but the point is that having just one engine isn't the same as one party controlling the implementation. Microsoft obviously understands this, or they wouldn't choose Chromium as the new basis for Edge.

> For comparison, nobody cares that the Linux kernel isn't a standard. Nobody wants a "competing" Linux kernel implementation. The implementation itself is the standard and reference and that's totally fine.

Except for the people working on the BSDs, Hurd, Minix, etc.

POSIX is the standard, Linux is the implementation (not completely accurate, but close enough). Apps built to the standard can usually run on BSD with minor changes, just like websites built to work with Chrome usually work well on Firefox with only a few minor changes.

I will be controversial and say that Linux's utter dominance in the post-UNIX space may have been detrimental to the development of the ecosystem as a whole, limiting radical experimentation and preventing a much-needed reimagining of core computing paradigms.

> POSIX is the standard, Linux is the implementation (not completely accurate, but close enough)

POSIX is more of a post-hoc thing, it doesn't really matter except for compliance - and then Linux isn't compliant. In practice you still need an abstraction layer.

If you want to use actual Linux features, you have to use Linux-specific interfaces. Of course a lot of applications don't do that, but that's besides the point.

The same is true for other UNIX (and non-UNIX) operating systems. They're not implementing new standards, they're implementing features to differentiate themselves.

> I will be controversial and say that Linux's utter dominance in the post-UNIX space may have been detrimental to the development of the ecosystem as a whole, limiting radical experimentation and preventing a much-needed reimagining of core computing paradigms.

Perhaps, but standards wouldn't help here - to the contrary.

This is true, and I agree. I think I may have missed this in your original comment:

> The standardization process takes a lot of time and just because something is a standard doesn't mean major players will implement it. Implementations always trump.

Yes, absolutely. Standards are driven by successful implementations. My point was that more, better implementations (leading to new and improved standards) are not a bad thing. The web stagnated during IE's dominance, and it may develop the same sort of stagnation under the dominance of Blink. Some degree of competition is good to keep things moving forward in ways that users want.

> That's just not true

Its true enough: it keeps happening. Patch it out or resist all you want, it doesn't matter if you have to acknowledge and deal with its existence, if only because of the amount of energy it takes to push back against it. If it doesn't have a feature you want because they disagree, you can add it to your browser of choice, but it doesn't matter because you still won't be able to use it.

It's exactly what we're seeing with firefox. They could implement feature XYZ, but it would be irrelevant because no one (web developers) could use it.

You just moved from "market leader can dictate the standard" to "market leader can dictate what developers will want to target".

But with that premise, having a standard or not doesn't determine the outcome. Market share determines the outcome. The standards are just recommendations, nothing forces Google or anyone else to implement them.

Fair enough, my wording was bad.

Let's just go with something simpler: Google having the control it has on the implementation (and thus, most everyone else because to make a useful browser you have to make it mostly compatible with Google's implementation that everyone will target) is bad.

Blink and WebKit are basically the same though. I'm not sure if they should be counted separately. How much WebKit existing helps prevent Google from taking control of the web?
I'm sure some won't like this comment, but there are only two that matter: Chrome and Safari. Firefox's share is about the same as IE 11 (2.0 -> 2.5%).
Where do you get those numbers? This indicates FF to be around 10% still:

https://www.netmarketshare.com/browser-market-share.aspx?opt...

EDIT: This is on laptop/desktop. Without the device filter it's about 5%. But then again, I don't think it comes by default on any Mobile OS, so they have a disadvantage there. Plus non power users of their smartphone (like me) might not change the browser there.

That's may be true, but that doesn't mean Firefox/Gecko isn't a viable alternative just because fewer people are choosing to use it. In fact, I think it demonstrates my point that people don't need competing browser engines that badly because they aren't radically different. There was a time where IE was hemorrhaging users to Firefox, but that was because Firefox legitimately did things better than IE/Trident. At this point, however, our expectations of what a web browser should do are fairly solidified, so people are likely going to choose whatever is being marketed to them the most and comes installed on many Android phones by default.
> Firefox's share is about the same as IE 11 (2.0 -> 2.5%).

No? Most browser share analysis put FF at #2 (9-10%), for desktop/laptops and at #3 (5-6%) for mobile.

In minds of developers/managers/testers. I find too often sites that do not work correctly in Firefox.
WebKit*

Webpack is a bundler.

LOL

Thanks for the correction.

How exactly does it help anybody to to support little-used, out-of-date, insecure browsers?
It really depends, some place simply have infrastructure that you aren't going to change for whatever reason. So you may lose those clients, but that needs to be verified.

Having said that, IE11 is still supported so it doesn't strike me as security risk. In fact, not updating a browser with features is likely going to improve security. A little-used browser is also less attractive to target for exploitation.

Definitely. It's also a lot more about the second part (discontinued support, and the fact it sucks to develop against) than the first (very low usage).

At my company we're in this weird spot where Chrome has overwhelming adoption but IE11 has more usage than some of the other modern browsers. For example, if we only went by usage (or even more so: conversion/$$$), we'd be dropping Firefox support before we drop IE11.

That obviously doesn't feel great. I don't want to be in a "This website is optimized for Chrome in 2560x1440 resolution and 32 bit colors!", reminiscent of the old Netscape vs IE days. But we're getting very close to it. Firefox's usage is dwindling. Safari is pretty bad at anything except saving battery. Chrome is good but Google is pretty sketchy with how they bully their feature requests into the standards. IE11 can go to hell, but I still want people to test across browsers. It's happening less and less.

At least they still support Edge. Although Edge is moving towards to a Chromium based engine..