If native won, then why didn't "native" desktop software win? Everything on desktop has moved to SAAS and on the web.
We're being way too short-sighted here. In 5-10 years, I don't think smartphones will be the primary way we get information anymore. Yes, we will have mobile, but it might be mobile VR, with an infinite canvas.
I think the reason native works well on mobile today is simply because there isn't much room to work with. Once the viewports start getting larger again, the web will take over.
Disagree. Currently I'm running Audacity, Sococo (network conferencing tool; soon to be a web app), NetMon, Outlook, WeatherEye and a few services. Also have 3 browser tabs open.
So from here it looks like native apps are winning. Especially since I despise two of the three web apps (TeamCity, Jira) for being laggy, buggy and very slow.
Look at Android, the most popular computing platform in the world, and you will see how native has won. Even Facebook and YouTube are native apps on Android.
If native won, then why didn't "native" desktop software win? Everything on desktop has moved to SAAS and on the web.
That's a common belief but isn't correct, of course. Otherwise ChromeOS would have crushed the competition and it's hardly made a dent.
Many, many people use and heavily rely on native desktop apps every day. Usually for getting real work done once they tire of procrastinating on hacker news/facebook/etc :-)
Just consider the importance of MS Office to the global economy!
This is despite the fact that the shepards of the native desktop app platforms all screwed up big time and dropped the ball in major ways allowing the totally unsuitable yet somehow still good HTML platform to take over:
• MS/Apple/etc STILL have never shipped non-terrible software update mechanisms. Only Google managed to get this right and their online update engine was basically just for them.
• No discovery or sandboxing mechanisms worth a damn.
• Heavy reliance on languages like C++ that many developers can't handle (whereas web was fully built around scripting languages)
• The only people who cared about doing cross-platform desktop apps were Sun and Trolltech, and they sunk into the swamp of pretending to be the real OS-specific widget toolkits. Web apps collectively said "fuck that shit" and we saw a glorious explosion of styles with every web app branding its own widgets differently. Users, it turned out, wanted attractive apps rather than native-looking apps and so the web won on this count even though the HTML widget toolkit is a joke.
• Speaking of widget toolkits, the web is so primitive that it forced developers to abandon UI design paradigms that were actually rather user unfriendly, but commonly used because the platforms made it so easy. Prime offender: tree widgets. Hardly ever used these days as they have terrible usability. HTML has no such widget. Also: context menus. Users never find things in them. HTML simply doesn't let you customise the context menu at all.
So the combination of uber-simple programming languages, a cross platform UI story that ignored the massive must-look-native timesink, clean/invisible online updates, etc ....... almost by accident it ended up being compelling.
Now compare to mobile, where native apps are doing a lot better. Android is Java based so no problem with C++ being unapproachable. Objective-C kind of sucks but is still easier than C++ in many ways, plus iOS is big enough that developers just have to suck it up. There's built in sandboxing and app updates have been a part of the platform right from day one. The widget toolkits are way more modern and result in simpler/more intuitive UIs than classical desktop toolkits, so dysfunctional design patterns like nested trees with tiny icons don't crop up. The toolkits almost force simple, intuitive designs. And because mobile is (a) very new and (b) very restricted, writing the app twice with two different user interfaces isn't necessarily a killer problem, whereas for gigantic mature desktop apps with a 20 year feature set like Photoshop/Office it's just really expensive to do that. So the not-quite-native issue is less prominent.
We're being way too short-sighted here. In 5-10 years, I don't think smartphones will be the primary way we get information anymore. Yes, we will have mobile, but it might be mobile VR, with an infinite canvas.
I think the reason native works well on mobile today is simply because there isn't much room to work with. Once the viewports start getting larger again, the web will take over.