3 Punkte von GN⁺ 2024-07-04 | 1 Kommentare | Auf WhatsApp teilen
  • Der Ursprung von Apples DS_Store

  • Wer Mac nutzt oder schon einmal Dateien von einem Mac auf Windows übertragen hat, kennt wahrscheinlich die Datei .DS_Store

  • Der Ursprung dieses Namens reicht bis ins Jahr 1999 zurück

  • Der Autor war damals technischer Leiter des Mac-OS-X-Finders bei Apple

  • Die Finder-Codebasis war 8 Jahre alt und hatte das Ende ihrer nützlichen Lebensdauer erreicht

  • Änderungen daran erforderten einen enormen Engineering-Aufwand, und bei Änderungen gingen oft zwei oder drei nicht zusammenhängende Funktionen kaputt

  • Es wurde beschlossen, den Finder für Mac OS X von Grund auf neu zu schreiben

  • Ein Teil der Arbeit bestand darin, die Benutzeroberfläche von der Kernfunktionalität, also dem Backend, zu trennen

  • Das Backend des Finders zählt Dateien auf, überwacht Änderungen im Dateisystem und verarbeitet Metadaten

  • Intern waren diese beiden Komponenten als Finder_FE und Finder_BE bekannt (Frontend und Backend)

  • Man erkannte, dass das Finder-Backend auch außerhalb des Finders nützlich sein würde

  • Es gab Pläne, daraus eine öffentliche API zu machen

  • Da der Autor zuvor für die Benennung von Icon Services und Navigation Services verantwortlich war, wählte er den Namen Desktop Services

  • .DS_Store steht für "Desktop Services Store"

  • Der Punkt am Anfang wurde hinzugefügt, damit die Datei unter Unix-Betriebssystemen, einschließlich Mac OS, als unsichtbare Datei gilt

  • Persönlich hält der Autor diesen Namen nicht für besonders gut und meint, man hätte einen aussagekräftigeren Namen wählen sollen

  • Ein Bug, der zur übermäßigen Erstellung von .DS_Store-Dateien führt, ist bis heute nicht behoben

  • Eigentlich sollten sie nur erzeugt werden, wenn der Nutzer Anzeigeeinstellungen anpasst oder die manuelle Position von Symbolen in einem Ordner festlegt

  • Stattdessen ist es praktisch garantiert, dass beim Besuch eines Ordners eine .DS_Store-Datei erzeugt wird

  • Finder_BE, also Desktop Services, wird auch außerhalb des Finders verwendet

  • Auch Navigation Services (Öffnen-/Speichern-Dialoge) nutzt es

  • Die Desktop-Services-API ist jedoch noch immer nicht vollständig öffentlich


  • Veröffentlicht am 1. Oktober 2006
  • Von Arno Gourdol

Meinung von GN⁺

  • Dieser Beitrag liefert technischen Hintergrund, indem er die Geschichte des Mac-OS-X-Finders und den Ursprung der Datei .DS_Store erklärt
  • Das Problem der übermäßigen Erstellung von .DS_Store-Dateien ist weiterhin ungelöst und kann die Nutzererfahrung beeinträchtigen
  • Die Wiederverwendbarkeit des Finder-Backends zeigt Apples Philosophie beim Softwaredesign
  • Andere Dateisystem-Verwaltungstools mit ähnlichen Funktionen sind etwa NTFS unter Windows und ext4 unter Linux
  • Bei der Einführung neuer Technologien oder von Open Source sollte man Kompatibilität mit bestehenden Systemen und Wartungsfragen berücksichtigen

1 Kommentare

 
GN⁺ 2024-07-04
Hacker-News-Kommentare
  • Das Konzept der „Forks“ im Mac-Dateisystem bedeutet, dass Ressourcen- und Datenkomponenten als Paar existieren

    • Unter Unix befanden sich Metadaten im Inode des Verzeichnisblocks und mussten strukturell durch tar, cpio, zip usw. dargestellt werden
    • Um unter Unix Unterstützung für Mac-kompatible Dateien zu implementieren, musste der Resource Fork als Bürger erster Klasse behandelt werden
    • Moderne Dateisysteme haben größere Verzeichnisblockstrukturen und können Daten besser verarbeiten
  • Es gab einmal eine Möglichkeit, die Erstellung von .DS_Store-Dateien zu deaktivieren, aber sie wurde entfernt

    • Ich habe ein Programm geschrieben, das .DS_Store-Dateien sofort nach ihrer Erstellung löscht
    • Programmlink
  • Ich verstehe nicht, warum .DS_Store-Dateien im selben Ordner liegen müssen

    • Könnte das Betriebssystem nicht eine eigene Datenbank haben, die auf Pfade verweist?
  • .DS_Store-Dateien sollten nur erzeugt werden, wenn der Benutzer die Ansichtseinstellungen eines Ordners anpasst oder die manuelle Position von Symbolen festlegt

    • Wenn man einen Ordner im Finder besucht, wird fast immer eine .DS_Store-Datei erzeugt
    • Man kann Aussehen und Größe des Ordnerfensters im Finder anpassen, aber wenn man denselben Ordner in einem Browserfenster öffnet, verschwinden die meisten dieser Anpassungen
    • Das Problem entsteht, weil man keine Standardkonfiguration für Browserfenster festlegen kann
  • Bereits 1999 waren Apps in Frontend und Backend aufgeteilt

    • Sie waren als Finder_FE und Finder_BE bekannt
  • Erwähnenswert ist die Möglichkeit, die Erstellung von .DS_Store-Dateien beim Durchsuchen von Netzwerk-Volumes standardmäßig zu deaktivieren

    • Andernfalls wird beim Durchsuchen mit dem Finder der Änderungszeitstempel des Verzeichnisses aktualisiert
    • Zugehöriger Link
  • Jedes Mal, wenn ich eine .DS_Store-Datei sehe, muss ich an Nintendo DS denken

  • Für Nicht-Mac-Nutzer ist es etwas lästig, dass beim Herunterladen einer .tgz-Datei von Github .DS_Store-Dateien enthalten sind

    • macOS scheint GNU tar zu verwenden
    • Es ist überraschend, dass es nicht so angepasst wurde, dass .DS_Store-Dateien standardmäßig ignoriert werden
  • Ich bin ein großer Fan von macOS, aber der Finder ist einer der dümmsten Dateimanager überhaupt

  • .DS_Store-Dateien sind eine unglückliche Existenz

    • Sie haben zwar einen Zweck, wirken auf die meisten Menschen aber wie Dateimüll
    • Aus UX-Sicht ist das nicht sehr Apple-typisch
    • Bei der Nutzung von System 7.5/OSX und Windows hatte der Mac die Tendenz, unnötige Dateien nicht anzeigen zu wollen