> People complain that Flash has bugs only because they
> never tried to do anything “complex” using HTML5 video
> on the iPad
Yeah? So if one tries to do something complex on iPad, will Flash bugs disappear? Or will people stop complaining about them?
I guess neither. Just another pointless rambling with little sense. Author mixes many things without the proper understanding of some. Was this article about iPad, or HTML,
or CSS, or Flash, or …?
I am not sure how this even got upvoted. Take this:
> I’m saying that the iPad is the new IE6 because we are
> expecting it to be something that it isn’t,
Who is expecting what exactly?
> the same way that we were expecting that IE6 would have
> the same features/performance/reliability than the latest
> versions of Firefox/Safari
What does that even mean? IE6 was released years before even first releases of Firefox and Safari.
> It happened with IE6 and it is happening with the iOS
> Safariright now.
No, it's not. Safari is not stuck with 10 years old version, and Safari team is not disbanded, unlike IE team.
If it wasn't for the "Flagged." I would have upvoted you.
The post has some real issues, but I also find it raises valid concerns. Supporting iOS/android/other devices can prove to become a real pain. OTOH the lifespan of these devices are most likely to be far shorter than corporate desktop computers, and IT departments won't have an option of installing older versions of the browser on new devices.
I'm not sure a browser's <video> tag not supporting all the features this guy wants makes the iPad "the new IE6." Seems more than a little hyperbolic to me. <video> is one of the shakiest parts of HTML5 in general, particularly with the whole codec thing.
That comparison is just badly chosen and unnecessary [0]. He argues that some aspects of iOS are a little bit like aspects of IE6, not that the “iPad is the new IE6”. Writing that as the headline is just asking for trouble and will only lead to people not discussing the substance of your article but screaming at each other.
I’m all for just ignoring that comparison and focusing on the substance of the article. Please. (Because the substance, unlike the comparison, is actually interesting.)
[0] Some would call it “linkbait”. And yes, this was a very lame attempt of trying to get away with using a word I usually hold in contempt. Shame on me.
The headline is the substance of the article, like it or not. I mean, do you blame people for arguing that the iPad isn't the new IE 6 when the title of the article is "iPad is the new IE 6"?
Seconded, the iPad and iPhone actually have wayyyy better support for a lot of HTML5 things like CSS 3D transforms than any other browser (Chrome included).
Try those examples on Chrome or Android (or probably anything else, but the CSS attributes are all -webkit prefixed so comparing against FF would be silly).
Chrome is just now rolling out GPU acceleration so they might actually work on some platforms but previously they (meaning Chrome and Android) were using a rendering engine called Skia and were dropping out a bunch of the perspective matrix therefore making it strictly affine and preventing any true depth effects.
I'll bite: The problem with the implementation is plain to see:
-webkit-transform: rotateY(45deg);
That's a proprietary CSS declaration. It's exactly the same kind of "embrace and extend" kind of stuff that entrenched IE6 so long ago and severly splintered web development. Why, oh why, do I have to prefix -moz- or -webkit- onto CSS instructions in a "standards compliant" world?
Web dev is getting badly fractured again. There was a point of stability about two years ago where all of the IE quirks were knowns and the rest of the browsers followed CSS2/HTML4 fairly consistently. There was a blissful period where you knew something might be borked in IE6, but could almost just assume things would render in most other browsers.
Such a time has now ended. I find myself saying "but that should have worked?!?!" at about the same rate I did when IE6 was new 10 years ago. Sadly now I have to have $$ to spend on testing hardware rather than just firing up an old piece of software.
TL;DR, 3D transform in webkit isn't true CSS3... it's a proprietary webkit feature.
Yes, but 3D transform is still a proprietary webkit feature, which was badmonkey0001's point.
The fact that they wrote up half-assed incomplete documentation of it and submitted it to the W3C for consideration as a standard doesn't change that. It's actually more or less like OOXML except it hasn't had the feedback-and-rubberstamp process happen yet. With any luck, that process won't happen, in fact (in that there will be actual discussion and actual specification, not rubberstamping).
Now if the CSS working group actually starts actively working on 3D transforms (hasn't happened yet) and anyone other than Webkit actually implements them, then we can talk about them being something other than what they are now.
There _is_ a bit of confusion here because vendor prefixes are used for both experimental implementations of CSS working group proposals and totally random proprietary gunk. The problem is telling the two apart... ;)
Thank you for being the one person here that seems to consider point of view without the fanboy-ism. What people are calling "HTML5" and "CSS3" is really getting nebulous. It's almost as if just mentioning something shiny and new somehow makes it part of the spec.
I do think prefixes are better than hacks, but to call a prefixed single-browser feature "CSS3" or "HTML5" kind of blows my mind... no matter how unpopular that view may be here on HN.
"The word heretic ought to be a term of honour..." -Charles Bradlaugh
Browsers sometimes charge ahead. I woul them rather to do that with prefixes than without. I don't think that's in any way comparable to Microsoft's behavior.
Charging ahead with prefixes is sure better than without.
Doing that and encouraging web authors to create public-facing sites that depend on the prefixes to work correctly (which is what Apple has been doing) is no different from Microsoft's behavior around 2001, imo.
Well, Apple is doing all kinds of weird stuff and Apple is also not Webkit.
I think that 3D transforms in CSS are inevitable, there is consequently nothing wrong with browsers testing the waters. Implementation and standards always had an organic relationship, sometimes the standards are ahead and sometimes the implementations. I think that’s how it should work, I think that strengthens and accelerates the process. The standards frontier of the web will always be messy and I am honestly happy that standards bodies are finally willing to embrace that messiness.
Apple encouraging the use of CSS properties with prefixes, even if they are brand new and there are no implementations in other browsers or even plans is a different issue. Luckily nobody listens to Apple when looking for advice regarding web development ;-)
I personally think that you shouldn’t use 3D transforms at the moment for anything you intend to be used. Neat demos are ok.
Video I can actually live with. People seem to be willing to click something in order for a video to start playing, regardless of what the app in question is doing.
It's Audio that is the killer oversight. Just like Video, Audio can only be played on iOS Safari as the result of a user click. They don't have to click the play button specifically, but they have to click something.
That means you simply can't write a video game that has sound. Every clip needs to be "prepared" with a user action that you convert behind the scenes to a .load() so that it can .play() when you want it to. And if you "prepare" a different clip, you can no longer play the first one, except as the result of a new user interaction.
Add to that the bonus that you can only play one clip at a time. And that iOS tosses them out of memory every time you load a new one, and suddenly your rich, interactive presentation, game, or whatever is reduced to a boggy buffering-screen-having mess.
I wish we could hope for them to fix it in future versions, but the opposite is the case in practice. Up until iOS 4.2.1, there was a nice workaround that got your audio/video clips playing in some cases. iOS 4.2.1 specifically addressed that loophole.
The state of audio on iOS and Android is really sad. HTML5 games would benefit so much from working audio but for now, it's completely disabled in Impact (my game engine) on those devices.
That article nicely documented the work I (and presumably everybody else trying to get Audio to work on iOS Safari) went through a couple months back. This would have saved me a lot of headache.
I like the sprite idea for playing one clip at a time in a sane way. I might give it a go.
Thanks for the tip, and it's good to see that there are other people out there battling this same stuff!
I understand where they're coming from - browsers shouldn't let websites just play sound automatically because it is annoying as hell. I hate Flash sites that do that. So drawing the line somehow is tough, I guess.
Yeah, unfortunately there's no way for the browser to know whether it's looking at a website (which should never play audio at you) or a Web Application (which might need to play audio with impunity).
It's the same with every other browser trick that gets abused on people's MySpace pages. There's a real reason to use that stuff, but only some of the time.
I've been developing a PhoneGap app using JQuery & LessJS on the iPad now for 3 weeks straight. It is an absolutely amazing experience. It is nothing like the nightmare of developing for IE6, even when IE6 was considered the best browser.
I am probably in the minority on HN thinking this, and it's a pity that there is no chance of this ever changing, but lets go with it anyway:
HTML, CSS and JS are a very bad way to create websites today. It could be worse, but it's bad enough. They were decent once, when we didn't need them to the extent that people are using them today.
As others have mentioned, the signs of this problem is when people are writing language X to language Y converters to accomplish the same job, because language Y is detestable. This would be your HTML, CSS and JS. Tools like HAML, SASS and CoffeeScript are a very good sign of this.
For myself, there are two things that are really pissing me off: 1) Lack of security by default, 2) Lack of choice in client-side scripting. I am at the whim of JavaScript which is pretty terrible. Of course, there is no hope of anyone producing a browser that offers an API, and a set of languages that can access that API. So it's just JS. That's fucked to me. I have more gripes but I'd like to keep this post short.
On the server side, it's easier. We have more choices, because our clients are not tied into a specific server technology; I used to write PHP, but since then I moved on to something that's a lot more thought out for serving webpages. MVC is the ideal for this kind of thing. The server will give the browser what it wants, and this does not concern the customer. On the browser end? We are screwed. There is quite likely nowhere to go.
Unfortunately, we have four big companies (Google, Microsoft, Mozilla and Opera) pouring in a lot of money to keep this technology afloat. And it's very sad. These companies should be leading the way, not holding back technology.
HTML, CSS, and JS are actually pretty good at doing what they were made to do. Unfortunately, that vision bore little or no likeness to modern web applications.
The time is ripe for changing the way people use the internet, and I think that is part of what the whole "native app markets" thing is about. The problem with that is multiple platforms - multiple browsers together with their cesspool of languages pale in comparison to the pain of developing for multiple platforms. There have obviously been a lot of attempts to make it easier, but they all sucked in their own way.
It will get better, and we'll have new things to complain about at some point. Until then, developing for the web means cobbling together antiquated standards and forcing them to do things previously unheard of. Which, ultimately, is kind of fun.
EDIT: If anyone else is interested in discussing what a solution could look like, I'd love to chat about it. Would certainly be a very fun (if not extremely ambitious) open source project. (Contact through my profile.)
I agree completely. Javascript is just a bad language(1), and HTML and CSS are fundamentally unsuited for the kinds of apps that we're using them for. After years of effort we've managed to get to the point where they sort of work, but it could have been much better.
(1) Yes, I know the cool things you can do with closures. Python and Ruby do them too, without the insane misfeatures like default global scope and bizarre implicit type conversions.
Ruby has decent lambdas/closures, but Python absolutely does not. Its lambas are horrifically limited. Because of that alone, Javascript is a much better at functional programming than Python.
I agree that default global scope is a misfeature, but the solution is trivial--declaring variables--which I think makes the language much more readable anyway. I quite dislike the Python style of coding in which the local variables are just causally used without listing them somewhere--it's too easy for things to get lost. On the other hand, maybe I just need better syntax highlighting? The new "use strict" should completely fix accidental globals, as I understand it.
People complain about the implicit type conversions but I'm not sure I've had that pose a problem in real life and I've written my share of Javascript. I'm not even sure what that kind of bug would look like. I'd love an example.
That's why I really like Chrome: it's all but impossible to use an old version without going way out of your way. If I give somebody Chrome, I know they're always going to have the very latest, standards-compliant version. As a web developer, you really only have to test the latest version of Chrome; there's no "Chrome 6", "Chrome 7", "Chrome 8" test lineup. Huge convenience to both parties.
Firefox is almost as good, but you have to upgrade between major versions yourself. The fact that extensions can break between versions really drags down the whole process, but there's nothing the Firefox developers can do about that. (they're at the mercy of the extension developers.) Pretty sure that's why Chrome's extensions are dumber, more lightweight -- Google didn't want a similar struggle.
IE is just terrible. Microsoft made upgrading such a milestone (long installation process, new GUI to adapt to, new intro wizards to complete), that it's totally natural that people cling to older versions. "The last time I upgraded Internet Explorer, everything changed and I didn't like it! I don't want the new one." And that's why you have to test IE9, IE8, and IE7. The fact that IE9 doesn't work on XP isn't going to help.
Unfortunately, I see the iPad as closer to the Microsoft camp (lots of discrete versions that have to be tested individually) than the Chrome camp.
While that's still true for iPad, it certainly is not true for iPod touches or iPhones. My 2nd gen iPod touch is stuck at iOS 3.3 with its completely different version of Safari.
And it's 2 years old.
So you're technically correct that Apple has not yet obsoleted the device they released one year ago. Given their track record though, I don't think I'd put too much faith in that continuing to be the case.
Lots and lots of users don't upgrade. I can't find it right now, but one iOS dev did a story on fragmentation in that camp based upon their own metrics, and it was scary. Perhaps this will resolve if they start doing OTA updates.
User "error" for sure, just putting that out there. Just because Apple makes updates available doesn't mean that most users have installed them.
I'm not sure if the bump numbers are broadly relevant: who is the average user who will be running bump? It isn't a general iPhone user, but instead is a technologically savvy individual usually in a place like San Francisco. There is no relevance there to the broader market.
> I’m saying that the iPad is the new IE6 because we are expecting it to be something that it isn’t, the same way that we were expecting that IE6 would have the same features/performance/reliability than the latest versions of Firefox/Safari.
This makes no sense, IE6 was released 3½ years before the first version of Firefox, and was really the best web browser at the time.
This just sounds like the author came into the mix long after IE6 starting showing its age, and knows nothing except for people complaining about how much it sucks compared to the latest versions of Firefox and/or Safari.
The analogy still falls flat on its face because what people expected IE6 to be (by the time Firefox and Safari were around) was improved/updated, which it wasn't because Microsoft disbanded the development team (and only decided to get back into the game when their dominance started to crumble).
A famous one is "Google is the new Microsoft". Unfortunately people forget many of the bad things (including anti-competitive crimes!) MS did in the past.
He's a little bit late to the punch here - if we're on the eve of another iPad announcement, which we probably are, every area of performance will probably see significant improvement (Apple typically adopts the best ARM chips available, which is probably a dual core chip now).
He makes a very interesting point, though. The current generation of media tablets are exceptionally slow devices that could easily be in use for four or five years. I think users may expect the lifecycle of these devices to be closer to a TV or PC (say, 3 - 7 years) than a phone. As HTML advances to be capable of everything that Flash is now capable of, developers might be held back to target devices that are roughly equivalent to a 10 year old PC.
Yes and no. Web Apps are not only about videos. It's a new addition to the HTML5 toolbox and you can't judge that quickly. Let browsers first work more on it.
However, don't overlook HTML, JavaScript, CSS, HTML5 that quickly. Look at companies like Sencha, they have built extremely great and stable products with JavaScript. Not that stable, but they are still great.
Flash is cool, too. But I think only if used in its' own. Try to look at activeden.net and some samples of XML websites and you'll see how amazing they are. JavaScript isn't a thousands mile from it, but if Web Developers were using the best practices and improving their JavaScript code, their pages will be lighter and they'll have better performance.
But why target the iPad? Steve says what he thinks will convince his audience and sells more iPads. He's a much more of a sales man. He's trying to attract developers to HTML5 since it's the only way to kill Flash and get HTML5 to the top.
My Opinion: It's very good. I want diversification. Everyone uses a different platform and built something elegant. I don't like censorship of any of its' kinds. (like banning flash apps or websites, though, it's still an Apple decision). Let everyone decide which platform he wants to use, let him decides his target audience, his business model and make happy customers.
Beyond the question of the iPad, I have to object to promoting a blanket attitude that web developers should shy away from pushing out progressive web technologies just because they aren't yet tried and tested and may not work perfectly on every device.
Although the web's evolution is lightly governed by a slow moving standards consortium, it's really the hackers that push the cutting edge to become new standards that any browser needs to stay relevant. If the developer community shies away from pushing new technologies out of fear and inconvenience, the pace of progress slows. I don't want that to happen.
I applaud the bigger players taking steps toward progress even when it's an investment with not much visible payoff at this point. (cf. HTML5 support on Youtube)
Just remember to know your audience, but don't be afraid to nudge them if they're missing out on something in a legacy browser. Use progressive degradation but don't have too much remorse if there's no legacy alternative and you have a saavy audience.
We're talking about websites, not missile guidance systems. Take risks. In an open system things aren't perfect, but if we stop, things stop moving.
The problem with IE6 (now) as the lowest common denomination is the lack of upgrades. It wasn't a bad browser when it launched but it sure is now. I don't see there continuing to be a significant share of MobileSafari 3 or 4 in the coming years. People upgrade. So the analogy is unfair and misrepresented.
The title is totally unfair. If iOS 3.x was still widely used in 2020, then the title would be justified.
> HTML wasn’t created for dynamic/interactive content, it was created to present academic documents.
Yep, and the internet was not created for porn, PTFE not for cookware, etc. Technologies evolve.
> JavaScript performance on iOS is 100x worse than desktop.
No doubt and that's unlikely to change. iPad uses about ~100 times less power than typical desktop.
> Canvas performance on iOS is so bad that it is barely usable.
Not hardware accelerated == slow on mobile. Hopefully the canvas will be accelerated, too.
> A lot of people don’t upgrade their software, iOS 3.2 is completely different than iOS 4.2 and you should support both.
Should you? We are talking about consumer devices. I think it's totally fair to ask the user to upgrade their platform (OS/browser) to get new features (it's free!). That's what Apple is doing, anyway.
> The iOS simulator is different than the actual device.
I agree, would be nice if it emulated the actual performance of iDevice.
> It is very important to note that every single Webkit browser works differently and --
That's the curse (or blessing?) of an open source project. Still, WebKit browsers (eg. Chrome / Safari) differs less than totally different browser engines. Would you be happier if Chrome had come up with their own engine?
> -- that older versions of the iOS has many bugs and missing features (the new ones as well).
No shit?
> Chrome and Safari have a bunch of rendering problems related with HTML5 video and CSS3 as well when you start overlaying content and adding CSS transitions.
No doubt. That's the price you pay for having multiple implementations of (loose) spec created by multiple participants. Which is still far more better situation than having one closed implementation created by a single company for few selected platforms (partially substandard runtimes).
> Android 2.0-2.2 also have many bugs related with HTML5 video.
Not iPad's fault.
> Apple bug tracker sucks, you can’t even see if anyone reported the same bug before, I won’t post anything there because of that and because I don’t agree with the company policy… -
Apparently Apple too suffers from "big company" syndrome.
> If you are a jerk, I will be a jerk with you as well…
Nice attitude.
> If it works well the end user will not care about which technology was used to create it.
Users have no clue, no news here.
> Don’t believe in keynotes, even better, don’t watch them…
Whether you consider it "amazing" or not, arguably Safari for iOS offers the best browsing experience today in its class (handheld devices) and Apple has advanced HTML technology a great leap forward.
The analogy to IE6 is based on both requiring substantial duplication of effort in order to render the page similarly to its appearance in other browsers and to provide like functionality to web sites. It seems to me that in part, Apple's intention is to make it less troublesome to develop and maintain an app than it is to develop and maintain a rich media website which handles iOS gracefully through the deliberate incorporation of incompatibilities in the iOS browser (e.g. no Flash).
[edit] incompatibilities are different from non-compliance with standards.
>> Canvas performance on iOS is so bad that it is barely usable.
>Not hardware accelerated == slow on mobile. Hopefully the canvas will be accelerated, too.
I thought canvas was one of the biggest reasons that HTML5 would eliminate the need for Flash. I think it is disingenuous to say that the iPad does not need Flash because it supports HTML5 when the HTML5 support is in such a bad shape. Canvas will be hardware accelerated even in IE9, Apple has no excuse here.
Anyway, I guess it's no surprise that Apple does not have much interest in improving HTML5 support for the iDevices, after all they have a vested interest in people developing apps instead. They get their 30% cut, the app does not work on other platforms (unlike HTML5), and they get their cut of iAds and any another purchases.
I disagree, there are worse mobile browsers. I'd say Opera Mini is the new IE6, the lowest common denominator. Try to make anything slightly interactive for Opera Mini, you'll never sleep again.
OP's rant seems ranty. But if anyone's project is having serious specific problems with HTML5 video on iPad Safari, please file bugs and post the links, I'll do my best to get them looked at.
Aha! So Safari is the new browser that everyone hates because it doesn't adhere to standards... because it only adheres to standards? I think the author actually has a reasonable point, but he lost it by making a totally inflammatory and inaccurate comparison to IE 6.
I don't know about iPad and IE6 but what I know is that this site (millermedeiros.com) does not react properly to zoom (CTRL++): the page widens but the font size does not change!!
It's therefore incredibly annoying to read from a distance.
I'm betting he's probably talking about features like having a queue, embed code popups, tweet from within the video and things like that. Such features are considered "basic" in any decent interactive flash based player.
For your YouTube example, don't look at the player while the video is playing... look at the interface between videos. That's an interactive video player.
I guess neither. Just another pointless rambling with little sense. Author mixes many things without the proper understanding of some. Was this article about iPad, or HTML, or CSS, or Flash, or …?
I am not sure how this even got upvoted. Take this:
Who is expecting what exactly?> the same way that we were expecting that IE6 would have > the same features/performance/reliability than the latest > versions of Firefox/Safari
What does that even mean? IE6 was released years before even first releases of Firefox and Safari.
No, it's not. Safari is not stuck with 10 years old version, and Safari team is not disbanded, unlike IE team.Flagged.