Mobile and Desktop Apps
Desktop App or Web App? Choosing the Right Platform for an Internal Tool
When a business decides to build an internal tool, one of the first questions is whether it should be a desktop application or a web application. The answer shapes how it is deployed, who can use it, what it can connect to and how it is maintained. Most of the time a web app is the right choice, but there are real cases where it is not.
What web apps do well
A web application runs in a browser, so there is nothing to install. Everyone gets updates the moment you release them, which removes a whole category of support problems. It works on any device with a browser, including phones and tablets. Access control is centralized, so you can add and remove people in one place. And it is generally easier to connect to other web-based systems.
It does need a server somewhere and a network connection, either on your internal network or over the internet.
What desktop apps do well
A desktop application runs on the user's computer, which opens up things a browser cannot easily do. It can talk directly to hardware: scales, label printers, barcode scanners, serial and USB devices, and specialized equipment on a line. It can keep working when the network is down. It can handle large local files and heavy processing without sending everything over a connection. And it can integrate with other software installed on the same machine.
The price is that every computer has to be installed and kept up to date. Rolling out an update to fifty machines is a project of its own, and different versions in use at once cause confusing problems.
The hybrid answer
Often the best design combines both. A web application does the main work, and a small local helper program on the workstation handles the hardware, such as printing a label or reading a scale. Another common pattern is a web app that is installable and works offline, which covers many mobile situations without a full native app.
Questions to ask
Does the tool need to control or read from hardware? Does it have to work when the network is down? How many people will use it, and on how many different machines? How often will it change? What do your IT policies allow people to install? And what are your security requirements, because a web app exposes a service to be defended, while a desktop app spreads software across many computers?
Think about maintenance
Over the life of a tool, updating and supporting it costs more than building it. A web app concentrates that cost in one place. A desktop app multiplies it by the number of machines. Weigh that before choosing desktop for convenience of development.
A rule of thumb
Choose web unless there is a clear reason not to. The clear reasons are hardware access, offline needs and heavy local processing. If one of them applies, consider a desktop application or the hybrid pattern.
For the mobile side of the same decision, see shop floor mobile apps, and for deciding whether to build at all, build versus buy. We cover this work in mobile and desktop app development.
If you are planning an internal tool and unsure which platform fits, reach out. We will ask about the hardware and the users before we recommend anything.
Have a question about this topic? We work with businesses worldwide.
Get in Touch