Studija slučaja
Lični projekat · Windows aplikacija
AutoDark: promena Windows teme, objavljeno na Microsoft Store.
Automatsko prebacivanje između svetlog i tamnog režima u sistemu Windows 11 pri izlasku i zalasku sunca. Jednostavan alat sa ON/OFF prekidačem, koji je napravio Danilo Stoletovic i objavio na Microsoft Store.
Aplikacija
Problem
Godinama sam želeo da Windows prati dnevno svetlo. Alternative koje sam probao donosile su više komplikacija i rada u pozadini nego što sam želeo. Jednostavna Windows funkcija ne bi trebalo da zahteva komplikovan softver. Hteo sam prekidač, a ne još jedan hobi.
Rešenje
Napravio sam nativnu .NET aplikaciju za Windows sa minimalnim ON/OFF interfejsom. AutoDark izračunava izlazak i zalazak sunca na osnovu lokacije iz sistema Windows ili ručno unetih koordinata, koristi svetli režim danju i tamni noću, a zakazana izvršavanja prepušta komponenti Windows Task Scheduler. Zatvaranjem prozora aplikacija se gasi; prebacivanjem automatizacije na OFF uklanja se zadatak i vraćaju sačuvana podešavanja teme.
Ne širi posao bez potrebe
Jasno ograničena funkcionalnost i mala potrošnja resursa u pozadini bili su zahtevi pri projektovanju. Nema ikonice u sistemskoj traci ni stalno aktivnog servisa: Windows po potrebi pokreće kratka izvršavanja. Bez naloga, bez telemetrije, bez lavirinta podešavanja. To su arhitektonske odluke, a ne rezultati testova performansi.
Paket menja pravila
Integracija sa Windows temama morala je da uzme u obzir ponašanje MSIX paketa. Aplikacija bez paketa koristi ciljane izmene registra; trenutna verzija u paketu primenjuje kopiranu temu preko komponente Windows Theme Manager, menjajući svetli i tamni režim bez primene pozadine, kursora, ikonica i zvukova. Taj interfejs nije dokumentovan, pa kompatibilnost treba testirati, a ne pretpostavljati. Zakazano pokretanje aplikacije u paketu koristi pseudonim za izvršavanje koji ne zavisi od verzije, umesto instalacione putanje koja sadrži verziju.
Sandbox je rekao ne
Slanje u prodavnicu značilo je i bavljenje ograničenjima dozvoljenih mogućnosti. Odbijena mogućnost unvirtualizedResources je uklonjena. U zasebnom AppContainer eksperimentu, pokretanje probnog programa i inicijalizacija komponente Theme Manager su uspeli, ali je primena priložene teme kojoj je moglo da se pristupi radi čitanja odbijena, a pristup komponenti Task Scheduler nije uspeo. To je bilo istraživanje, a ne objavljena sandbox funkcija. Trenutni produkcioni manifest zadržava runFullTrust za izvršavanje u okviru običnog korisničkog naloga na računaru; ne traži podizanje na administratorske privilegije. Ovi lokalni eksperimenti ne dokazuju ponašanje na svakoj verziji sistema Windows niti utvrđuju tačnu verziju paketa koja je trenutno navedena u prodavnici.
Isporuka je deo inženjerskog posla
Napravio sam MSIX pakovanje i validaciju koji obuhvataju identitet paketa aplikacije, verziju, resurse i pseudonim za izvršavanje, uz paket pripremljen za ručno slanje preko Partner Center portala. Podaci za stranicu u prodavnici, izjave o privatnosti i mogućnostima aplikacije, ograničenja dozvola i provere kompatibilnosti — sve to spada u posao isporuke. Samo uspešno kompajliranje neće dovesti aplikaciju do korisnika.
Rezultat
AutoDark je funkcionalna aplikacija javno dostupna preko Microsoft Store, pod imenom izdavača Danilo Stoletovic. To je važan korak: pravi alat koji ljudi mogu da instaliraju preko javnog kanala distribucije. Objava u prodavnici znači distribuciju, a ne Microsoft preporuku.
Dugme je bilo lakši deo
Mali interfejs može da sakrije ozbiljan rad sa platformom. Pakovanje menja ponašanje pri izvršavanju. Modeli dozvola mogu da blokiraju osnovnu funkciju. Distribucija ima svoje zahteve. Pouka: isporuka softvera podrazumeva kompatibilnost, pakovanje i dolazak do korisnika, a ne samo pisanje koda.
Proveri lično
Povezana usluga: Veb aplikacije i AI integracije
Moj tehnološki skup
Majstor za sve. Ekspert ni za šta.
I opet isporučim celu jebenu stvar