It’s been a few years since the old desktop application versus web application debate started and it seems we’ve come a long way since then. I was recently talking to some fellow back-end webdevelopers and we came across some interesting changes in the views of clients, employers and ourselves.
Ease of use
In the early days of web applications people would state that web applications just didn’t deliver the ease of use they were accustomed to in their desktop applications. Nowadays people often express their anger when their desktop application doesn’t allow them to drag-and-drop items, share data across social networks or work with multiple persons in the same document at the same time. We’ve seen some desktop applications adopt weird web-like interfaces like Microsoft Office’s Ribbon-interface. So, over the years people have gotten used to the intuitive usability of web applications and really want to see this in their desktop applications ( for as long as those are still around ).
Most desktop applications still operate on a standalone basis and do not require an internet connection to work. Web applications rely significantly on internet connections and even poor connectivity can impact the performance in a way that makes them almost unusable. There are some exceptions however. Modern HTML5 versions of web applications also function offline ( like Google Apps ) and offer local data storage which they synch whenever there is an internet connection, bypassing most hick-ups a user could encounter.
Web applications still are exposed to more security risks than desktop applications. You can have total control over the standalone applications and protect it from various vulnerabilities. This may not be the case with web applications as they are open to a large number of users thus widening the threat. But many web applications now sport some of the best online security available and even offer SSL/HTTPS access for people that are on unprotected networks. The biggest security flaw however still exists between the chair and the keyboard, the user itself. Weak passwords or even password retrieval questions offer a small challenge for the even the most novice hacker or the co-worker with a grudge.
Whereas most desktop applications receive ( hopefully ) regular updates most web applications are updated continually. Web applications are easy to update when a proper MVC structure is used but maintaining a desktop application can be a hell, especially if you have to build versions for more than one platform. There were some great platform-independent solutions like Adobe Air but they are slowly disappearing, mostly because of the lack of support for mobile devices, like mobile phones or, for instance, Apple’s iPad.
Overall, security should always remain the most important part of the solution. The selection of what type to use will depend on the business’ or client’s needs and factors. But most likely the need and desire to be mobile and less dependant on one device or service will push the transition from desktop to the web even faster and futher.