Notizen aus der Werkstatt

Das Archiv bleibt, wo es ist

Die eine architektonische Entscheidung, die alles andere in dieser App prägt, ist schnell gesagt und unbequem, tatsächlich um sie herum zu bauen: Die Fotoplatte wird streng schreibgeschützt geöffnet und nie beschrieben. Keine Begleitdatei neben den Originalen, kein versteckter Metadaten-Ordner, keine Umbenennung, keine verschobene Kopie. Die Festplatte, die hereinkommt, ist die Festplatte, die wieder herausgeht, Byte für Byte.

Diese Einschränkung schließt jedes Tool aus, das deine Dateien „organisiert", indem es sie verschiebt oder umbenennt. Sie schließt auch aus, abgeleiteten Zustand (Vorschaubilder, Gesichts-Embeddings, Ereignisgrenzen) irgendwo in der Nähe der Originale zu speichern. Alles, was die App über ein Archiv lernt, muss woanders leben, also musste ich früh entscheiden, wo das sein würde.

Alles Abgeleitete lebt auf der internen Festplatte

Die Antwort ist SQLite, auf der internen Festplatte des Macs, nicht auf der externen Festplatte. Der Index (Daten, Gesichter, Ereignisgrenzen, Embeddings für die Suche) und der Vorschaubild-Cache leben dort beide, vollständig getrennt vom Archiv selbst. Lösche das Datenverzeichnis der App, und das Archiv ist nachweislich unberührt, weil nichts am Archiv je von der Existenz dieses Verzeichnisses abhing. Installiere neu von Grund auf, und die App baut ihr Verständnis wieder auf, indem sie die Festplatte erneut liest, nicht indem sie einem Backup ihres eigenen Zustands vertrauen muss.

Das Write-Ahead-Log von SQLite zählte in der Praxis am meisten. Während der Entwicklung gab es zwei harte Abstürze, echte Stromausfälle und keine simulierten Fehler, mitten im Schreibvorgang, während die Analyse gegen ein echtes Archiv lief. Beide Male bedeutete WAL-Journaling null Datenverlust: Die Datenbank kam beim nächsten Start in einem konsistenten Zustand wieder hoch und machte ungefähr dort weiter, wo sie aufgehört hatte, ohne manuelle Reparatur. Mit einer externen Festplatte, einer stundenlang laufenden Hintergrund-Analyse und einem Haushalt, in dem gelegentlich das Kabel angestoßen wird, wurde sie vor dem Launch echt getestet, zweimal.

Was „es lesen" tatsächlich zurückgewinnt

Eine Schreibschutz-Garantie ist nur so nützlich wie das, was man unter ihr tatsächlich auslesen kann, und Metadaten in einem echten Familienarchiv sind unordentlicher als eine saubere Testmenge. Im Gründungsarchiv trugen 92 % der Dateien von sich aus verwendbare EXIF-Daten. Die verbleibenden 8 % brauchten Ausweichlösungen, nämlich Dateisystem-Zeitstempel, Datumsangaben aus Ordnernamen und Ableitung aus benachbarten Fotos im selben Ereignis, und danach erreichte die Abdeckung 98,1 %. Die letzten zwei Prozent sind der Boden: Manche Dateien tragen weder in sich noch um sich herum ein Datumssignal, und keine Ausweichkette kann eines erfinden.

92%
Dateien mit verwendbaren EXIF-Daten
98,1%
Datumsabdeckung nach Ausweichlösungen
2×
harte Stromausfälle ohne Datenverlust überstanden

Durchsuchbar, bevor das Verständnis fertig ist

Schreibgeschützte Originale mit abgeleitetem Zustand anderswo lösen das Sicherheitsproblem. Dazu kommt ein Geduldsproblem: Eine vollständige Analyse eines großen Archivs dauert Stunden, und niemand will einen Fortschrittsbalken anstarren, bevor er ein einziges Foto sieht. Die Bibliothek wird innerhalb von Minuten durchsuchbar, nachdem die App zum ersten Mal auf eine Festplatte gerichtet wurde, weil ein früher Durchlauf genug vom Index und genug Vorschaubilder für das grundlegende Durchsehen bereitstellt. Die tieferen Durchläufe (Gesichts-Clustering, Ereignisbenennung, die Embeddings hinter der Bedeutungssuche) laufen dahinter weiter und liefern reichhaltigere Antworten nach, während du schon Fotos ansiehst.

Ressourcen-Governance ist eine Regel, kein Vorschlag

Eine Analyse, die einige Hunderttausend Dateien liest, ist schwere Arbeit, und schwere Hintergrundarbeit auf dem einzigen Mac einer Person ist der Weg, auf dem aus lokaler KI ein Laptop wird, der heiß läuft, während man ihn eigentlich benutzen will. Die Grenzen sind harte Regeln: Hintergrund-QoS-Priorisierung, damit die Analyse nie mit Vordergrundarbeit konkurriert, Worker-Anzahlen, die sich innerhalb von Sekunden zurückziehen, sobald die Nutzerin oder der Nutzer aktiv wird, eine Obergrenze für den Speicherverbrauch und eine Pause bei Akku- oder Wärmedruck. Eine vollständige Analyse auf einem Basis-Mac sollte nichts sein, das man spüren kann. Wenn doch, ist das ein Fehler.

Schreibgeschützte Originale, abgeleiteter Zustand auf der internen Festplatte, absturzsicheres Journaling und Ressourcengrenzen, die halten, ergeben zusammen eine nüchterne Ingenieurs-Position. Die KI läuft auf dem Gerät, und darüber hinaus gibt es keinen Server, dem man vertrauen müsste. Jede dieser Garantien muss also nur für eine einzige Maschine stimmen, die auf deinem Schreibtisch steht und der du ohnehin alles andere anvertraust.

Probiere die Schreibschutz-Garantie auf deiner eigenen Festplatte aus
Die App öffnet deine Fotoplatte schreibgeschützt und legt alles, was sie lernt, auf der internen Festplatte des Macs ab. Kostenlos testen (100 Fotos aus jedem Jahr), einmalig $59 zum Freischalten.
Kostenlos für den Mac laden
← Zurück zu allen Beiträgen