Skip to content

De las operaciones RDP a ciegas hasta la publicación en MS Store: la historia de RDP Heartbeat

2026-03-29

Tags: [Diario de desarrollo](/es/blog/tags/#Diario de desarrollo) · Productos · RDP · Windows

Prólogo: El invitado inesperado durante el vibe coding

A menudo me conecto a una máquina RDP (Escritorio Remoto) por UDP para escribir código, entrando en ese estado de concentración relajada del «vibe coding».

En el proceso, inevitablemente aparecen operaciones que consumen tiempo: esperar una API lenta, o un script procesando silenciosamente en segundo plano. Cuando la pantalla se queda congelada en una ventana durante mucho tiempo, es completamente normal. Normalmente no le doy importancia, navego un rato o me recuesto a esperar.

Pero luego descubrí un fenómeno desquiciante: a veces la tarea ya había terminado — era mi pantalla RDP la que se había congelado por completo.

No estoy seguro de si las conexiones TCP puras sufren del mismo problema (la latencia TCP es relativamente alta, y prefiero la suavidad de UDP), pero en modo UDP, este «congelamiento de Schrödinger» existe sin duda alguna.

El peor escenario: No se ha desconectado — solo se ha quedado ciego

Si la red falla y RDP muestra «Conexión perdida», eso es realmente bueno — al menos sé que debo reconectarme.

Lo más tortuoso es que ¡aunque la pantalla ya no se actualiza, los eventos de teclado y ratón siguen respondiendo!

Imagínense la escena: miro una pantalla estática, pensando que el script no ha terminado. Impaciente, muevo el ratón — la pantalla no reacciona. Cliqueo a ciegas, presiono Enter varias veces intentando «despertarlo»... solo silencio.

Finalmente, cierro la ventana RDP y me reconecto. Solo entonces descubro con horror: todos esos clics y pulsaciones a ciegas se ejecutaron realmente en la máquina remota. Operar sin retroalimentación visual es la pesadilla de cualquier desarrollador.

No necesito paneles complejos — solo una mirada de tranquilidad

Mi requisito era extremadamente simple y puro: una cosita pequeña, flotando silenciosamente en una esquina de la pantalla, para siempre.

Si parpadea, sé que la pantalla se está actualizando en tiempo real y puedo esperar tranquilamente la respuesta de la API. Si se detiene, me doy cuenta inmediatamente: «Ah, se congeló otra vez, toca reconectar» — evitando perfectamente un desastre de operaciones a ciegas.

Una sorpresa agradable: El efecto «Keep-Alive» casi mágico

Así nació RDP Heartbeat. Diseñado para pasar lo más inadvertido posible — click-through, sin interferir jamás con las operaciones normales. Su única misión: proporcionar ese pequeño toque de «confirmación visual» que más necesita cuando trabaja de forma remota.

Pero ocurrió algo interesante: después de empezar a usarlo, los congelamientos de pantalla RDP se volvieron increíblemente raros.

Fue una sorpresa total. Mi teoría: como esta luz pulsante realiza actualizaciones a nivel de píxel constantemente en la esquina de la pantalla, esta actualización continua actúa como un mecanismo de «keep-alive» a nivel de aplicación, manteniendo un flujo de datos activo para la sesión RDP. Honestamente, no he investigado en profundidad los mecanismos del protocolo de red subyacente, así que no puedo afirmarlo con certeza. En resumen: funciona como por arte de magia.

Ya que lo hice, ¿por qué no publicarlo? (Y los obstáculos que encontré)

Mirando esta pequeña cosa parpadeando silenciosamente en la esquina, pensé que otros desarrolladores con el mismo problema podrían aprovecharla. Así que decidí publicarla en la Microsoft Store.

Resultó que esta fue una decisión increíblemente tortuosa.

Como lo escribí en Python, todo el proceso de empaquetado y publicación fue una odisea de sangre y lágrimas: Código fuente Python → exe con PyInstaller → instalador Inno Setup → finalmente paquete MSIX. Comparado con la experiencia fluida de empaquetado de WinUI 3 nativo, este flujo de trabajo era un camino de montaña lleno de curvas.

También debo admitir que una aplicación de escritorio en Python carece un poco de refinamiento visual.

Planes futuros

Cuando tenga tiempo, planeo escribir un artículo detallado sobre todo el proceso de empaquetado de Python a MSIX. No es la solución óptima, pero es un camino viable — espero que ayude a quienes quieran publicar sus herramientas Python en la Store.

En cuanto a RDP Heartbeat en sí, espero encontrar tiempo para reescribirlo completamente en WinUI 3 nativo, haciendo que esta pequeña luz pulsante sea aún más suave y elegante.

Si también pasa ratos mirando pantallas remotas congeladas o sufre de los congelamientos repentinos de RDP, pruebe esta pequeña herramienta. Espero que preserve el buen humor en cada una de sus sesiones de vibe coding.

Obtener en Microsoft Store

Más información sobre RDP Heartbeat