Preskočiť na obsah
Klient: Vlastný produkt, macOS aplikácia
  • Vlastný produkt
  • macOS
  • Otvorený kód
Stav projektu: Live

Eject Guard

Notarizovaná macOS appka, ktorá chráni zálohy pred vytiahnutím kábla.

eject-guard.pxlNáhľad 1 / 3
Načítavam náhľad projektu…
Menu Eject Guard pod ikonou v menu bare, ktorá je vľavo aj zväčšená: disk Time Machine sa zálohuje na 42 % a o sedem minút začína stretnutie. Päť minút vopred aplikácia zálohu zastaví a disk odpojí, ikona vyskočí z menu baru a pristane na prerušovanom obryse. Po stretnutí sa disk znova pripojí a Time Machine pokračuje v zálohe.
Pred stretnutím Eject Guard zálohu korektne zastaví a disk odpojí. Kto kábel nevytiahol, má disk po stretnutí späť a záloha pokračuje.
Menu Eject Guard vo svetlom režime so zoznamom diskov, priebehom zálohy a najbližším stretnutím
Menu vo svetlom režime: označené disky, záloha na 42 % a čas, kedy sa disky pred stretnutím vysunú.
Menu Eject Guard v tmavom režime s rovnakým obsahom
Tmavý režim: rovnaké informácie, rovnako čitateľné. Kontrast textu je zmeraný, nie odhadnutý.

Fakty o projekte

Platforma
macOS 14+ · Apple Silicon
Podpis
Developer ID + Apple notarizácia
Jazyky
SK · CS · EN · DE
Distribúcia
GitHub Releases · automatické aktualizácie
Technológie
  • Swift 6
  • SwiftUI
  • EventKit
  • Sparkle
  • XCTest
  • GitHub Actions

Zadanie

Eject Guard je macOS aplikácia, ktorá pred stretnutím sama bezpečne odpojí externé disky, aby vytiahnutý kábel nepoškodil dáta ani zálohu. Stráži akýkoľvek externý disk, sleduje kalendár, rozozná skutočné stretnutie od blokovaného času, korektne zastaví prebiehajúcu zálohu Time Machine a disky vysunie päť minút vopred. Je podpísaná Developer ID certifikátom, notarizovaná spoločnosťou Apple a aktualizuje sa sama.

Notebook v ruke, o minútu stretnutie a na disk so zálohou si človek spomenie, až keď je kábel vonku. Pri klasickom pevnom disku uprostred zálohy Time Machine je to spoľahlivý spôsob, ako zálohu poškodiť. Eject Guard sme postavili, aby na to myslel za vás: pozrie do kalendára a disky odpojí skôr, než vstanete od stola. Funguje s akýmkoľvek externým diskom, záloha Time Machine je len najčastejší prípad. Sami ho používame a je zverejnený ako open source.

Čo sme urobili

Disk je odpojený skôr, než vstanete od stola

Aplikácia sleduje kalendár a päť minút pred stretnutím vysunie disky, ktoré ste označili. Čas vopred si nastavíte. Príde notifikácia a kábel môžete pokojne vytiahnuť. Nič netreba pamätať ani klikať, a keď sa stretnutie zruší, aplikácia to zistí a disky nechá tak.

Rozozná stretnutie od blokovaného času

Za stretnutie považuje len udalosť s ďalšími účastníkmi, ktorú ste neodmietli. Bloky ako Focus alebo Obed ju nespustia, a to bez porovnávania názvov. Jedno konkrétne stretnutie sa dá jedným klikom preskočiť a preskočenie sa dá vrátiť.

Záloha sa ukončí korektne, nie násilne

Ak Time Machine práve zapisuje na daný disk, aplikácia zálohu najprv riadne zastaví a až potom disk vysunie. Zálohy na iné disky nechá bežať. Keď disk vysunúť nejde, povie, ktorá aplikácia ho drží, aby ste kábel nevyťahovali naslepo.

Bezpečnosť ako pravidlo, nie ako sľub

Aplikácia sa nikdy nedotkne systémového disku ani disku, ktorý ste neoznačili, a disky rozoznáva podľa identifikátora, nie podľa názvu. Tieto pravidlá strážia automatické testy, takže ich neporuší ani budúca úprava. Kalendár sa číta iba lokálne a na internet sa aplikácia pripája len kvôli aktualizáciám.

Doručená ako hotový produkt

Štyri jazyky vrátane slovenčiny a češtiny, podpis Developer ID, notarizácia Apple a automatické aktualizácie s overeným podpisom. Keď sa v prevádzke objavila chyba, opravená a podpísaná aktualizácia vyšla hneď na druhý deň, spolu s testom, ktorý tú istú chybu už nepustí späť.

Čo to znamená pre váš projekt?

Eject Guard robí prácu, na ktorú si človek spomenie neskoro: päť minút pred stretnutím sám vysunie disky. Má pevne stanovené, čoho sa nikdy nedotkne, teda systémového disku a disku, ktorý ste neoznačili, a tieto pravidlá strážia automatické testy pri každej úprave. Keď disk vysunúť nejde, povie, ktorá aplikácia ho drží, aby ste kábel nevyťahovali naslepo. A keď sa v prevádzke objavila chyba, oprava vyšla na druhý deň aj s testom, ktorý ju nepustí späť. Úlohu, ktorá vo vašej firme závisí od toho, či si na ňu niekto spomenie, sa oplatí zveriť aplikácii. Musí však mať jasné hranice a ozvať sa, keď svoju prácu urobiť nemôže.

Odkazy

Chcete podobný projekt?

Pošlite nám pár viet o projekte. Ozveme sa s návrhom ďalšieho kroku.

Napísať nám