In a day and age when almost everything we could want is available online, it seems people are forgetting about desktop applications. Desktop applications may seem out of the loop but when you need something where reliability is a number one priority, a desktop application should be strongly considered.
Imagine its 4:30 on a Friday afternoon and you need to access some data on a cloud application of your choice. You open up your browser only to find that there is no internet connection because of an ISP issue that is out of your control! This is a bit of an exaggerated example but the point is that if that data was stored locally on a desktop application, you would have been able to retrieve it regardless of any internet connectivity issues.
Now of course there are positives and negatives of desktop applications. Desktop applications on a secure computer within a secure office are better protected than even the most secure cloud storage or online services. There is a tradeoff though, the data on the desktop can’t be accessed from anywhere at any time. Some people will also point out that that it’s easier to lose data on a desktop but that isn’t true. Just like with data on a server, regular backups will mitigate any risk involving data loss.
The hardest part of a desktop application is compatibility. An online service mostly has to worry about working across the major browsers which for the most part, conform to the same standards. There are slight variations here and there but very manageable for the most part. With desktop applications you have to decide if it will be Windows, Mac OS, Linux or all three. If it is both you need to know what you can or can’t do on either system. If you need to do something on one system that you can’t on another, you may need to write entirely different code. This isn’t too bad if you are using Java but Java can’t bring out the best in any one system, it is more of a jack of all trades. Even if you are creating an application for a single OS you need to be wary of compatibility between the different versions such as Windows Vista, 7, 8, 8.1, and now 10. Same goes for the different versions of Mac OS and Linux.
Aside from software compatibility, the next big thing is hardware compatibility. For a vast majority of the time, the OS will be the one handling how the hardware handles everything. Certain applications however, may need to operate at lower levels to accomplish their tasks. This is when you have to be careful because Intel and AMD operate differently at a CPU level. Nvidia and AMD are also very differently designed when it comes to outputting visuals.
The good news is that the drawbacks of a desktop application only really affect a small percentage of specialized applications. For most applications involving data these issues don’t usually apply. Sadly though, these drawbacks do exist and the convenience of the internet means that only truly specialized applications remain desktop based.
Regardless of the type of application you are in need of, at Palm Beach Software Design we will work with you to help you decide what is best for you and let you know the positives and negatives of all avenues.