When Desktop Software Still Beats a Web App
By Luis Pambid, Founder of YenkoDev
Most new business software runs in a web browser now, and for good reason. It's easy to reach from anywhere and easy to update. But some work doesn't belong in a browser tab. It needs to run fast on the computer in front of you, talk to a scanner or a card reader on the desk, or keep going when the internet doesn't. For that work, a desktop application is still the right tool.
We build desktop software (Desktop App Development is one of our services), so read this as an explanation from an interested party. It's written to help you decide which kind of software you need before you talk to anyone.
What a desktop app is
A desktop app is software installed on a computer: a Windows PC, a Mac or a Linux machine. It runs on that computer directly, instead of inside a browser. It can still connect to the internet and share data with other computers, but it doesn't need a connection to work.
Four signs you need one
It has to work with hardware on the desk. Card or RFID readers, fingerprint scanners, barcode scanners, label printers, cameras, scales, or older machines that connect by a serial cable. A browser only gets limited access to devices like these. A desktop app can talk to them directly and reliably.
It has to keep working without the internet. A clinic keeps recording patients when the connection drops. A warehouse logs stock in a building with a weak signal. A site office has no reliable line at all. A desktop app stores its data on the computer and syncs when the connection comes back, so the work doesn't stop.
It does heavy work on large files. Processing big images, video, measurement data or large spreadsheets. Doing that on the computer itself is often faster than uploading everything to a server first.
It replaces a spreadsheet that has become a system. Many businesses run on a spreadsheet that started small and kept growing: a records file, a billing tracker, a stock list. It now has twenty tabs, formulas nobody dares to touch, and one person who understands it. If the people who use it all work in one place, a desktop app built around exactly that process can be the cleanest replacement.
When a web app is the better choice
The honest other side:
- Many users in many places. If people need it from home, from different branches or from their phones, a web app reaches them all without installing anything.
- Frequent changes. A web app changes once for everyone. A desktop app has to be updated on every computer, so an automatic update system has to be planned from the start.
- Customers will use it. You can ask your staff to install software. Asking customers is much harder.
Sometimes the answer is both: a desktop app at the counter that talks to the hardware, and a web dashboard the owner can check from anywhere. Our post on websites, web apps and SaaS covers the web side.
Windows, Mac or Linux?
Build for the computers your people actually use. For many businesses that's Windows alone, and that's fine. If you have a mix, one codebase can usually produce versions for Windows, macOS and Linux. We build with .NET and Python, and both do this well. Separate builds for each system only make sense when one of them needs every bit of speed it can get.
What to plan for
A desktop app lives on computers nobody watches all the time, so a few things need planning that a web app gets for free.
Updates. Without an update system, every fix means someone walking to every computer. Build automatic updates into the first version.
Backups. If the data lives on one computer, one broken drive can lose it. Either the app syncs its data to a safe central place, or it backs up on a schedule. Decide which on day one, and test a restore.
Sharing data between computers. Two computers at the same counter need to see the same records. That means a shared database or a sync service, and clear rules for what happens when two people change the same record at once.
Security. A laptop can be lost or stolen. Private data on it should be encrypted, and the app should need a sign-in.
The hardware itself. Devices differ, even between models of the same brand. Test with the exact scanners, readers and printers you will use, not with similar ones.
None of this is unusual. It's just easy to leave out of a quote, and expensive to add later.
Where to start this week
Write down, for the work you want to move into software:
- Who uses it, and where they sit.
- Which devices it must work with, by make and model.
- What happens today when the internet goes down.
- Which file, spreadsheet or paper system it would replace.
If everyone sits in one place, works with hardware, and can't stop when the connection drops, you are describing a desktop app. If they're spread out and only need a screen, you're probably describing a web app. Either way, that list is the most useful thing you can hand to whoever builds it.
Software that has to work at the counter?
A few lines is enough: what it should do, who will use it, and any date you're working to. Every brief is read by a senior engineer, the same person who would do the work.