Hacker News new | past | comments | ask | show | jobs | submit login

Long experience of contacting sites suggests that it is, at best, of limited effectiveness. At Opera we have a not-insubstantial team dedicated to developer outreach who frequently contact sites that are broken in Opera and give them help to get stuff working again. But the approach doesn't scale; we can only contact so many broken sites and we can only get so much traction being proactive and asking people not to depend on new, shiny, but single browser, stuff.

I think it is instructive to examine how the incentives line up for various players here.

* For high-marketshare browser engines:

Prefixes are great. It allows them to release whatever new stuff they like whilst avoiding the bad rap that Microsoft got for releasing proprietary things like XMLHttpRequest. This makes them look innovative, which gets them lots of press. It also makes it impossible (thorugh the "you won't implement other people's prefixed stuff" social contract) for their competitors to implement the new things and, even once the others do implement, the existing content won't work, helping protect their marketshare. Of course you can't ever drop the prefixed property, but there is no social stigma for this, so it isn't a big deal.

* For leading-edge web designers:

Using prefixed properties in demos is a no-brainer. They allow you to create novel effects which you can then discuss in your blog, so improving your reputation and social standing in a competitive market. The fact that the sites won't work in multiple browsers is irrelevant to you because you are mainly targeting other designers who will have a full set of browsers installed.

* For web designers working on client projects

Using prefixed properties is attractive, particularly on platforms where there is an unhealthy balance of rendering engines. It allows you to make designs that look like the leading edge demos — indeed your clients may be demanding this. You can rely on vendors never dropping prefixes and by the time the next major shift in browser marketshare occurs you probably won't have to maintian the site anyway.

* For the CSS WG:

Well obviously this is composed mainly of people from the other groups. But the main argument they use in favour of prefixing is that it allows them an unbounded amount of time to tinker with new proposals whilst providing a convenient excuse to ignore the legacy content that has built up in the meantime. This means that in the future there might be fewer people who have WTF-why-is-it-like-this moments when using CSS and decide to blame the working group. Therefore they think that prefixes are good.

* For non-dominant-marketshare engines:

Prefixes suck. You put a huge effort into implementing some new feature that someone else released under a prefix, release it, and it probably doesn't cause a single site to work better. You have to hope that authors start to include your prefix (even though there are probably legacy tutorials that don't mention it) or already included it by adopting the scattergun "add all the prefixes I can think of and hope the syntax doesn't change" methodology. This affects your ability to attract new users.

* For new entrants to the market:

This is an extreme case of the above. Prefixes are an enormous barrier to entry.

* For end users:

Prefixes suck. They increase the difficulty of changing browsers because they increase the chance that sites will break. This makes it harder to choose your browser on the basis of features like UI, privacy controls, security performance, etc.

So we have a solution that is good for vendors with dominant market positions and bad for users. That seems pretty anti-open-web to me. In the long term, I think the solution is to get over the idea that it is OK to keep fiddling with features once there is content that depends on the existing implementation; i.e. you have two options: "don't ship" or "ship and accept the legacy you create". That means no prefixes in CSS, just like we don't have them in HTML.

In the short term, the situation for non-WebKit browsers on mobile has become critical. If a decade ago browsers hadn't decided to implement the Microsoft-proprietary features in a way that was compatible with the legacy, we might all be stuck with IE6 today. If Safari hadn't added "like Gecko" to their UA string they might found it much harder to gain traction. History suggests that when browsers feel the need to take some action to improve competition, it is good for the long term health of the web. So it is here.

I really wonder how much end users care. If you exclude end users that are, say, either reading hacker news or paying people to create web sites.

Of my biased selection of wife, father, mother, brother, I will frequently see them browsing in IE or FireFox and seeing terrible, terrible pages and not really caring or even noticing. They don't think, "huh, I bet this site would look better with a border-radius... didn't it have one in chrome?"

Edit: To clarify. I think I'm just questioning whether this is bad for these users. I mean, if they don't perceive the issue, is it bad? They are getting a lesser experience, but does that matter?

Honestly I don't really get the existence of Opera. Not when both Firefox and Chrome are free and don't suffer from the issues you mentioned.

This may be related to why I don't really care about the few users who use Opera -- it is just not worth it.

You do know that Opera is the most used browser on mobile devices, right? And that they invented quite a lot of features you take for granted in your current browser of choice, right?

Replace "Opera" with Firefox and "Firefox and Chrome" with IE. Do you still feel the same way?

You make it sound as if Developers are solely to blame for this "mess", and they did it for superflous reasons. I call BS on that.

Case and point: Border radius and linear gradients made things better for EVERYONE. Developers didn't have to create the html/js/css/image mess just to create rounded corners. This meant less code, less images, less css, which also translates to snappier websites. (and users like that.. there are studies that prove that) This also meant that, as a company, we decided that IE had to live with a degraded experience until they made their browsers competitive with all the others. (and users had access to said browsers)

As a Front End Engineer, I find it insulting that you suggest we are doing it for "fun" or to make our resume look better. This makes our lives better, and we have to consciously decide who gets a degraded experience and who gets the better experience. I think we call that "graceful degradation" or "progressive enhancement". You stated: "They allow you to create novel effects which you can then discuss in your blog", if these are novel effects then why do...

You state that websites are "broken" for non-webkit browsers on mobile. Well then maybe my definition of broken and yours differ. I say a "broken website" is one where the content CANNOT be consumed by the end users. Also if the end users have functionality that is broken, and therefore prevents them from accessing / modifying content.

I DO NOT think broken means, degraded visual experience. When we decided that IE would get square corners, and flat background (instead of rounded corners and linear gradient backgrounds), we knew that IE would still be consuming the content just the same.

Therefore, please inform me which -webkit prefixed css is causing the breakage I define. (where consumers are blocked from the content)

"This looks bad", doesn't count.

Now granted, I'll give you that as developers, we should be using all prefixes that are supported. It might be a pain in the ass, but that's our job. I'm with you there, and I'm going through my current css to find if any are missing -ms, -o, -moz and the default fallback css. Considering I use a preprocessor for my css, I'm pretty safe, except on my blog, (which has no preprocessor yet). I suggest all of us developers do the same. But this is a "nice to have" not the "the mobile web is broken!" as browser vendors are rallying.

Again, if you can prove to me, that the web is broken under my definition, I will take my words back for those specific css rules according to their proliferation on the web.

Applications are open for YC Summer 2019

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