Really good read, i think i can agree to every point.
However, the most interesting sentence for me was "In fact, compared to the level of support and tooling you get from XCode on the Apple side or the various pieces of Android IDE-ware, HTML5 development is a major pain in the ass.".
This is exactly my experience, too, and it's why i find it sad to see that Air won't be supported on the iPad. Basically developers have the choice between developing for HTML5 and target a lot of platforms, which is a pain in the ass nowadays even if you are only targeting Desktops. The other choice is to develop almost painlessly but only target one platform and having to duplicate work for every platform. Air is for developing for every platform with presumably less pain then HTML. It's a way with its own drawbacks but also with benefits. Developers (and in the end also users and the market) should be able to decide what is the best for them on their own.
Nevertheless, i really hope that the situation with HTML will resolve in the near future, but it will certainly not this year.
Also, i am wondering, why we don't start targeting specific browsers.. i mean, of course i know. Because websites have to run on every browser, yes yes.
But: We install Flash to have Flash Apps, we install the Java VM for Java, .Net, Silverlight, a pdf reader to look at documents. Why don't websites say "The website was developed and tested for browser XXX. Please download browser XXX _here_ or continue on your own risk". Websites are developed for the least common denominator of a big variety of browsers which will only lead us to where we are now, although so much more could be possible..
Chrome has the option to add a website as programm link to your operating system. Taking this thought further, i could imagine to have Gmail as a full fledged replacement for Outlook/Thunderbird in my start menu, with all the latest and greatest that HTML5/Chrome has to offer. Gmail (or some other mail service) could provide a nearly 1:1 copy of a desktop mail client. Offline Storage, Web Notifications, Drag-n-Drop between browser and filesystem, etc. It's all there. And none of it will be used until every browser supports every feature :(
People will call me crazy now and this will most probably never happen, i know, but why not dream? ;)
It is easier for a user to push a button to install a plugin than to install a new browser, update the profile with bookmarks and so forth, and learn the new interface. We can trivialize these things, but I am sure we also have as many stories of trying to get someone to use Firefox (with noscript!) instead of IE and meeting significant resistance or eye rolling.
A plugin has the disadvantage and the advantage of supporting users' browser choices.
So basically, it looks petty and unprofessional to say on some minority of websites, "This website is developed and tested for" or "This website will only run on". In contrast, I have seen "Click here to upgrade your Flash Player", and moments later, things just work.
Wouldn't it be wonderful if you could have an HTML renderer plugin? And some kind of system where you could -- with some clear and dumbed-down descriptions of the differences/advantages -- choose between alternatives? And get upgrades?
- First, in the worst case users will switch between browsers all the time, but users only want one place to store their bookmarks and cookies
- Second, even worse, if this would become a common practice, every browser manufacturer (especially MS) would just develop their own HTML "extensions", the standard would drift apart even more and the ultimate goal to achieve 100% standard compliant browsers would be out of reach.
I can see how MS would implement new HTML and Javascript functionality to offer developers new features and in the end tie them to their browser
> Wouldn't it be wonderful if you could have an HTML renderer plugin? And some kind of system where you could -- with some clear and dumbed-down descriptions of the differences/advantages -- choose between alternatives? And get upgrades?
I've wondered for a long time (perhaps 10 years) why this basic idea wasn't done, especially with my eyes looking Microsoft's way.
This has been a problem for far too long and is now only getting worse. The thought of all of the lost productivity and inefficiency of those working with these issues makes me sick.
> So basically, it looks petty and unprofessional to say...
True. That would be very poor spin by your marketing dept.
I'm not in marketing, but I'll bet a half-trained spin-doctor could come up with something more flattering like,
"Our site takes advantage of the latest, user-friendly web capabilities. To experience the full ease and power of Web X.0 on our site (and many others), we invite you to download a free copy of a world-class browser [... insert links to Chrome, FF, Safari, whatever ...]"
For a long time i've tried to understand this paragraph
'building a really hot HTML5 application that takes advantage of the nice new features is not exactly easy. Even assuming that you’re using one of the dozens of clever toolkits, it’s still not a slam-dunk. In fact, compared to the level of support and tooling you get from XCode on the Apple side or the various pieces of Android IDE-ware, HTML5 development is a major pain in the ass.'
What is it that people are finding so difficult to do in HTML(5 or otherwise)?
I've looked through a ton of apps, and with the exception of games and access to API's (which can be done with things like phonegap), what is so challenging to do efficiently in html and javascript?
Performance is generally much slower. This isn't a problem for most apps, but it is for CPU-intensive apps. That includes anything with substantial rendering or computation. The latest HTML5 features like local storage, sockets, and cross-window messaging go a long way to make many more apps feasible, those features aren't available in all browsers.
Even writing native Cocoa apps on the iPhone requires lots of optimization in loading and rendering content. JavaScript is even more intensive, making it more difficult to create fluid interfaces that rival the native experience.
I suspect that if mobile performance was comparable to desktop performance, Javascript would win out for a lot more use cases than it does right now.
It's a major pain in the ass because every browser (hello Internet Explorer) implements a different set of features, and the features all browsers have in common, the browsers implement differently. And this is not only cross-browser. I've seen Firefox behave different under Windows and Linux, for example.
Then, there is a big performance difference between all the browsers, which means you have to strip the application down and optimize to the slowest browser.
Compared to the development of a native mobile application this is quite a big difference.
However, the most interesting sentence for me was "In fact, compared to the level of support and tooling you get from XCode on the Apple side or the various pieces of Android IDE-ware, HTML5 development is a major pain in the ass.".
This is exactly my experience, too, and it's why i find it sad to see that Air won't be supported on the iPad. Basically developers have the choice between developing for HTML5 and target a lot of platforms, which is a pain in the ass nowadays even if you are only targeting Desktops. The other choice is to develop almost painlessly but only target one platform and having to duplicate work for every platform. Air is for developing for every platform with presumably less pain then HTML. It's a way with its own drawbacks but also with benefits. Developers (and in the end also users and the market) should be able to decide what is the best for them on their own.
Nevertheless, i really hope that the situation with HTML will resolve in the near future, but it will certainly not this year.
Also, i am wondering, why we don't start targeting specific browsers.. i mean, of course i know. Because websites have to run on every browser, yes yes. But: We install Flash to have Flash Apps, we install the Java VM for Java, .Net, Silverlight, a pdf reader to look at documents. Why don't websites say "The website was developed and tested for browser XXX. Please download browser XXX _here_ or continue on your own risk". Websites are developed for the least common denominator of a big variety of browsers which will only lead us to where we are now, although so much more could be possible.. Chrome has the option to add a website as programm link to your operating system. Taking this thought further, i could imagine to have Gmail as a full fledged replacement for Outlook/Thunderbird in my start menu, with all the latest and greatest that HTML5/Chrome has to offer. Gmail (or some other mail service) could provide a nearly 1:1 copy of a desktop mail client. Offline Storage, Web Notifications, Drag-n-Drop between browser and filesystem, etc. It's all there. And none of it will be used until every browser supports every feature :(
People will call me crazy now and this will most probably never happen, i know, but why not dream? ;)