The ES6 spec draft is in its final stages of being revised. At this point there shouldn't be any substantial developer-facing changes except to a few final things that are being ironed out (mainly modules).
The features that are being shipped in Firefox are ones that are stable in the draft spec and not expected to change. At the point of spec stability, these features need to be actually tested in broader distribution to help find any potential compatibility corner cases, similar to the issues found with Array.prototype.values [1].
Moreover, the model in which large, multifaceted standards go through a series of revisions, with vendors following in lockstep, releasing implementations of everything that has been decreed stable and nothing that has not, has never been the way the web worked, despite the fact that many standards organisations design their processes around it.
In practice vendors implement small chunks of emerging ideas, with flags to prevent the ideas reaching the stable versions being a relatively novel addition to the process made possible by rapid release schedules. The ideas become stable, ready or not, when enough people are using them that it's no longer possible to remove or amend the implementation without breaking sites and thereby annoying your user base.
I hear that the TC39 group that controls ECMAScript are planning to adjust to this reality by incrementally standardising features in the future so, perhaps, instead of "ES7" we will see specs for "ES foo", where "foo" is a specific feature. Ironically this is closer to the way that some non-web languages like Python (ignoring the 2/3 divide) work, with a series of enhancements that are adopted as they are ready, even though Python actually does have clear and meaningful versions.
I agree with it in principle, but this isn't the first time FF has dropped in Javascript features which are still not finalized. I just think that if other browser vendors are going to be raked over the coals for not rigidly adhering to standards processes and shipping non-approved features not behind flags, everyone should be held to the same standard, a consistent policy.
If the other vendors weren't, respectively, the largest, second largest, and third largest tech companies in the world, and amongst the most valuable companies in the world this comparison would make sense. If, of the other three browser makers, we weren't discussing a company that holds a near monopoly on desktop OS's, a company that holds a near monopoly on the high-end of computing, and the third which holds a near monopoly on internet services this comparison would again make sense.
Should Mozilla have been more conservative in shipping features that are actually written up in a spec on their fledgling OS? Probably, playing strictly by the rules is generally a good thing. Is this comparable to a different vendor working to ship an enormous feature which didn't even have a spec, and which the person at the centre of the controversy asked other people to help write because they had been so busy? No, not at all.
Size, influence, and power always make a difference. I have a hard time understanding how you wouldn't see this.
Like the Geneva Conventions, they protect both big and small players, in times of war, as long as everyone agrees to abide by them. The big players, as you indicate, could really do a lot more, unimpeded, but have shown relative restraint and participated voluntarily these standards committees. I don't think granting a waiver for one particular vendor is conducive to influencing others to play by the rules.
> I just think that if other browser vendors are going to be raked over the coals for not rigidly adhering to standards processes and shipping non-approved features not behind flags, everyone should be held to the same standard, a consistent policy.
ES6 has cross-vendor support and a draft specification [1], which are not true of PNaCl or Dart. No browser vendor has stated opposition to ES6 that I'm aware of; everyone's committed to implementing it.
This has nothing to do with PNaCL or Dart, so why beat that strawman? This is about standards committee stuff being pushed out before finalization not behind a flag, the kind of stuff that incited the big brouhaha over prefixed APIs not too long ago. Commitment to implement is not the same as "won't change before final release", so what happens if it gets significant uptake, and the final draft actually tweaks something important?
As far as I know, the way ES6 works is that there is consent for everyone to implement features that have been approved in the "face to face" meetings. That is not the same way that the CSS working group works, however, because CSS is now modularized as opposed to monolithic.
You're trying to create controversy where there is none. Nobody on TC39 objects to SpiderMonkey implementing specific features with broad consensus before all of ES6 has been finalized.
At one point we made the flow for connecting to Facebook pretty ambiguous, where "Skip" meant yes and "Continue" meant no.
Wow wow wow. That is beyond ambiguous into downright misleading. I've always stayed away from these games because I largely don't find them fun, but now I have the additional reason that they are trying to fuck me from the moment they are installed. I didn't realize it was quite that bad.
This one was proposed because a competitor was doing the exact same thing, and we knew from someone inside that it boosted registration by ~25%. Seems quite a lot of people don't really think, "Why did Facebook appear?".
Fortunately we argued this one down before it ended up in production.
It does make me wonder, what things have I said about somebody's creation and then have them come along and see it
I passingly wrote some disparaging remarks in a github issue about the ES6 binary data strawman spec written by Dave Herman, pretty much out of my own ignorance, only to get a message from him a few months later asking for feedback on it and what I thought was wrong.
By this point I had learned more about the topic and reading the spec language and knew enough to know I had just been an idiot. I ashamedly responded with an apology and basically told him that my criticism could be ignored because it came from my lack of understanding and not a real problem with the spec.
I think he meant there's no difference between being unemployed and just starting as 1099, since there's basically no taxes paid to show you're making any income for a while.
At this point, developer tools are essentially a required feature for a browser. All else aside, there's no way to debug a bug that's specific to a single browser without tools integrated into that browser.