ZDNet Blogger John Carrol posted a blog last week titled “Everybody hates browser applications” that has started a lively discussion. I feel that “everybody” certainly does not hate browser applications. In fact, I feel just the opposite. That is, despite the resistance, desktop applications are dying.
Browser applications are ‘good enough’ compared to their desktop equivalents and are getting better all the time. And even then, it doesn’t matter if everyone hates browser applications, they’re going to be using browser applications anyway because they’re easier for developers to write and distribute. Everyone’s a critic, but it’s the developers who dictate which technology gets used to create apps.
Example #1 how browser applications are ‘good enough’ compared to their desktop equivalents
At the recent JSConf I attended, I saw a demo of the new iPad support in SproutCore (the JavaScript framework that Apple uses for its MobileMe online web applications.) The iPad team worked with the SproutCore team to provide native hardware acceleration to the JavaScript layer and made the web applications just as fast and native looking as their native siblings written in Objective-C.
Example #2 how browser applications are ‘good enough’ compared to their desktop equivalents
One of the more famous iPad apps is the NPR app, a native Objective-C iPad that launched at the same time as the iPad. At JSConf, a JavaScript-only SproutCore version of the NPR app was written in a few days, and actually was faster than the native equivalent. The JavaScript/web version was ‘better’ than the native version.”
So consider this – as a web-developer looking to get into the mobile marketplace, wouldn’t you rather leverage your existing skill set (HTML, CSS, and JavaScript) than learn a completely new technology set (Objective-C for iPad and iPhone)?

I hate browser-based applications. They are slow, more prone to errors, and their being stateless is a considerable pain.
Except that Outlook on desktop takes more time to start, it has always been preferable over Web Outlook.
I fully agree with Carrol. I have always installed full MSDN on my machine. It is just too painful to use the online version. In fact, I also change the search criterion on the locally installed copy to prefer local searches over internet search!
With average broadband download speeds of say 3 Mbps compared to local sustained hard-drive I/O speed of say 500 Mbps, there is just no comparison in performance of the two. On the top of that, a browser-based application is pulling application code over the same link in addition to the data!
Google has announced plans to increase broadband speeds to 1 Gbps. Once that happens and the industry is able to sustain such speeds (which I doubt), then we will talk again.
I hate browser-based applications. I hate the trade-off between the clients computer power, and the servers I need to run to serve web applications to them. I always hear about the death of the desktop application, and it always makes my wallet sad.
Yes, hardware is cheap, and getting cheaper. With the global market now it’s not so much about how much hardware I have, but where I have that hardware running. Deploying a desktop application to another country is easy. Serve it up on a website, the user downloads that installer, and that is the end of the interaction with my servers.
Web applications on the other hand. I constantly have to cache data, consider global application use, and constantly have to worry about a web server going down killing my income. One power outage and I’m SOL. I never have to worry whether it’s going to work with a desktop application, or even an iPhone/iPad application. I serve it up for download. If my computers are down, short of activation, my clients are still rocking.
It’s that whole service as a product paradigm shift. Makes it incredibly hard for a small business like myself to compete in a global market short of going into the cloud. Frankly I do not like the security problems of cloud based applications. I am not sold one bit, but I know I’ll get dragged into it because I go where my customers are getting pulled.
Still doesn’t mean I have to like it. Frankly I hate web applications. Deployments are simple, I can write crap code, and just make minor tweaks behind the scenes to fix it in real-time. Desktop applications you have to write it well or you’ll lose your customer. Totally a trade off between the two, but it’s the damn hardware Jim that makes my life miserable.
Anyways, just my humble opinion on the subject.
I LOVE web applications.
When moving between all my computers, a desktop bound app is no substitute. I can pull up the same web apps on my laptop, desktop, iphone or ipad.
12 years ago, we wanted to move an ERP system to the web based version at the company where I worked. They stuck with the desktop version, and now have an entire department just to deal with client issues (freezing, installing, upgrading).
If you think about it, what desktop apps are useful these days?
1. Apps that deal with making your computer work well (antivirus, speeding up operations)
2. Video or Photo editing, high-end word processing
I really can’t think of others. Most other serious desktop apps actually sync with some remote database or the cloud.
I would consider myself to be a veteran of all three environments — desktop, web, and mobile. All three are very different, all three have their own pitfalls. And anyone who say that mobile is just like desktop has not programmed for them.
And actually, all three suck in their own unique ways. On desktop, the installation problem has not been solved. It is far too easy to work on one system and not on another (almost identical configuration). System inconsistencies still abound, and once you are done the clients start asking why you don’t support Mac/Windows/IPhone yet — surely that is a compiler switch or something easy like that after all!
The lack of power/memory issues are being fixed, but not fast enough. So now we are dealing with the Flash/Silverlight/HTML5 issue.
Then mobile is even worse. Each platform (IPhone, WinMobile, Android, Blackberry) have their own languages and API’s to deal with. The few systems trying to bridge those gaps might end up persona non gratta on IPhone. Plus, WinMobile is starting over from scratch on their api (C#/Silverlight).
There is no “right” answer. Because of this, web apps are starting
to act like desktop apps, and desktop apps are acting like web apps. That issue is going to get worse before it gets better.
I think you’re artificially dividing the spectrum into ‘browser’ and ‘non-browser’ software. It’s all software, the containing environment and delivery mechanisms might be different — but in the end, they’re the same thing. Code operating through a translation layer to cause a local set of hardware to produce some predictable effect.
Online delivery works very well for the home and casual computer user, and provides them with a set of features that are useful to that space. Also, having the ability to have the same app run on multiple devices appeals to these consumers as well. Eventually, I wouldn’t be surprised to see applications be demand loaded the first time, then saved and run locally after that. The data for these apps most likely being saved online to increase their availability. A mix of sorts between the browser world and the iDevice world.
Online delivery sucks for business use, particularly when your business relies in any way on that software for operations. For these segments, I highly doubt you will ever see a “death” of “desktop” software. Requirements will always dictate that the software be a deliverable, and that it be mostly “always available” after installation.
In short, it’s a broadly complex set of concerns and a wide array of choices for delivery. I don’t think you’re going to see a massive paradigm shift anytime soon, it will all be the same as it ever was.
“Wouldn’t you rather leverage your existing skill set (HTML, CSS, and JavaScript) than learn a completely new technology set (Objective-C for iPad and iPhone)?”
Let me ask a different Question :
“Will you rather continue being stuck with technologies that where never ment to be used for large, interactive, secure, MVC-Style applications than to learn a technologie that has proven to be performant, supports large developer teams, supports testing, continous integration, OO-Development,…”
And for me the biggest reason not to see Web-Apps as the holy grail: one exploitable hole in your browser and your company diversifys into the spam-market. Did i mention hunting down different Browser behaviour, fixing it by using hacks?
I think web based applications work especially well if you have a potentially global audience, you have limited or no control over OS and you are primarily providing read-only data or shopping cart applications.
I prefer desktop applications when building LOB applications where I have a limited audience, I can specify requirements for the desktop (at least OS and memory constraints) and where I need a rich and responsive user interface. I typically use Click Once from a web server to handle deployment and updates and can design an app to use either local or remote db connectivity as needed. With 4.0 .Net framework I can also make use of caching (when using a remote SQL server) without adding system.web namespace. I think it’s the best of both worlds.
The software industry is simply going through a typical technological evolution and competition has been propelling the process. All the rest is noise.
Joseph.
Author and Publisher,
http://www.josytal.com – Free Software for Small Business.
http://www.directorygist.com – Directory of Web Directories with Online submission tools.