Desktop Application Development

Some Jobs Still Belong on the Machine in Front of You

The browser won almost everything, and the exceptions are specific rather than sentimental: a balance on a laboratory bench, a depot with two bars of signal, a till that cannot stop working because the line dropped, and a corporate estate where IT deploys software centrally and nobody installs anything themselves. We build for those, in Windows and macOS, and we say so when your case is not one of them.

Where Desktop Still Wins

Four Situations a Browser Tab Handles Badly

Each of these turns up regularly in UK enquiries, and each of them has a tell you can check without a developer in the room.

Factory floors and laboratories

  • Benches with balances, gauges, test rigs and label printers wired to the machine over USB or serial
  • A quality technician who needs a reading captured into a record without typing it and mistyping it
  • Processing that is genuinely heavy: image analysis, batch conversion, large measurement files
  • Records that must be signed, timestamped and retained under an audit regime
  • The tell: somebody is currently reading a number off a device and typing it into a spreadsheet

Sites where connectivity is genuinely poor

  • Plant hire depots, rural sites, basements, cold stores and anywhere with metal between the user and a mast
  • Surveyors and engineers who work all day and sync when they are back in range
  • Work that cannot pause because a connection dropped for ninety seconds
  • Data captured locally first, reconciled afterwards, with a written rule about what wins in a conflict
  • The tell: the current process involves a paper form because the last app did not work on site

Kiosk, till and single-purpose terminals

  • A visitor sign-in terminal in a reception, a self-service point in a showroom, an order screen in a venue
  • Chip and PIN terminals, cash drawers, receipt printers and scanners, all attached locally
  • The machine must start into the application and never show a desktop, a browser chrome or an update prompt
  • Trading has to continue through a broadband outage, with card processing degrading gracefully rather than stopping
  • The tell: there is a physical device attached and no member of staff supervising the screen

Managed corporate and public sector estates

  • Standard Windows builds deployed and patched centrally, where users cannot install software themselves
  • Applications expected to arrive through Intune or Configuration Manager like everything else on the machine
  • Integration with local files, network shares, Outlook or a document management system that lives on the desktop
  • Security teams who prefer software running inside the network boundary to another browser tab reaching outward
  • The tell: the buyer says the words change control, standard build, or our SOE, in the first meeting
The Filter

How Many Desktop Enquiries Are Really Desktop Projects

We run the same four questions on every enquiry. Most projects drop out at the first or second, which is a cheaper conversation than a build.

Everyone who asks for a desktop application

Frequently because that is what the last system was, or because a browser feels less serious than software with an icon on the taskbar. Neither is a reason on its own.

Does it touch hardware or the file system in a real way?

A serial instrument, a receipt printer, a scanner, thousands of local files. If the answer is a document upload now and then, a web application does that perfectly well and is cheaper to deploy.

Must it keep working with no connection at all?

Not slow, not flaky — absent, for hours, as a normal operating condition. This is the question people answer optimistically, so we ask what actually happens today when the line goes down.

Is it a locked kiosk, or deployed by an IT department?

A machine that must boot into one application, or an estate where software arrives through managed deployment. What is left after these three questions is a genuine desktop project, and we build it properly.

If your project falls out at stage two or three, that is a good outcome. It usually means a shorter build, a cheaper one, and nothing to install. We would rather point you at web application development than sell you an installer you did not need.

Platforms

Windows First, macOS Where the Users Actually Are

In UK business software the split is rarely even, and pretending otherwise inflates estimates.

Windows is usually the whole job

Manufacturing, logistics, professional services, the public sector and most retail back offices run Windows almost exclusively. Where that is true, building macOS support as well is spending a meaningful share of the budget on nobody.

The Windows 10 question

Windows 10 passed its end of support date in October 2025 and plenty of UK organisations are still on it while a hardware refresh grinds through procurement. We ask early, because it constrains which framework versions and platform features we can rely on.

macOS where design, media or education lives

Agencies, studios, some university departments and a good number of clinics are Mac-first. Apple silicon and Intel both still appear in the field, so we build universal binaries rather than assuming everyone has upgraded.

The interface conventions differ

Menu bars, keyboard shortcuts, window behaviour, file dialogues and where settings live are not the same on the two platforms. An application that ignores this feels wrong to users in a way they will report as a bug.

Hardware support is rarely portable

Serial and USB device access, printing and anything driver-related is the part of a cross-platform build that is genuinely per-platform work. If instruments are involved, a second platform is not a small increment.

Decide by counting, not by principle

We ask how many machines of each kind exist today and how many are expected next year. Cross-platform is a good answer when the numbers support it and an expensive habit when they do not.

Technology Choice

Electron or Native, With the Costs Written Down Rather Than Argued

There is no universally right answer. There is a right answer for your users, your hardware and your budget, and the table below is how we get to it.

What you care aboutElectron and similar web-based shellsNative for each platform
Build cost for two platformsSubstantially lower, one codebase with per-platform edgesClose to two builds, particularly with hardware involved
Installer size and memory useLarge, because a browser engine ships with the applicationSmall, and noticeable on modest or older machines
Startup timeSlower, usually a second or two, which matters at a tillImmediate
Serial, USB and driver-level hardwarePossible through native modules, and this is where the effort goesThe natural fit, with proper platform support
Reuse of an existing web applicationConsiderable, much of the interface can be sharedLittle to none
Feeling like software from the platformGood with care, never quite indistinguishableCorrect by default
Heavy local computationAcceptable for most business workloadsBetter where processing is the point of the product
Finding people to maintain it laterAnyone who knows web developmentA narrower pool, particularly for older frameworks

In practice: Electron for business tools and anything sharing a codebase with a web application; native for tills, instrument control, and anything that must open instantly on hardware that was already old when it was bought.

Signing

Unsigned Software Does Not Get Installed in a British Company

This is the part that surprises people, and it is worth understanding before it turns up as a delay two weeks before launch.

On Windows, software that is not signed with a code signing certificate produces a SmartScreen warning that most non-technical users will not click past, and many corporate policies block outright. Certificates are issued against a verified company identity, so the issuer checks that your limited company exists and that you are entitled to request one, which takes time. They are also no longer supplied as a file you can copy around: the private key lives on a hardware token or in a cloud signing service, which affects how your build pipeline is set up. A brand new certificate also carries no reputation, so early downloads can still see a warning until enough installs have accumulated.

On macOS, the application must be signed with a Developer ID from an Apple Developer account and then notarised, which means Apple scans the build and issues a ticket that gets attached to it. Without that, recent macOS versions will refuse to open it in a way that looks to the user like the download was broken. Notarisation is automated and quick once configured, and it is another thing that needs to be in the pipeline rather than done by hand on somebody’s laptop.

What we do about it. Certificates and developer accounts are bought in your company name, not ours, so you keep them if we part ways. Signing and notarisation are wired into the automated build so every release is signed identically and nobody is manually running commands at five o’clock on a Friday. And the renewal date goes into your calendar and ours, because an expired certificate is a genuinely disruptive way to discover that nobody was watching.

Deployment

Getting It Onto Machines Somebody Else Controls

Most of our desktop work is deployed by an IT department rather than downloaded by a user, and packaging for that is a design decision rather than an afterthought.

01

Package the way the tooling expects

An MSI or MSIX for Windows with silent install switches, a per-machine installation and a sensible upgrade code, so the same package works whether it is pushed through Intune, Configuration Manager or Group Policy. For macOS, a signed and notarised package a Jamf administrator can deploy without unwrapping anything.

02

Make it configurable without a rebuild

Server addresses, site identifiers and feature switches read from policy, a registry key or a configuration profile, so IT can point the same package at a test environment and then production. Building a separate installer per site is how a deployment becomes unmanageable at the twelfth one.

03

Hand over the pack IT will ask for

What it installs and where, which ports and hostnames it needs outbound, what it writes to disk, what runs at startup, what permissions it requires and why. Supplying this unprompted is the single fastest way through a change control process, and it is usually the thing that is missing when a deployment stalls.

04

Pilot on a handful of machines first

A small ring of real users on the actual standard build, for a week, before the estate-wide push. Managed environments have their own surprises — proxies, application control policies, roaming profiles — and finding them on eight machines is considerably better than on eight hundred.

Updates

Releasing Without Anybody Driving to Site

The update mechanism is the difference between a fix taking an afternoon and taking a fortnight of visits.

Silent updates for direct installs

The application checks a feed you own, downloads in the background, verifies the signature, and applies the update on restart rather than interrupting somebody halfway through a task. Never a modal dialogue on a screen facing the public.

Channels, so one site can be pinned

A validated laboratory configuration or a till estate during the Christmas trading period should not move because a new version exists. Channels let a site stay on a known build while everyone else progresses, with a documented route back onto the main line.

A way back

Every release is kept, not just the current one, and the rollback path is tested rather than theoretical. Data written by a newer version needs to remain readable by the previous one, which is a schema decision made during the build rather than during an incident.

Managed estates update through IT

Where the application arrived through Intune or Configuration Manager, updates go the same way, and the application must not try to update itself behind the administrator’s back. We build both mechanisms and switch the self-updater off by policy.

Know what is actually installed

A small, privacy-respecting check-in reporting version and platform gives you a list of which sites are on which build. Without it, supporting a desktop estate is guesswork and every ticket starts with three emails establishing the version.

Offline update packages

For genuinely disconnected or air-gapped machines, a signed installer on removable media with a documented procedure. Rare, but if it applies to you it needs to be in the plan from the beginning rather than improvised.

Be Honest

Three Reasons We Would Steer You Back to the Browser

Every user is on a different machine every week. If your people work from home, from an office, from a client site and occasionally from a tablet, an installer is an obstacle rather than a product. Deployment, versions and support all get harder, and you gain nothing that a web application does not already provide.

The offline requirement is aspirational. A great many projects describe offline working and, when asked what actually happens today when the broadband drops, answer that everyone stops for twenty minutes and it is fine. Genuine offline support with conflict resolution is one of the more expensive things we build, and it should be bought only where the outage is a daily operating condition.

Desktop was chosen for seriousness rather than function. It is a real instinct — software with an installer feels more substantial than a URL — and it is an expensive one. If the requirement is that it feels like proper software, that is a design problem, and we would rather solve it with a well-made interface than with a distribution channel.

Where a hybrid genuinely is right, we build that too: a desktop application for the bench or the till, sharing a backend with a web application for everyone in an office. That is a common and sensible shape, and it is worth deciding deliberately rather than discovering in month four.

FAQ

Desktop Questions We Get From UK Buyers

Our laptops are locked down by an IT team. Can they still deploy the application?

That is normally the easiest part, provided we package it the way their tooling expects. For Windows that means an MSI or MSIX installer with silent install switches, a per-machine installation, a signed binary and a version number that increments properly, so it can be pushed through Intune, Configuration Manager or Group Policy. For macOS it is a signed and notarised package deployable through Jamf or a similar tool. What holds deployments up is rarely the technology; it is the change control process, so we give the IT team the documentation pack they will ask for at the same time as the build.

Does the application have to keep working when the internet drops?

If the answer is yes, that is one of the strongest arguments for building desktop rather than web, and it changes the design substantially. Working offline means the application holds its own local database, records what changed while it was disconnected, and reconciles when it gets a connection back, including deciding what wins when the same record changed in two places. That conflict rule is a business decision rather than a technical one, and we ask you for it early because it is the part that gets discovered late on projects that did not plan for it.

Can it talk to a machine over USB or a serial port?

Yes, and this is the category of work a browser genuinely cannot do reliably. Balances, label printers, barcode scanners, card readers, test rigs and instruments that present as a serial device are all reachable from a desktop application. What we need before quoting is the interface documentation for the specific device, or failing that the device itself, because manufacturer implementations vary far more than the specifications suggest. We are candid when a device is undocumented enough that the integration is exploratory work rather than a fixed price.

Will it run on Windows 10 as well as Windows 11?

Usually yes, and we treat it as a scoping question rather than an assumption. Windows 10 passed its end of support date in October 2025, and plenty of UK organisations are still running it under extended security updates while a hardware refresh works through procurement. If your users or your customers are on it, we put it on the supported list and test against it, which mainly affects which framework versions and which newer platform features we can rely on.

Do we need a code signing certificate, and who buys it?

You need one, and it should be bought in your company name rather than ours. Unsigned Windows software triggers a SmartScreen warning that stops most non-technical users, and corporate policies frequently block it outright. Certificates are now issued on hardware tokens or through a cloud signing service rather than as a file you can email around, which takes organising, and the issuer will verify your company exists. On macOS you need an Apple Developer account and the application must be notarised by Apple before it will open cleanly. We will tell you exactly what to buy and set up the signing in your build pipeline.

Can we hold one site on an older version while others update?

Yes, and it is a common requirement in manufacturing and laboratory settings where a validated configuration cannot change without a documented review. We build the update mechanism with channels, so a site can sit on a pinned version while everyone else moves, and we keep the release notes and the installer for every version rather than only the current one. The thing to agree in advance is how long you support an old version, because supporting every version anyone ever installed is how a small support retainer stops being small.

What does ongoing support for a desktop application involve?

Less than a mobile app and more than nothing. Operating system updates occasionally break assumptions, certificates expire and must be renewed before they do, dependencies pick up security fixes that need rolling out, and new hardware arrives that behaves slightly differently from the model you tested. A modest retainer covering a handful of days a quarter is usually the right shape, and it is worth having in place before the first problem rather than negotiating it during one.

Tell Us About the Machine, the Site and the Hardware

What it has to connect to, where it has to run, and who deploys software on those computers. We will tell you whether it needs to be desktop at all, and what it costs in sterling excluding VAT if it does.