Skip to content

From Fixing RDP Blind Ops to Wrestling with MS Store Publishing: The Birth of RDP Heartbeat

2026-03-29

Tags: [Dev Journal](/blog/tags/#Dev Journal) · Products · RDP · Windows

Prologue: The Uninvited Guest During Vibe Coding

I frequently connect to an RDP (Remote Desktop) machine over UDP to write code, settling into that focused and relaxed "vibe coding" state.

Inevitably, there are time-consuming operations along the way: waiting for a sluggish API, or a script grinding through a long, silent background task. When the screen freezes on a single window for ages, that's perfectly normal. Usually I just ignore it, browse the web, or lean back and wait.

But then I discovered something maddening: sometimes the task had long since finished — my RDP display had simply frozen solid.

I'm not sure if pure TCP connections suffer from the same issue (TCP latency is relatively higher, and I prefer the silkiness of UDP), but under UDP mode, this "Schrödinger's freeze" is very real.

The Worst Design: It Hasn't Disconnected — It's Just Gone Blind

If the network acts up and RDP pops up a dialog saying "Connection lost," that's actually a good thing — at least I know it's time to reconnect.

But the most agonizing scenario is that while the screen no longer updates, keyboard and mouse events are still being sent!

Picture this: I'm staring at a frozen screen, thinking the script hasn't finished. Growing impatient, I tentatively wiggle the mouse — the display remains unmoved. I blindly click around and jab at Enter a few times, trying to "wake it up"... nothing but dead silence.

Finally, I give up and manually close the RDP window, then reconnect. Only then do I discover in horror: all those blind clicks and keystrokes were executed on the remote machine. Operating without visual feedback is a developer's worst nightmare.

No Fancy Panels Needed — Just One Glance of Reassurance

My requirement was extremely simple and pure: a tiny thing, floating quietly in a corner of the screen forever.

If it's blinking, I know the display is updating in real-time, and I can peacefully wait for that API response. If it stops, I immediately realize: "Ah, it's frozen again, time to reconnect" — perfectly dodging a wave of blind-operation disasters.

A Happy Accident: The Mystical "Keep-Alive" Effect

And so, RDP Heartbeat was born. It was designed to be as unobtrusive as possible — click-through, absolutely never interfering with normal operations. Its sole mission: providing that tiny bit of "visual confirmation" you need most when working remotely.

But something interesting happened: once I started using it, I found that RDP display freezes became incredibly rare.

This was a complete surprise. My guess is that because the breathing light constantly performs pixel-level refreshes in the screen corner, this continuous display update acts as an application-layer "keep-alive" mechanism, maintaining an active data stream for the RDP session. Honestly, I haven't delved into the underlying network protocol mechanics, so I can't make definitive claims. Suffice it to say — it just magically works.

Since I Made It Anyway, Why Not Publish It (And the Pits I Fell Into)

Looking at this little thing blinking away in the corner, I figured since I'd already built it, other developers suffering the same pain might find it useful. So I decided to publish it on the Microsoft Store.

Turns out, this was an excruciatingly torturous decision.

Since I wrote it in Python, the entire packaging and publishing pipeline was a saga of blood and tears: Python source → PyInstaller exe → Inno Setup installer → final MSIX package. Compared to the smooth packaging experience of native WinUI 3, this workflow was a winding mountain road.

I also have to admit, a Python desktop app falls a bit short in visual polish.

Future Plans

When I have time, I plan to write a detailed article sharing the complete Python-to-MSIX packaging pipeline. It's definitely not the optimal solution, but it's a viable path — hopefully it can help others looking to publish their Python tools on the Store.

As for RDP Heartbeat itself, I hope to find time to completely rewrite it in native WinUI 3, making this little breathing light even smoother and more elegant.

If you frequently stare at frozen remote screens or suffer from RDP's unexpected display freezes, give this little tool a try. Hope it helps safeguard your good vibes during every coding session.

Get it from Microsoft Store

Learn more about RDP Heartbeat