Backwards compatibility doesn't apply here because, by definition, prefixed properties are supposed to go away and the intention of them is to go away. Only dumb developers continue to use such things once a standard property is available so it's their own fault if they don't do that.
> Only dumb developers continue to use such things once a standard property is available
There are a LOT of sites which once they get deployed, almost never get touched again. Either because they have no developers available or due to lack of time/interest.
So, what was a good way to achieve X at the time the site was developed is no longer be great five years later.
If they can't be bothered to fix their code, then those web sites surely wouldn't mind if browsers eventually started popping up a dialog that says "This web site content may be abandoned or no longer supported by [domain]. Proceed with caution!" upon loading outdated code. That would be one way to handle this and direct user complaints to the right party.
But if the site used prefixed css, it's possible that no other browser would render the site properly anyway (many sites these days are made with just chrome/safari in mind)
The only developers who make sites that work just in Chrome or Safari are rank amateurs. No professional would do such a thing. Professionals understand that a web site must work for all visitors and I have never heard of any web site that would do otherwise. To me, this is only an internet rumor and not based in reality.
The only exception would be when one particular feature is needed to display one specific, unique element. Off the top of my head, I can't think of what that would be.
There's a big difference between changing compiler tools, and showing stuff to end users who likely have no idea what the hell is going on, and we'll just have more of these[1] situations. (Even if it's a fake comment, it's close enough to real responses from people)
Most of the sites in the world are run by people who have little to no understanding of the internet beyond the most basic "series of tubes" aspect.
If you're going to break something because you don't want to support backwards-compatibility any longer, break it in the least obnoxious way possible.
There will always be non-technical users. The trick is to focus their frustration on the parties they should be frustrated with. Take for instance those screens browsers present when you try to visit a website with dodgy security. These are universally awful user experiences and users likely have no idea what the hell is going on, but browsers do it anyway for the users' benefit and for the long-term health of the web. When users encounter these warnings, they don't think "Oh jeez, Firefox sucks so much" they think "I better get the hell out of here and not visit this web site anymore".
I'd argue that more strict adherence to standards and rejection of old, deprecated code is better for users because it's better for the long-term health of the web as a platform. The effort spent maintaining a mess of unnecessary backwards-compatibility (particularly with things meant to be temporary from the start) is effort that would be better spent providing actual value for users in the form of quality improvements, better performance, and features.
Mozilla has reluctantly begun implementing some -webkit- prefixed APIs and CSS properties (i.e. mapping the prefixed name to the standard unprefixed name) to improve compatibility for mobile websites that assume all mobile browsers are some version of WebKit (including Blink).
This comment was flagged away, probably due to the reference to "dumb developers". Please don't use such language here; it's inappropriate and not welcome on Hacker News.
I've vouched for your comment because I think you were making an important point, but please choose your words more carefully in the future.
>Backwards compatibility doesn't apply here because, by definition, prefixed properties are supposed to go away and the intention of them is to go away.
Only it doesn't work like that. Once it's there and used, it's there -- and whether it was meant or not, nobody gives a flying duck about.
That is the ideal world. But a lot of web developers don't do this. And who is going to get blamed when websites that used to work (and work in other browsers!) suddenly stop working after a browser update?
That's all well and good, but in practice what happens is that the users of browsers complain and then switch to another browser because sites are broken.
You are right. The vendor prefixes are there to introduce new properties that they hope will be implemented in the standard. All those prefixes can change or disappear altogether and without notice.
However, this is a way for a browser vendor to test their code in real life. If it fails, they can change the prefix and try again till they get it right. You can't do that once it's standardized. In fact, there are a number of properties that have been implemented incorrectly and still exist today but were eventually fixed in the non-prefixed property.
But a developer is to then remove the prefixed property. Not complain about it and blame others for their decision to use it in the first place.
The Web was certainly working before that functionality, which should be considered beta feature anyways, and you could've waited till it was standardised. If we'll support each and every lousy developer on the world, things will surely get more complex and dirty. And no user will ditch a browser for some css not working, they'll use the other browser temporarily for that website. Throughout this thread people consider users as lousy, nagging, complaining, brain dead people that jump from one browser to another, but this is not the case. They're as smart as each and every dev here, they just don't know programming. I guess what's going on is that devs and amateurs make lousy stuff and go singig the song of the infedele users because they don't want to fix their things.
Not exactly, as the functionality is experimental and subject to change. That was the whole point of the prefixes.
Syntax and behavior of css changed between proposals and early drafts of a new feature and the final result.
So without prefixes you'd have a single "XXX" CSS name that might get deprecated altogether (eg the name ends up XXY) or be defined to have different behavior (e.g. it remains XXX, but not it also makes the element bold rather than just italic).
Totally agree. IMO they probably would be better off if they left the original behavior, but every time prefixes are used (whether they work or not) browser would just display a watermark in a corner saying that website is using experimental features that are not standardized yet and could appear broken.
I see this is not a popular opinion, could someone at least mention why?
An experimental feature is experimental, it might change it might disappear. I think my suggestion is still better than not being able to see its effects by default. A note in the corner also is less annoying than a message popping up when page is about to be viewed.
More reading: https://groups.google.com/a/chromium.org/forum/#!topic/exper...