Neat idea, very poor implementation. If you try to view the examples in Google Chrome, you'll get a notice that you have to download Safari (http://skitch.com/bradgessler/dgw7p/apple-html5)
This sets a very poor example for Apple supporting standards.
Some of the demos only work in Safari. Even a nightly Chromium snapshot does not support everything that Safari does.
I ran Chromium with my user agent set to Safari. And here's where it gets interesting.
The demos that don't work in Chromium, notably the ones that require CSS 3D transforms, get removed from the listings on the pages that have them. So for example, the "Transitions" page, only the Dissolve, Toss, Slide In, Iris and Fade Through effects show up. Unsurprisingly, those are the least technically impressive. The gallery demo in Chromium runs at a fraction of Safari's frame rate. Very choppy.
The VR demo gives you an overlay explaining that it's only supported by the iPhone browser, Safari, or another browser with 3D CSS transforms.
So I guess their demos actually detect if your browser meets the spec or not, and remove the stuff that doesn't work. I'm guessing this was the original plan -- let everyone in to show off the HTML5 tech. But then someone looked at the nerfed versions without 3D and compositing and said "that's pretty weak, we don't want that to be people's impression" or something.
"The upstream work is not sufficient for what we will need. It is only the beginning of the work. We would need to offload compositing to the GPU."
Sounds like Apple decided to enable the existing WebKit implementation while Google is working on their own implementation. (which could very well end up back into WebKit proper at some point) This is exactly how standards in the context of friendly competition are supposed to work. You can't really expect everyone working off WebKit code to coordinate when certain features or standards support are turned on in beta or public releases.
What is the purpose of showing demos that work only on Safari? How can one call this a standard? Standards should work everywhere IMO. One of the many criterion I use to define a standard is that it is widely available. Right now, Flash is more a standard than HTML5 according to this criterion.
Jobs is doing what Gates was doing - locking everyone on his platform. I don't know the stats but the Safari browser share is very low (on Desktops).
You don't really get to "define a standard", the W3C does. Standards are about the way the web should be, not the way it is.
The difference is between adopting open standards that others haven't gotten around to yet
versus inventing your own undocumented functionality for the purpose of making compatibility impossible.
Apple is further down the track. MS was trying to derail the train.
Making you download Safari does seem a strange choice. But then, the whole point of the page is "look how well these things work in Safari", so why not?
The point probably being that these features are specified in the standard, but aren't implemented everywhere yet. This isn't lock in, because other browsers will presumably implement them soon(tm).
This seems to be a point a lot of people are making, but it isn't really true. Most of the features shown in these demos are not part of any web standard. HTML5 is actually not a standard, but even if it were this would still be only partially accurate.
In reality, all of the CSS transforms and effects (and plenty of other Safari features) were created by Apple without input from any of the other browser vendors or standards bodies. Some of those things have been picked up, some haven't. I actually think this is the right way to do things, and I don't want to give off the impression that I don't appreciate what the Safari team has spent the last few years doing, but I'm also not wild about letting Apple distort the picture for the sake of scoring PR points against flash (which is what this website is all about).
IE6 was the standard. It is not longer the standard because it was written in 2001. Bash IE6 all you like, normally I would join in but make sure its a valid point.
Excuse me? IE6 was a standard of what exactly? Sure it was the best browser back in 2001, it was the most popular browser for a while, so what?
The point of my comment was that standard is not something that works on the browser you have, it is something that parties agree upon.
How many of those bashing Apple here know that the editor of HTML5 spec (Ian Hickson) is from Google, not Apple? How many do know, that all that nifty stuff this demo shows is already submitted to W3C? How many do know, that a lot of it is already supported by Mozilla and Opera with (oh horror!) their own vendor prefixes? Alas, judging from comments a few do understand what vendor prefixes are.
I am a member of WHATWG mailing list so I can see how standards are born, and this level of misunderstanding about web standards in general and HTML5 in particular really saddens me.
Since when does a "standard" mean that it magically works across all browsers. Is HTML5 less of a "standard" because Microsoft is too lazy to implement it properly in their browser?
Which, given other browser-makers' commitment to supporting the emerging specs, just goes to show that 'standards' is a misnomer in this case. In informal usage that's OK; most of us hope that the standardisation of CSS3, HTML5 and related WHATWG initiatives will happen sooner rather than later. But misapplying the term in your marketing material (linked from the front page) is confusing and unhelpful.
Uh, what? The vast majority of the time, when people talk about web standards, they mean the W3C recommendations. Suddenly, when Apple uses it in marketing material, it means "recommendations that have been implemented by all browsers"?
Upvoted. You are correct. HTML5 is not yet even approved W3C candidate recommendation.
To be more accurate Apple should have said that it is committed in implementing HTML5 standard, not that it has done it, because at the moment HTML5 is not ready.
From Wikipedia: "Ian Hickson, editor of the HTML5 specification, expects the specification to reach the W3C Candidate Recommendation stage during 2012, and W3C Recommendation in the year 2022 or later. However, many parts of the specification are stable and may be implemented in products"
2022? Then those guys move too slow to be useful. Good on Jobs for trying to force it to move at a more reasonable pace. There is no reason to wait so long.
For a spec to become a REC today, it requires two 100% complete and fully interoperable implementations, which is proven by each successfully passing literally thousands of test cases (20,000 tests for the whole spec would probably be a conservative estimate)
The candidate recommendation phase, which WHATWG expects to happen next year is a much more relevant date. That aside I do wonder if this level of effort isn't just wasted pedantry.
Ian is not saying people should wait until 2022. That quote is taken out of context.
He was saying that it is useful well before it is an official recommendation. He is a member of the WHAT-WG and Apple was one of the founding members so what he's saying is pretty much in lock-step with apple and the webkit team.
Many browsers still do not support full css2 support. Why should we expect full css3 support? Thats why the 2022 seems so far away. It states FULL support not partial like most all browsers currently do.
> This sets a very poor example for Apple supporting standards.
Can you, or any of the dozens of upvoters, explain the logic behind that criticism? It literally seems to make no sense to me, so I must be missing something. The page talks about emerging web standards and talks about Safari and Apple's support for them. It mentions that not all browsers support all of the latest standards, and then it gives examples of some of the latest standards that Safari supports. So, huh?
You’ll need to download Safari to view this demo.
This demo was designed with the latest web standards supported by Safari. If you’d like to experience this demo, simply download Safari. It’s free for Mac and PC, and it only takes a few minutes.
As you see, it doesn't mention that MY BROWSER doesn't support the latest web standards. It simply says, that Safari supports web standards and that if you want to check the demo, download Safari. If you don't want to download Safari, you won't see the demo.
Except I don't need to download Safari to view all the demos - most of them work fine in Chrome if you run them from here:
http://developer.apple.com/safaridemos/
Not from the "public" page though. If I click on the typography demo I get the message that I MUST download Safari, even though we can see that that demo runs fine in Chrome.
How come it's misleading? It didn't say Chrome can't run the demos. It just said if you want to see my demos (or my products) you have to install my browser. If you don't want to download and install it, don't see the demos. Not really strange for me, I'm used now to the Apple attitude.
It says you need to download safari to see the demos. This is not true - I can view them fine from another page on apple's site using Chrome. That seems misleading to me?
Using Chrome in Windows I can't even click through to the examples - I get a blocking pop-up telling me to get Safari. Doesn't that, coupled with the line "soon other modern browsers will take advantage of these same web standards" imply that other browsers are lagging behind so badly they can't even try to run the examples? That seems misleading to me. The standards are not complete, but they are more widely supported than this page seems to suggest.
> The page talks about emerging web standards and talks about Safari and Apple's support for them.
It doesn't say 'emerging'. It says 'reliable'.
> It mentions that not all browsers support all of the latest standards, and then it gives examples of some of the latest standards that Safari supports.
Except that it doesn't. (a) because the specs are still in draft, and (b) because independent tests show Safari's support to be impressive but nowhere near complete.
Actually, transform is in the CSS3 working spec[0]. Until the standard reaches the "Candidate Recommendation" stage, the W3C encourages browser vendors to use prefixes (-webkit, -moz, etc).
DXImageTransform.Microsoft.Alpha, on the other hand, wouldn't be part of CSS3, and uses its own specific syntax.
Is there any technical reason why using webkit's browser specific css attribute and firefox's browser specific css attribute is any better than using IE's browser specific css attribute?
`filter:` syntax isn't compatible with CSS tokenizer (IE<8 is unparseable without special tokenizer state set by the parser, IE8 uses non-CSS syntax in CSS string).
IE's transform filter uses only matrix, which scares the hell out of designers.
It's no standard because apple developers extended Webkit with some additional tags but noone else. That's what makes it so sad. Even more sad is that they misuse the words HTML, CSS3, JS and standard to convince you of the oh-so-open world of Apple. MS did that for years and every web developer pays for that today. But somehow now it's ok..
You don't see how having to install Safari for Apples vision of the internet is the same vision that MS had when building their crappy extensions to the standard?
Yes! Why doesn't Apple just let every browser run it and see how superior Safari is in term of HTML5 support? The answer is: Listen up, people! Download our Safari now! Time to ditch your IE, Opera, FF & Chrome!..
Or Chrome needs to catch up. It is "ok" on a Mac. For instance, if I see an image on a web page I can right click and copy that image and paste it into Mail....with Safari but not with Chrome.
So much for "standard". I wouldn't have expected understanding of "open" from this company, anyway. Yesterday Flash was bad, but today it's fine to write websites that only work in Safari, while using some Apple-specific HTML/CSS-tags.
What if it works only in Safari? Apple has done all the hard work, and now what all-other browser vendors have to do is, implement these open standards Apple has developed. Apple do not plan to allow Java,Qt,Flash and all these unnecessary platforms on their devices. Safari is the alternative Apple has. I dont see any reason why other vendors shouldn't embrace Apple's open standards
It's funny how many comments with the same opinion here get downvoted but no explanations why it's fine to add your own extensions to HTML/CSS (hello good old IE days). At least make your statements when downvoting so many people.
I think the problem is that your post doesn't read as if you're very well informed. You complain about apple-specific "tags" in a nebulous, hand-wavey manner, and all I can imagine is that you're actually talking about vendor-specific CSS properties.
And there's the problem: you're complaining about what you think is a violation of the CSS spec by making a reference to a mechanism and practice that was deliberately baked into it.
The authors of the CSS spec specifically accommodated vendor-specific extensions to give browser authors a place to work on supporting emerging abilities that are still in a state of flux. It's a special namespace where features are allowed to incubate. When these relevant standards leave draft status and become 'candidate recommendations', then a simple change will allow browser vendors to support whatever CSS property syntax is approved. When this happens, updating content on the web is an extremely easy change. This mechanism allows browser vendors and spec writers to work concurrently without creating a mess.
So, it's kind of funny that you're complaining about this when Apple is actually doing the right thing according to the letter and spirit of the spec:
Edit to head your next objection off at the pass: Yes, the spec also suggests that "authors should avoid vendor-specific extensions". This is a message to web developers, not browser developers. Apple does not want a web where every CSS file has "-webkit-" properties in it. They want these emerging standards to be ratified so that the vendor-specific properties can graduate to an official, approved syntax.
Extremely lame that they check the user agent. They probably all work fine in Chrome since it uses webkit also (I believe Chrome uses a newer version even).
This is meant as inspiration, as an eye-opener, a PR move, and a gift to web developers & designers.
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.
The issue may be, however, that the standards committees for HTML5 haven't defined how different implementations of these standards are supposed to play together. And the question is: does Apple have the right to define how HTML5 should be handled cross-browser? (In this case, by very simply denying all non-Safari browsers -- at least via that link -- the developer links work -- kind of.) In all fairness, I think they do if other people haven't said anything else about it. But in even more fairness, perhaps other people (specifically the working groups) should make it more clear about whether or not you can target specific browsers.
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).
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:
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.
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.
That's a good point. And I can understand that Apple, esp. if they are targeting creative / ad people, are probably aiming for a completely professional look (v. Flash, etc.). Until the other browsers catch up, I suppose they have every justification for doing what they're doing. One could argue, that they don't want browsers that aren't fully conforming which might give a bad impression of the viability of this post-Flash world.
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.
In the standard, it’s just "transform". "-webkit-" is called a "CSS vendor prefix" and the idea is this: If the standard changes before it’s finalized — it does happen — but Safari just implemented "transform" and not "-webkit-transform", then sites created in the interim could be stuck with broken CSS, retroactively. Mozilla did this forever ago with "-moz-border-radius" rounded corners. Even Microsoft started using the "-ms-" vendor prefix.
Using vendor prefixes does not equal to being non-standard, from the CSS3 Working Draft[1]:
> 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].
Wow. I can only imagine what the reaction would have been if Google released this with Chrome-only demos. Lots of praise about how Google's leading the way, pushing browsers forward, and you really ought to give Chrome a try.
But when Apple does it? A barrage of complaints about how Apple doesn't support standards. It's laughable how transparently people are looking for something, anything to bitch about when it comes to Apple, no matter what they do.
Apple may not allow Java, Flash, Qt and all that on their platform unlike Google's Android(which is open to everything from anyone!). Apple might want to make sure that webkit replaces these unnecessary platforms by implementing exclusive and innovative features. And everyone is like bitching about Apple trying to be the internet monopoly and all that. I am sick and tired of all this Apple hate!
Well, Apple's page seems to emphasize HTML5 and its power, while on the other hand Google would probably explicitly brag about their Chrome browser. If Apple would rephrase the text to say something like "Look how cool Safari (and only Safari) is! You can do all this awesome stuff using HTML5, CSS etc." my reaction would be neutral or more positive.
No, because Google is not /restricting/ it. They're using the advanced features, not being bouncers deciding who to let into their party or not based on the color of their shirt.
So, when MS crippled web development for years with it's browser strategy and proprietary crap it was widely considered very harmful for the web. Now, when Apple does it, it's "pushing the web forward"?
We would all use ActiveX controls and be stuck with IE6 if everyone would think like you.
And i would argue every company would get the same "hate".
Even worse, we've all had this in the past, now we should do everything to keep things a standard and open, because we know where it leads.
Your comment betrays an extreme misunderstanding of vendor prefixes and the nature of standards development compared to a proprietary system of browser plug-ins. See other comments on this page. And it wasn’t ActiveX that crippled web development, buster. It was the lack of progress and support for emerging web standards like CSS2 and PNG. By contributing to standards, the Webkit team creates the exact opposite effect of IE6. (Accidentally upvoted)
Since a lot the html5 modules (and related standards) are still being worked on, we can't expect every tech demo of the new features to work in every browser.
Apple wanted to show some very shiny html5 demos and that is fine. There is a good chance that everything shown there will be working across all the major browsers in a not too distant future. (Yes they have have to loose the vendor prefix -webkit first, but that is actually the recommended way to use non-finalized preview features of the emerging standards).
I see this as Apple pushing the html5 wagon forward, the same as the other major browser vendors do. Have you tried Internet Explorer 9 Preview demos in other browsers?
Finally the html standard is moving forward again after years of standstill. How anybody can complain about that is beyond me.
+1 for Apple educating people on the awesomeness of HTML5.
-1 for being Safari-only.
Then again, when you think about it - the Safari-only filter implicitly tells people that Safari is the 'only' browser (or the best browser) currently supporting HTML5; that other browsers have to play catchup.
They explicitly say this on the front 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"
It seems like all the samples are targeted at the creative ad bureaus, and the goal is to educate them that HTML5 has all the features they need for their creative sites.
First the book publishers, now the ad agencies. The creative sector has really been in SteveJ's focus for the past half year.
They really open themselves up to mockery with this. Even here, in this community of people who know what's going on with W3 standards, people are finding the site confusing. Imagine the message this site is sending to the average user by putting up these cool demos that don't work on his browser:
HTML5: The standard that only works on Safari
I don't think that's the message they're trying to get across, but it's the one they're sending.
Edit: that said, imho, the original link is somewhat misguided. It brings up an interesting question: is Apple responsible for targeting all platforms, or at least all major platforms that conform to a standard? Even if those standards aren't fully implemented among different browsers? And wtf, Apple, I wanna play checkers... Some of the demos run really well on Linux though. But I mean -- are they responsible for all platforms? Or maybe they're just responsible for not misleading people into thinking that they must choose their platform? (The issues in Microsoft's antitrust history rise again.)
Anyway, for my money I don't think the future of the web is via the traditional browser -- but I'm sort of in left field in this regard. But yeah, there are maybe deeper issues that haven't really been resolved...
Probably for small jobs where WebObjects would be overkill. And they don't use PHP instead of WebObjects they use both PHP and WebOjects, right tool for the job and all that.
They also use SproutCore, jQuery (or have used it), Gianduia, and for the WWDC schedule it seems that they use something else, possibly custom.
If browsers stick to standards then great, but as this demo proves (since it only works in Safari) you'll still need to develop for various browsers, versions, brands, types.
As I see it - I'll stick with Flash. I like the idea of write once and deploy everywhere, which worked pretty well for me until the iTouch/iPhone/iPad came along.
CSS 3D transforms are an emerging W3C spec. WebKit has the hooks for supporting CSS 3D, but a WebKit port like Chrome still needs to add an underlying scene graph engine ala Core Animation to get 3D rendering going. It's non-trivial, but possible.
Scene graph engines are hard to build, much like vector graphics engines and font rendering engines.
That said, Clutter ToolKit (the same one Chrome OS is using for its windowing manager) is about the closest open source ready-to-go replacement that can do 80% of what is needed by WebKit to do CSS 3D on top of OpenGL. It's on Google's list to add to Chrome, but not for awhile.
Google seems to be favoring WebGL over CSS 3D (too much detail to discuss pros, cons, and the politics here), and is making WebGL implementation a higher priority for now.
Nope. Google uses a ton of WebKit code, submits a lot of code back into WebKit proper, but they're doing their own stuff too. IIRC they wanted to have GPU acceleration for 3D CSS which apparently WebKit proper doesn't offer at this point or Google thinks they can do it better. You can't safely assume all WebKit based browsers are going to be equal.
I've got a radar open with Apple about Safari's performance (that I know WebKit people have at the very least seen) that essentially boils down to this reason.
Does anyone know what word we're supposed to use for "Web Development techniques that help ensure a consistency of experience across browsers for all users regardless of browser choice" now that "standards" means something else?
these are experimental standards. they're being actively developed and discussed by many browser makers and the standards bodies, and will be the official standards soon.
don't hate on people trying to push the web forward. everybody is going it in a very fair, open, democratic method as trying to implement ideas as quickly as possible.
Somewhat buggy in parts on MobileSafari, though very well formatted for iPad. We certainly expect iPhone OS 4.0 for iPhone / iPod touch, but perhaps we'll see an update to iPad's version of iPhone OS as well on Monday?
Given IE's misleading page about HTML5 support, by omitting the parts they do not support to make it look like they are the market leader, Apple could have had something to gain by giving a warning that says something along the lines of "Your browser doesn't fully support the HTML5 features we're demonstrating, click here to continue, click here to experience it in Safari."
I want to see how the other browsers stack up in their demos and think it's short sided of them to not allow that to happen.
I'm still entirely unimpressed with HTML5's audio capabilities, and this 'showcase' does nothing to improve upon that. Press this button to play a 30 second sample? Browsers were capable of that in the mid nineties.
If they showed me a game with a background track and multiple layered, triggerable sounds (like just about any Flash game or iPhone game out there) I would have been a little more satisfied.
The gallery was also suprisingly sluggish on my core 2 quad machine with a somewhat super duper video card.
From a guy who did many of the examples for chromeexperiments.com and has been a pretty active promoter of HTML5/standards via three.js and other projects:
"I'm happy I rejected doing anything for this apple/html5 page. They should rethink their policy and give credits to the authors."
Tried on my iphone and iPad. The demos work at low framerate and is kind of slow. But its just a mobile device. I am not really expecting cpu intensive html5 application to work on these light devices. Thats what my macpro is for.
Check another post I made in this thread -- there are demos on all of the pages that are silently removed if the browser can't support them. You didn't even know you were missing the most impressive ones.
Cool. The main annoyance is that if I could use Safari too, I would. I used to when I had Windows. But now that I'm on Linux, it's Chrome/FF/Opera or bust. Teasers like this are annoying.
I don't really understand this claim: "Standards aren’t add-ons to the web. They are the web. And you can start using them today."
Standards should therefore be right there, sitting in you computer for someone to use them. Why do I have to download Safari then? I prefer to download a 2MB add-on than 30MB additional browser that I will never use.
This move is not about games but about iads. (funny side note: iPad insists on spelling that as aids, ouch) apple is pushing htm5 because it will be an essential component of apple's next money-making machine: advertising. And html5 is a great match for advertising: html5 may not be ready for hardcore gaming, but chucking a few banner ads at the peplum, no problem!
This sets a very poor example for Apple supporting standards.