If you want to do things progressively, there should be a feature matrix, and as more and more enhancements are fully implemented in all major browsers, one shouldn't be able to specify which browser you must use.
It's probably just my ignorance. But it's not clear to me where the lines are between best practices, web standards, and fairness (forcing a browser of course evokes nightmarish legal history a la Microsoft).
I suppose I should look through:
http://lists.w3.org/Archives/Public/public-html/
If anyone can point me in the right direction though (or maybe I'm asking the wrong questions), that'd be cool.
I suppose the risk is that because HTML5 has so many different features, it would be easy to basically not standardize. If Apple is the only company that fully supports interesting parts of the standard and they keep on iterating and nobody catches up -- is that really a standard? But are we right to deny them further development and innovation? I think there's a balance, but where is that balance? We've now got a lot of cooks in the kitchen:
http://www.w3.org/2000/09/dbwg/details?group=40318&publi...
Hope it works. But you know what they say about committees, second-system syndrome, etc... Though honestly it's not like I see any other solution....
Though an easy to browse website that showed near real-time progress of all the major browsers' implementations of the HTML5 feature set, so we can at least see the playing field. That might be a start.... I definitely think it's in everyone's interest to cooperate.
ETA. Found this for HTML5/CSS3 feature matrix:
Web standards circles agree that "browser sniffing" as opposed to "feature detection" is kind of evil. (See http://modernizr.com for one way to do it right.) This, however, is a very special case, where the whole point is showing what ones specific browser can do.
Generally, the user's browser is irrelevant to the point of a website, and supporting as many browsers as possible is best.
In this case, the user’s browser matters most, as no other browser currently has 100% feature parity with Safari features used in these demos.
On the other hand, browser sniffing, as you mention, is a slippery slope. Maybe all they might do is acknowledge that until other browsers have fully implemented 3D CSS, etc., they are only recommending Safari.
ETA: Never mind, I went back and read the page:
Not all browsers offer this support. But soon other modern browsers will take advantage of these same web standards — and the amazing things they enable web designers to do.
Good enough I suppose...
Apple using "-webkit-" is actually preserves the "open" and "standards" parts of "open standards". Otherwise it’s embrace and extend. (http://en.wikipedia.org/wiki/Embrace_extend_and_extinguish)
Edit: For clarity, this is how things like -webkit-transform are born (slightly simplified):
1. Apple (or Mozilla, or Opera, or Microsoft) decides it would be nice if the web stack could do X.
2. Apple devises a property and syntax, implements it internally, evaluates performance hits, iterates, etc.
3. Apple releases a public developer build (a "nightly") with X, using the -webkit- prefix, and blogs about it. http://webkit.org/blog/130/css-transforms/
4. Apple drafts a spec (no "-webkit-") and submits it to relevant standards bodies
5. Standards bodies, browser makers, and document authors weigh in
6. The draft is modified, clarified, dropped, and/or implemented elsewhere. http://webkit.org/blog/130/css-transforms/#comment-23010
7. The draft becomes more or less finalized, and user agents should support X without a vendor prefix
> there are situations (experiments, implementations of W3C drafts that have not yet reached Candidate Recommendation, intra-nets, debugging, etc.) where it is convenient to add some nonstandard identifiers to a CSS style sheet.
Most extension Apple used in the demo page are part of CSS3 Working Draft, including CSS transform[2].
It does use emerging web standards. Just because some of them are not reliable everywhere does not discount that it’s all to be found in W3C and WHATWG draft specs. Note the HTML itself: They’re using <article>, <figure>, <header>. It’s really HTML5. (Remember, we consider things “standard” even before IE supports them.)
This is not meant as a compendium of current best practices. Progressive enhancement still applies in the real world. Apple knows that.
If you are criticizing this for being not cross-browser enough, you are completely missing the point.