Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Personally I think you and wavephorm are going to be getting a very nasty shock in the next 2 or 3 years.

Firstly a browser based application is always going to suck because it's based in a browser. Reflect on that, it's an application running on an OS inside an OS. It doesn't matter how fast it gets, it's a subset of a subset of controls.

Secondly, and this I'm not so confident about, but still believe in. Browsers have sucked at apps for the last 10 years and are going to suck for another 10 years because the HTML standards committees move so slooooooooooooowwwwwwwwwwwwwwwwwwwwww. That's why Flash dominated and why native apps are going to dominate. HTML finally has moved to take on Flash just as Native Apps killed flash. They're a whole generation behind!

And the third reason? It's all based on javascript. It is practically impossible at the moment for normal programmers to write medium complexity javascript. ECMA 5 has been released with a whimper instead of a bang. It's pathetic. So anything written as a web app will be inferior to the much more manageable programming languages on the native apps, even though it's [cry] Obj-C and Java. Javascript is an order of magnitude worse for complex apps than those two.

Finally, the growing number of OSes. It ultimately means a growing variance in the quality, speed and modernness of HTML implementations and support, you're always going to get an edge going native on every OS. Previously we had Windows. Then Windows and a little Mac. Then Windows, Mac & iOS. Then Windows, Mac, iOS, Android. Then Windows XP, Windows Vista+, Mac, iOS, Android 2, ICS, Kindle Fire, etc. The OS market is fragmenting.



Very good points about why web apps have quality issues.

Some of those issues are not necessarily inherent limitations of the technology. We don't have to use Javascript, that's just what the standard currently is. Flash was a possible answer, as is Silverlight, in delivering apps over the web through a browser. Flash Air (check me on that) was a way to run a Flash app in what looked like a native format. Chrome 1.0 had a mode that hides all browser controls in an attempt to mimic the form of a native app. Java was restrictive in allowed functionality, but people added access to the Windows task bar, to OpenGL, to all kinds of things via JNI. We can add all those extra features to a browser via plugins. So it's technically possible to do all the same things from a browser. It's just a lot harder to get all the people in the middle to agree on reasonable technologies and then implement them the same way.

The large amount of OSs argument is interesting. On the one hand, that means there will be a large amount of mobile OSs for which a native app must be developed. That's a challenge to developers in itself. On the other hand, varying compliance with standards and various performance in a browser is another challenge to developers looking to reach all OSs at once via a web app.

Java could be brought up again, because of their write-once-run-anywhere idea. They did very well at making sure all Java implementations were compliant. But they had to offer a subset of full native capability, a limitation which was partly worked around by linking to native interfaces in a non-WORA manner. It sounds like any attempt to write once and run on every platform and have the software be as pretty and fast and functional as possible is essentially doomed. There will be limitations to those attempts (UI that doesn't fit in, no integration with platform-specific features like address book or task bar or spotlight, no access to technologies that only exist on a subset of platforms). But you still have the trade-off with the need to write many native versions for competing platforms otherwise.


  The OS market is fragmenting.
This is precisely why the web will win. The time is already here where people have to decide whether to build a desktop app, a smartphone app, a tablet app, or a website that can support all three form factors? We're already there folks. The logistics of supporting 3 different paradigms are breaking down. At the same time a small team cannot build out an iPhone and Android ecosystem simultaneously, and definitely without leaving the Web entirely behind. Whereas if the focus on the web experience they can support every possible paradigm simultaneously.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: