Hej.Stockholm
← Back

Building for Windows is harder than it should be

I build on a Mac, with Claude doing a lot of the typing. For the Windows version, my setup was clumsy: every change went over to a Windows machine, got installed there, and got tried there. That loop was slow, and it was my choice, so I will take that one. The rest of this post is about the part that was not my choice.

Windows will tell you something worked when it did not. A call returns success, the setting is not there. An install says it finished, and some of the files are still the old ones because another program had them open. When something does fail, the message is a number, or “something went wrong”, or nothing at all. On a Mac, things mostly do what they say. On Windows, I learned to check everything myself, and that is a lot of checking.

The bigger problem was that every Windows computer is its own little world. People wrote in that the app was slow, that it froze, that it would not open, and almost none of it happened on the machines I had. Their laptops came with a different antivirus, a manufacturer’s helper apps, OneDrive syncing every folder, a company policy that blocks things nobody can explain, and eight gigabytes of memory shared with forty browser tabs. Same version of Windows, completely different computer. You cannot test your way through that, because you cannot buy every laptop.

8 GB OF MEMORYWINDOWSANTIVIRUS, SCANNINGONEDRIVE, SYNCINGSEARCH INDEXERCOMPANY VPN40 BROWSER TABSYOUR APPEVERYTHING BELOW YOUR APP WANTS THE SAME DISK, MEMORY AND CPU
FIG. 01Somebody’s laptop, taken apart

And when the app did feel heavy on someone’s machine, Windows gave me almost nothing to go on. Task Manager shows numbers that sound useful and mean something narrower than you think. The app could look idle and still feel slow, because it was waiting on the disk, on a file the antivirus decided to scan, or on another program holding something it needed. “Not responding” turns up with no reason attached. I spent a long time staring at the wrong number, and when I found a real cause, Windows had not pointed at it once.

CLICKABOUT 2 S LATER, IT RESPONDSYOUR APP WORKINGWAITING ON THE DISKANTIVIRUS SCANNING A FILEANOTHER PROGRAM HOLDING ITDRAWING THE WINDOW0.0 STASK MANAGER SHOWS THE FIRST PIECE, SO THE APP LOOKS IDLE WHILE IT FEELS SLOW
FIG. 02One slow click, and where the time went (an example)

It adds up to a hundred small ways the system stays quiet, on computers you will never see. If I started again, I would put a slow, ordinary Windows laptop on my desk from day one, with an antivirus, OneDrive and too many tabs, and I would make the app record what it was waiting on, so that when someone says “it’s slow”, the report already says why.

Most of the people who use what I build are on Windows, so I keep shipping there, and I check everything it tells me.

Ink drawing of the Stockholm waterfront
Stortorget, Gamla stanStadshuset across RiddarfjärdenRiddarholmen from Monteliusvägenaf Chapman at Skeppsholmen