Skip to content

Von RDP-Blindoperationen bis zum MS Store: Die Entstehungsgeschichte von RDP Heartbeat

2026-03-29

Tags: Entwicklertagebuch · Produkte · RDP · Windows

Vorwort: Der ungeladene Gast beim Vibe Coding

Ich verbinde mich regelmäßig über UDP mit einem RDP-Remotedesktop, um Code zu schreiben, und versetze mich in diesen fokussierten, entspannten «Vibe Coding»-Zustand.

Dabei gibt es unvermeidlich zeitaufwendige Vorgänge: Warten auf eine träge API oder ein Skript, das im Hintergrund endlos still vor sich hinarbeitet. Wenn der Bildschirm dabei minutenlang auf einem Fenster stehen bleibt, ist das völlig normal. Normalerweise ignoriere ich das einfach, surfe im Web oder lehne mich zurück und warte.

Aber dann entdeckte ich ein haarsträubendes Phänomen: Manchmal war die Aufgabe längst erledigt — nur mein RDP-Bildschirm war komplett eingefroren.

Ob reine TCP-Verbindungen dasselbe Problem haben, weiß ich nicht (TCP-Latenz ist ohnehin höher, und ich bevorzuge die Geschmeidigkeit von UDP), aber im UDP-Modus existiert dieses «Schrödingers Einfrieren» ganz definitiv.

Das schlimmste Szenario: Nicht getrennt — nur blind

Wenn das Netzwerk schlecht ist und RDP ein Fenster mit «Verbindung getrennt» einblendet, ist das eigentlich eine gute Sache — wenigstens weiß ich, dass ich mich neu verbinden muss.

Am quälendsten ist jedoch: Obwohl sich die Anzeige nicht mehr aktualisiert, werden Tastatur- und Mausereignisse immer noch gesendet!

Stellen Sie sich das vor: Ich starre auf einen eingefrorenen Bildschirm und denke, das Skript sei noch nicht fertig. Ungeduldig bewege ich die Maus — keine Reaktion. Ich klicke blindlings herum und hämmere auf die Enter-Taste, um es «aufzuwecken»... nichts als Stille.

Schließlich schließe ich das RDP-Fenster manuell und verbinde mich neu. Erst dann stelle ich entsetzt fest: Alle blinden Klicks und Tastenanschläge wurden auf der Remotemaschine tatsächlich ausgeführt. Bedienung ohne visuelles Feedback ist der Albtraum eines jeden Entwicklers.

Keine komplizierten Panels — nur ein beruhigender Blick

Meine Anforderung war extrem einfach und pur: Ein kleines Ding, das für immer leise in einer Bildschirmecke schwebt.

Solange es blinkt, weiß ich, dass das Bild in Echtzeit aktualisiert wird, und kann beruhigt auf die API-Antwort warten. Wenn es stehen bleibt, realisiere ich sofort: «Ah, wieder eingefroren, neu verbinden» — und entgehe einer Katastrophe blinden Herumklickens.

Ein glücklicher Zufall: Der magische «Keep-Alive»-Effekt

Und so wurde RDP Heartbeat geboren. Klick-through, absolut unaufdringlich — so gestaltet, dass man seine Existenz fast vergisst. Seine einzige Mission: Ihnen das kleine bisschen «visuelle Bestätigung» zu geben, das Sie bei der Remote-Arbeit am meisten brauchen.

Aber etwas Interessantes passierte: RDP-Bildschirmeinfrierungen traten plötzlich kaum noch auf.

Das war eine komplette Überraschung. Meine Vermutung: Da das Atemlicht in der Bildschirmecke ständig pixelaktualisiert wird, wirkt diese fortlaufende Bildaktualisierung als eine Art «Keep-Alive»-Mechanismus auf Anwendungsebene, der einen aktiven Datenstrom für die RDP-Sitzung aufrechterhält. Ehrlich gesagt habe ich die zugrunde liegenden Netzwerkprotokollmechanismen nicht tiefgehend untersucht, also möchte ich keine voreiligen Schlüsse ziehen. Kurzum: Es funktioniert wie durch Zauberhand.

Da ich es schon hatte, warum nicht veröffentlichen (und die Fallgruben)

Als ich dieses kleine, in der Ecke leise blinkende Ding betrachtete, dachte ich: Da ich es schon gebaut habe, könnten vielleicht andere equally frustrierte Entwickler es gebrauchen. Also beschloss ich, es im Microsoft Store zu veröffentlichen.

Es stellte sich heraus: Das war eine unglaublich quälende Entscheidung.

Da ich es in Python geschrieben hatte, war die gesamte Verpackungs- und Veröffentlichungspipeline eine Odyssee aus Blut und Tränen: Python-Quellcode → PyInstaller exe → Inno Setup-Installer → schließlich MSIX-Paket. Im Vergleich zur nahtlosen Verpackungserfahrung von nativem WinUI 3 war dieser Workflow ein windungsreicher Bergpfad.

Ich muss auch zugeben, dass eine Python-Desktop-App bei der visuellen Raffinesse etwas zurückbleibt.

Zukunftspläne

Wenn ich Zeit habe, plane ich einen ausführlichen Artikel über die gesamte Python-zu-MSIX-Verpackungspipeline. Zwar ist es sicher nicht die optimale Lösung, aber es ist ein machbarer Weg — hoffentlich hilft er anderen, die ihre Python-Tools im Store veröffentlichen wollen.

Was RDP Heartbeat selbst betrifft, hoffe ich, wenn andere Projekte abgeschlossen sind, Zeit zu finden, um es komplett in nativem WinUI 3 neu zu schreiben und dieses kleine Atemlicht noch geschmeidiger und eleganter zu machen.

Wenn Sie auch oft vor eingefrorenen Remote-Bildschirmen sitzen oder unter RDPs plötzlichen Einfrierungen leiden, probieren Sie dieses kleine Tool aus. Hoffentlich bewahrt es die gute Stimmung in jeder Ihrer Vibe-Coding-Sessions.

Aus dem Microsoft Store herunterladen

Mehr über RDP Heartbeat erfahren