Live data from Hacker News

Web vs. Desktop Applications: The Neverending Debate

return42.blogspot.com

11–20 of 29 posts

Re: Web vs. Desktop Applications: The Neverending Debate

#11
It's not a war, and they will live side-by-side.

Desktop applications will still be necessary for the foreseeable future. Developers will want to do what the web is bad at - whether they need speed, high resource size, high complexity, access to local resources, or background access. I'm sure there's other examples of what the web is bad. These problems all have no solutions in sight.

Web applications are better for most other situations, since they're cross-platform, instant-on, simple to deploy, available from many places, and allow for seamless integration of the social aspect, which is often compelling for end-users.

Re: Web vs. Desktop Applications: The Neverending Debate

#12
post #3

Previously I have been quite heavily invested in the The Desktop App Will Never Die camp. Based on my experiences in the last month from selling, essentially, the same application on the desktop and on the web... I think I owe PG an apology for doubting him. http://news.ycombinator.com/item?id=503959 There is still a space for users of desktop apps. I know many of my users love the permanence/physicality/"realness" o…

There will always be some desktop applications which doesn't make a ton of sense (either logically or financially) to port them to the web. For most other type of applications, we already have web equivalents (so coyly termed as "the lite version" in some cases). Javascript may be the most awful language to write code in. But, if there are users (and a way to make money), you'll always find developers willing to writ…

Javascript is not the most awful, it is the most misunderstood :)

Re: Web vs. Desktop Applications: The Neverending Debate

#13
Disclaimer: Linked post was tl;dr. I only read the first quote and a paragraph passed that.

The debates regarding web vs desktop are all the same: The desktop has more power, concurrency, 3D, etc etc. The web has the advantage of working anywhere with a browser, persisting data in the cloud so any computer can restart where you left off, etc etc. Its a waste of breath to argue these points.

What I think is more important is that I believe computers ARE headed to a more web-oriented world. But to get there, there does need to be some changes. I think Google has the right idea with Google Gears and it will be interesting to see how Chrome OS plays out.

But web developer or desktop developer, I wouldn't feel threatened either way, since the concepts of desktop development aren't too far off from web development. Both of course have their differences that must be learned but if a software engineer understands the basic concepts of OOP, garbage collection (yes, it matters for the web too), memory usage, etc, then he/she will be fine on both camps.

Disregarding the web as a place where developers flock because they are revelling in their own medicority is a poor observation and a defensive argument by the quote in Tobias's article.

Re: Web vs. Desktop Applications: The Neverending Debate

#14
The difference should not exist in theory. Both are programs running inside a computer, with the difference that the web application is a doomed version of the full runtime environment that the Operating System is able to really provide, for a reason: compatibility.

Imagine something like POSIX but much more extended, covering APIs for GUI, database access and so forth (basically what the Java VM provides), the "Application Browser" can just be an url in the form app://foobar.com/email.app that will run as native application. Still it can be a server-side application where all your data is saved server-side, and of course the environment can be smart enough to automatically download and install a new version of the program when available (actually the local copy can be just a caching business).

The web is going to offer all this in the end, but currently it's ridiculous stupid compared to a real environment. You can't do free networking, for instance, things like opening a socket and sending/receiving data using a non-HTTP protocol. In the end the web will provide all the stuff that now are trivially done in the desktop side, but my feeling is that this was the wrong path since everything is already here, the technology and decades of desktop applications capable of doing very smart things.

We are reinventing the wheel using the wrong foundation (HTML+CSS for GUIs, GET requests for all the kind of networking, ...).

Re: Web vs. Desktop Applications: The Neverending Debate

#15
post #5

I hadn't read the original diatribe, but in this article I finally read it: The reason most people want to program for the web is that they're not smart enough to do anything else. They don't understand compilers, concurrency, 3D or class inheritance. They haven't got a clue why I'd use an interface or an abstract class. They don't understand: virtual methods, pointers, references, garbage collection, finalizers, pas…

Well put. And the UML at the end is the cherry on top. But the striking thing about the post, which I had to go read [~], is how insular it is. He's saying obviously false things, not out of stupidity per se, but out of a false worldview. He's embedded in an environment that confirms this worldview back to him, so it doesn't seem false. (There's a dim awareness of reality in one comment, though: "where are all those awesome WPF applications I’ve been waiting for?")

Viewed this way, the rant is fascinating. It's the Microsoft equivalent of an IBM mainframe guy in the 1980s ranting against PCs. Of course Microsoft are doing things on the web today, but IBM was a leading PC vendor then too.

The post is the best thing I've seen shedding light on MS culture vis-à-vis the web. Culture is a hard thing to change. If the post is representative, MS are in big trouble. Perhaps they will reinvent themselves. They did it in the past, as we know. But they had quite different leadership then.

[~] http://michaelbraude.blogspot.com/2009/05/why-ill-never-be-w...

Re: Web vs. Desktop Applications: The Neverending Debate

#16

The author underestimates the value of APIs to provide cloud services, and over-estimate the value of client-server architecture for driving user interface. If anything, the iPhone demonstrates the value of native software, safely run within a jail, delivered and billed immediately, connecting to broader network-based services to provide extensive functionality. It's short-sighted to approach the future of web applic…

Agreed. The iPhone is a good demonstration of combining a powerful development environment with always on connectivity (one of the more powerful reasons for being on the web in the first place).

It's also a shining example of many of the things that are wrong with downloadable software, though some of that is this particular incarnation (the app store) more than the whole idea.

There's no argument to be made that all computation should be done on the server and just rendered on the client. That model is on the way out for web applications (not to be confused with web sites). I happen to think Cappuccino is going in a great direction ;-)

Re: Web vs. Desktop Applications: The Neverending Debate

#17
post #3

Previously I have been quite heavily invested in the The Desktop App Will Never Die camp. Based on my experiences in the last month from selling, essentially, the same application on the desktop and on the web... I think I owe PG an apology for doubting him. http://news.ycombinator.com/item?id=503959 There is still a space for users of desktop apps. I know many of my users love the permanence/physicality/"realness" o…

There will always be some desktop applications which doesn't make a ton of sense (either logically or financially) to port them to the web. For most other type of applications, we already have web equivalents (so coyly termed as "the lite version" in some cases). Javascript may be the most awful language to write code in. But, if there are users (and a way to make money), you'll always find developers willing to writ…

Javascript is actually a quite good language: it has a dynamic object model and real closures. It has its deficencies, of course (like scoping rules).

It's really bad if you prefer statically typed languages, though, because on the client side on the web you have no other choice for the moment. Probably in the future we will see language implementations that use js as a target language become more mature and widespread.

Re: Web vs. Desktop Applications: The Neverending Debate

#18
post #5

I hadn't read the original diatribe, but in this article I finally read it: The reason most people want to program for the web is that they're not smart enough to do anything else. They don't understand compilers, concurrency, 3D or class inheritance. They haven't got a clue why I'd use an interface or an abstract class. They don't understand: virtual methods, pointers, references, garbage collection, finalizers, pas…

I had to learn about the development process, requirements documents, design documents and UML for a software engineering class I took this year, and the project in which we had to apply everything we learned was web-based and written mostly in javascript.

Re: Web vs. Desktop Applications: The Neverending Debate

#20

The web can never replace the power of desktop applications, and desktop applications can never beat the simplicity of web applications (with both in their current forms). We are currently blurring the lines between desktop and and web, but in the end it will probably resemble more of desktop applications. This is because current web applications run in the browser only because of the limitations of current web techn…

The product that I really think blurs the line right now is Mozilla Prism (http://labs.mozilla.com/2007/10/prism/).

Sure, "we" know that a Prism "app" is really just a web app running inside of a stripped-down copy of Firefox, but the average person (who makes the market) doesn't know that. I've set up some non-technical friends with a copy of Firefox, as well as three or four Prism "apps" - Gmail, Google reader, NYT.com, etc. They don't know, nor do they care, that they're using web apps: they interact with them as desktop apps, which is what matters to them (despite the fact that I've explained to them what's going on).

The really interesting thing is that they distinguish between the Gmail they get by typing the URL into Firefox, and the Gmail they get by launching the Prism "app". Despite the interfaces being 100% identical, they still think of the Firefox-based one as the "web version" of it, in the same way that Outlook users see OWL as the "web version" of normal Outlook - doesn't matter that they're the exact same.

As for web vs. desktop, I think - like most things - it's a case where different tools have different strong points. Some apps will naturally work better in a web-based environment, but some will stay desktop-based.

Seeing as I have as little idea about the future as everyone else does, I'll offer two predictions about the two sides coming together:

In the shorter-term, we will see more desktop apps accessing web services behind the scenes. The main application will still be desktop-based, but some resources (or more likely, improvements on native resources) will come from web services. The big example of this, currently, is Mathematica's cloud computing initiative. To the user, Mathematica is Mathematica - it's on a desktop client, and it's as responsive as ever. But you can configure this desktop client to (silently) spin up an EC2 instance with the Mathematica engine pre-loaded onto it, and route complex calculations to that more-powerful instance, as opposed to computing it locally. To the user, there's no visible difference between locally-computed answers and remote ones; but the desktop app has chosen which source to use based on the calculation.

In the longer-term, the distinction between desktop apps and web apps will disappear. What makes something a web app? Currently, it's that it's written in Javascript that's downloaded and executed in a browser context. What about when browsers have more powerful languages built-in (like Google NaCl promises), and can access the hardware more directly? What about when your OS comes with a built-in ability to download and run these programs, without explicitly invoking a browser - your browser is conceptually like a VM for Javascript, so when this VM is integrated directly into the OS (like Java), what is it?

Let's say I've got a copy of Gmail that uses Gears for persistence, some NaCl to offload some of the processing, and is accessed via a Prism instance - is this a web app or a desktop app?

Post reply on HN