Native Android vs Html5
dev-articles.com
dev-articles.com
As far as I know, right now web apps have to be accessed through the browser, which means setting up bookmarks and web apps have very little access to the hardware on the device.
Perhaps what the article should be saying is that we should develop for WebOS because it's all HTML/CSS/JS and therefore much easier to develop for since it's all web-based.
This will probably bring more native capabilities and will let the user allow/restrict the application in terms of accessing the device HW.
It will also make it easier to monetize such applications -- assuming they somehow prevent users from downloading the apps and bypassing the appstore.
- Scrolling is slow, jerky, and is less useful than standard scrolling (for instance, there's no inertia).
- The application uses none of the standard UI components, and the components they use are poorly implemented and difficult to use; Netflix is failing to take advantage of the UI R&D you get for free when you use standard OS components (eg, see inertia above).
- The application's UI is very very slow to load compared to native apps; since nothing is local, everything has to be fetched.
There's a lot more that a proper critique of their UI would involve, but in short, I'd say that Netflix is placing the enjoyment of their web developers over the happiness of their actual users.
I just quickly tested the Sencha demo on an iPad 1. In terms of just the scrolling, Sencha Touch seems unable to implement glassy-smooth scrolling of a simple text-only list view -- something that was achievable on the original non-3G iPhone. On top of that, their UI looks like a poor clone of Apple's, is slow to respond to interaction events, implements jerky-at-best animations.
In short, it is obviously non-native, to the detriment of the user experience; it performs poorly, provides a lesser user-experience, uses non-default widgets, and will constantly be playing catch-up with the native APIs and UI.
Users will choose a solution 1) That they know about, 2) that meets their needs, 3) that is easiest. UX is probably 4th. Trivialities like page transitions and scrolling inertia only matters to the SXSW crowd.
Scrolling inertia is about utility -- being able to easily flick through a long list (such as Netflix's movies). It's a real, intentional user experience feature, not just some easily dismissed "SXSW crowd" aesthetic.
That said, I agree that foremost, users choose products that solve their problems. However, that doesn't mean that a quality native application isn't a significant competitive advantage.
If there are two products that solve their problems equally, they'll choose the one with the best user experience. If users are choosing a product with a lesser user experience, chances are good that the competition with a seemingly better UX isn't actually solving their problems.
edit: this is my opinion as a web developer who is thinking of getting into the mobile market, not as a mobile developer.
In some cases, you might get away with a worse user experience -- if you want Netflix's content, you have to use Netflix's application, and a competitor can't edge out Netflix without providing replacement content, as well.
However, this is unlikely to be to your benefit if another competitor does offer content of equivalent value to users, and they choose to spend their attention on an application with a superior user experience.
For instance, I just installed an app on my Android that creates a blacklist of phone numbers to reject, both calls and SMS and also cleans up the phone's logs. Basically once you add a phone number to that app, it may as well not exist anymore. I love this little app so much that I would rather do without all available web apps out there on my phone ... because the main purpose of my phone is to connect with people and not having API integration with its core functionalities, like voice calls and SMS would make whatever "smartness" it has basically useless.
I'm still baffled as to why this isn't a standard feature in phones, but whatever, at least on Android you can add it (versus the iPhone, which requires rooting).
And exposing these low-level features in the browser through proprietary extensions wouldn't help the fragmented market. It also doesn't help that each environment has its own look&feel, so you'll have to add lots of platform specific stylesheets and Javascript for emulating standard behavior.
The best combination for me (as in fast development, not the best user experience) is building native apps with a web interface exposed through an embedded web view.