Dan Delivers

Caso de estudio

Proyecto propio · App para Windows

AutoDark: cambio de tema en Windows, publicado en Microsoft Store.

Cambio automático entre los modos claro y oscuro de Windows 11 al amanecer y al atardecer. Una utilidad con un simple interruptor ON/OFF, desarrollada por Danilo Stoletovic y publicada en Microsoft Store.

La aplicación

  • Icono de la aplicación AutoDark
  1. El problema

    Llevaba años queriendo que Windows se adaptara a la luz del día. Las alternativas que probé añadían más complejidad y actividad en segundo plano de la que quería. Una función sencilla de Windows no debería necesitar software complicado. Quería un interruptor, no otra afición.

  2. La solución

    Desarrollé una app nativa para Windows en .NET con una interfaz mínima de ON/OFF. AutoDark calcula el amanecer y el atardecer a partir de la ubicación de Windows o de coordenadas introducidas manualmente, usa el modo claro de día y el oscuro de noche, y delega las ejecuciones programadas en Windows Task Scheduler. Al cerrar la ventana, la app se cierra; al poner la automatización en OFF, se elimina la tarea y se restaura la configuración del tema guardada.

  3. Hacer poco, y hacerlo bien

    Una funcionalidad bien delimitada y un bajo consumo de recursos en segundo plano fueron requisitos de diseño. No hay icono en la bandeja del sistema ni servicio residente: Windows inicia ejecuciones breves cuando hacen falta. Sin cuenta, sin telemetría, sin un laberinto de ajustes. Son decisiones de arquitectura, no resultados de pruebas de rendimiento.

  4. Empaquetar cambia las reglas

    La integración con los temas de Windows tuvo que tener en cuenta el comportamiento de MSIX. La app sin empaquetar realiza cambios puntuales en el registro; la implementación empaquetada actual aplica una copia de un tema mediante Windows Theme Manager, cambiando los modos claro y oscuro sin aplicar el fondo de pantalla, los cursores, los iconos ni los sonidos. Esa interfaz no está documentada, así que la compatibilidad hay que probarla, no darla por hecha. La app empaquetada programada usa un alias de ejecución independiente de la versión en lugar de una ruta de instalación vinculada a una versión.

  5. El entorno aislado dijo que no

    Enviar la app a la tienda también implicó lidiar con restricciones de capacidades. Se eliminó la capacidad unvirtualizedResources tras su rechazo. En un experimento aparte con AppContainer, se logró ejecutar el programa de prueba e inicializar Theme Manager, pero se denegó la aplicación de un tema incluido en el paquete y accesible para lectura, y falló el acceso a Task Scheduler. Fue una investigación, no una función en entorno aislado incluida en la versión publicada. El manifiesto de producción actual conserva runFullTrust para ejecutarse con los permisos habituales de un usuario de escritorio; no solicita elevación a administrador. Estos experimentos locales no demuestran el comportamiento en todas las compilaciones de Windows ni identifican la versión exacta del paquete que figura actualmente en la tienda.

  6. Publicar también es ingeniería

    Preparé el empaquetado y la validación de MSIX en torno a la identidad del paquete de la aplicación, su versión, sus recursos y su alias de ejecución, con un paquete listo para enviarlo manualmente a Partner Center. Los detalles de la ficha, las declaraciones de privacidad y capacidades, las restricciones de permisos y las comprobaciones de compatibilidad también forman parte de la entrega. Que compile sin errores no basta para poner una app en manos de alguien.

  7. El resultado

    AutoDark es una aplicación funcional disponible públicamente en Microsoft Store, bajo el nombre de editor Danilo Stoletovic. Ese es el hito: una utilidad real que cualquiera puede instalar a través de un canal de distribución público. Publicarla en la tienda es una vía de distribución, no un respaldo de Microsoft.

  8. El botón era la parte fácil

    Una interfaz pequeña puede ocultar mucho trabajo de plataforma. El empaquetado cambia el comportamiento de ejecución. Los modelos de permisos pueden bloquear la función principal. La distribución tiene sus propios requisitos. La lección: entregar software incluye comprobar la compatibilidad, empaquetarlo y hacerlo llegar a los usuarios, no solo escribir el código.

Consigue AutoDark en Microsoft Store (se abre en una pestaña nueva)

Publicada con el nombre de Danilo Stoletovic en Microsoft Store.

Compruébalo tú mismo

Servicio relacionado: Aplicaciones web e integraciones de IA

Mi stack

Aprendiz de todo. Maestro de nada.
Pero aun así saco adelante todo el puto proyecto

  • React
  • TypeScript
  • Node.js
  • Python
  • Kotlin
  • Flutter
  • C#
  • Docker
  • Linux
  • Cloudflare
  • Vercel

¿Tienes un problema parecido?