Given a choice between desktop & web app, which would you choose?

spxza

Active Member
Joined
Nov 10, 2010
Messages
31
Reaction score
0
If you are given a choice between developing a data-driven application, would you develop it as a desktop app or a web app? That's assuming - of course - that you can do either as effectively as the other.

This question has to be viewed within the current conditions within IT. There has been a major shift towards so called "Web 2.0", and there are some amazing, incredibly functional web applications out there. A major stumbling block for us in SA is the cost and quality of bandwidth. This is improving, however.

I'm worried that we are headed down the wrong track. That in 2 or 3 years when we start rolling out our desktop applications that they will be immediately viewed as old as archaic - since they aren't web/browser based.
 
Definitely web based. That way a person can use any pc with a browser to do their work.

Much less constraining that being limited to a certain pc which you may not always have with you.

Btw, Google will make sure everything stays browser based. Have you heard of the Chromebook?
 
Data Driven Applications? Definitely web based if possible.

Some applications are a bit specialized though, and would require a desktop application, as the web tools available don't cover everything. For this reason there will still a place for desktop applications for years to come.
 
Some applications are a bit specialized though, and would require a desktop application, as the web tools available don't cover everything. For this reason there will still a place for desktop applications for years to come.

There is no hardware interactions, no security dongles, none of that kind of thing. Other than that, what do you mean by "a bit specialized"?
 
Future-wise, we are going to end up with a lot more web-based applications. Although I'm a desktop application fan, I will too, have to admit that desktop applications are going to have an end some time or another.
 
What you start with, to a large degree will depend on the audience that you have to serve, but I agree web is the obvious choice. The important thing is to layer the architecture in a way that data can be provided to different consumers(i.e. web, mobile, desktop … anywhere).
 
Web based is the way to go. There are certainly places where desktop apps can't be replaced but for data driven apps, web based is perfect and you have the advantage that you can run it on anything from a smartphone to a tablet or PC.
 
Web based ftw... Just used a web based image editor and must say that's pretty sweet, best of all was that i used my iPad.

Web based apps are the future, there are certain apps that can't be replaced at this stage but sooner rather than later everything will be done via the web. Loads of companies are moving in that direction as it saves tons of money, take fnb as an example, all their work is done on a browser on a desktop running Ubuntu. Now compare that to the costs of physical servers at each branch and desktops running Windows? What happens when their hardware becomes outdated and the apps need to altered?

With their web based solution there are hardly any compatibility issues which is one less thing to fix in the long run. I can imagine not having to worry so heavily on compatibility will also speed up the SDLC
 
Desktop. There are standard UI patterns unlike web applications, desktop applications are also more responsive. Web developers also overcomplicate their apps with stupid stuff like rollovers, etc.
 
Desktop. There are standard UI patterns unlike web applications, desktop applications are also more responsive. Web developers also overcomplicate their apps with stupid stuff like rollovers, etc.

However, keeping desktops apps up to date is more prone to errors. In large enterprise environments keeping 3000+ desktops updated with software updates occur on a regular basis, at least weekly, is a painfully experience. Always someone who updates the database with an out of date client version.
 
A critical question is that of user behaviour and their experience. Under current conditions (i.e. ZA bandwidth constraints), it is impossible for most users to do what they would need to via a web app.

But, it seems that more and more of the business decisions made by my higher ups point towards web technologies. I guess I need to await the business specifications before I can push any web technologies.
 
Last edited:
I had to install a (desktop) application at a few big companies. What a mission to get permission to do that, and you have to go to every machine to set it up. Bug fix ? Same procedure all over unless you have some fancy auto update mechanism.

Web based is the way to go. As mentioned before, works on any device. Update? What a breeze.
 
If your scope allows it - web based all the way.

The pros outweigh the cons when it comes to web apps, but some cons can be a deal breaker (interacting with the local file system (caching?), using some components which cannot be displayed through web etc).
 
I had to install a (desktop) application at a few big companies. What a mission to get permission to do that, and you have to go to every machine to set it up. Bug fix ? Same procedure all over unless you have some fancy auto update mechanism.

Web based is the way to go. As mentioned before, works on any device. Update? What a breeze.
 
There is no hardware interactions, no security dongles, none of that kind of thing. Other than that, what do you mean by "a bit specialized"?

Well then you aren't sitting with a specialised scenario that requires a desktop scenario then... so clearly web dev is the way to go.

If you want to start interacting with offline devices like I do, then desktop apps are a must.

There are a few things off the top of my head that I could mention. Some of these will likely become irrelevant in due course as web tech catches up.

Things like geospatial map rendering of client specific data are a lot faster on the client. Web based applications generally do a better job serving static tiles, or rendering fewer numbers of shapes. If you ask a server to do it, then it will quickly fall over for large numbers of users. Sometimes a customised rendering engine is just so much better.

In some cases you want to store data locally for long periods of time as well (in a disconnected environment) and a db like google gears doesn't always cut it. Also, tools like gears are plugins, requiring the user to "install" something in any case. If that plugin needs an update, they have to allow the update in any case. This doesn't get around the upgrade issues of desktop apps (which can auto-update - take click-once installed applications as an example... you can force updates on next load)

When it comes to the libraries available in the .Net framework for example, there is soooo much more available, that you couldn't possibly do with javascript and HTML5. There are stop gaps, take Silverlight for example. It's "in the browser"... but it's really just a desktop application that the browser allows to show. That's why you can run it "out of browser" as well. There's also a reason why the .Net framework available in Silverlight is only a fraction of the size of the full framework.

What about movie editing and rendering applications. You can't do that in-browser. Even video transcoding done by the likes of youtube is done on servers. If you wanted to do that using what is available in javascript or HTML5? Not possible at the moment.

Another thing to consider is the size of the application. Take Photoshop... it's huge, and it's almost impossible to leverage all that functionality over the web as we currently know it. You'd constantly be downloading modules in a Silverlight / Flash application to get it to function. Jquery is awesome and all, but just doesn't have that kind of capability.


The list goes on and on. As time goes on, there will be more and more stuff available online, but there's a reason people built the likes of flash and silverlight. It's because normal browser rendering tech just can't catch up with proprietary software due to that little requirement called standards. All the browsers have to implement the same functionality for it to be useful in your application. This limits the speed at which new features can be added.
 
Last edited:
I had to install a (desktop) application at a few big companies. What a mission to get permission to do that, and you have to go to every machine to set it up. Bug fix ? Same procedure all over unless you have some fancy auto update mechanism.

Web based is the way to go. As mentioned before, works on any device. Update? What a breeze.

Well with Click Once deployment, people can literally install it by clicking a link in a browser (that's how they'd open the web application anyhow). It will install in its own little safe directory, and not even touch the registry. This means the permissions required are at a bare minimum, and the software is sand-boxed. The program can force and auto-update, saving the hassle of worrying about bug fixes. If you find you have a critical fix, you can mark the deployment as such, and the next time they open the software, it can force them to upgrade before running the software again.

It's all about what tech you use to solve a problem.
 
Well with Click Once deployment, people can literally install it by clicking a link in a browser (that's how they'd open the web application anyhow). It will install in its own little safe directory, and not even touch the registry. This means the permissions required are at a bare minimum, and the software is sand-boxed. The program can force and auto-update, saving the hassle of worrying about bug fixes. If you find you have a critical fix, you can mark the deployment as such, and the next time they open the software, it can force them to upgrade before running the software again.

It's all about what tech you use to solve a problem.

true. when i started working we did desktop applications and when it was time to deploy we would deploy the application executables and DLLs to a shared folder on the server, and the users each had a bat file on their desktop that would copy all the executables and DLLs to a local folder and start the executable from there. So if there is a changes you just copy your changes to the shared folder and tell everyone to log out of the application and run it again.
 
Take a look at the requirements for your system. If a webapp can fulfil all the requirements I would choose it over a desktop application.
 
Neither. Or rather, both of them and more.

Data on a web / cloud server, access from a desktop app (Windows, Mac and Linux) and a mobile app (iOS and Android and that other option) and a web app.

If you're serious.
 
Top
Sign up to the MyBroadband newsletter
X