MAD Designer iconMAD

Das .mad-Dokumentformat

Dieses Dokument definiert, was eine .mad-Datei ist. Es beschreibt das Format so, wie es heute existiert, ermittelt aus zwei ausgelieferten Beispieldokumenten und dem Code, der sie liest und schreibt, und beschreibt anschließend das Format so, wie es definiert sein sollte, damit ein Leser auf einer anderen Plattform – ein Kommandozeilenwerkzeug, ein Windows-Build – ein Dokument öffnen kann, ohne auf Core Data oder ein Apple-Framework angewiesen zu sein.

Das Format ist wichtig, weil ein Bericht klein ist – die ausgelieferten Beispiele bleiben unter 80 KB – und weil die Engine, die ihn ausführt, auf ein Telefon und in einen Container passt: Dieselbe Definition läuft unter iOS, macOS und im headless Linux-Build. Wohin das Format führt – die Ergebnistabelle eines Berichts wird zur Datenquelle für andere Berichte, sodass ein Dokument mehrere Datenbanken umspannen kann – beschreibt vision.md. Die Spezifikation wird außerdem als Website unter https://docs.everydayapps.com bereitgestellt.

Alles in der ersten Hälfte ist gemessen, nicht abgeleitet. Die beiden Beispiele sind ../../MADDesigner/Resources/Assets/Samples.xcassets/Reports/Music.dataset/Music.mad und …/London.dataset/London.mad.


Das .mad-Format ist eine offene Spezifikation. Jeder darf sie lesen und implementieren. Die MIT-Lizenz gilt für den Code des Projekts. Die Namen „MAD“, „MAD Designer“ und „MAD Viewer“ sowie die Anwendungssymbole und das übrige Produkt-Artwork gehören dem Autor und sind nicht lizenziert; beschreibende Verweise auf .mad-Dateien und auf dieses Projekt sind willkommen. Siehe ../../LICENSE, ../../NOTICE und ../project/THIRD_PARTY_LICENSES.md.

Die Spezifikation ist als ein Kapitel pro Datei organisiert. Die Kapitel 1–6 beschreiben das Format in seiner ausgelieferten Form; Kapitel 7 ist das normative Ziel (v1); die Kapitel 8–9 behandeln die offenen Fragen und die Art der Verifikation:

  1. Was ein Dokument ist – in einem Satz
  2. Der Container
  3. Der Speicher
  4. Lesen und Schreiben, wie implementiert
  5. Was nicht im Dokument steht: die Begleitdateien
  6. Fallstricke, die ein zweiter Leser bewältigen muss
  7. Das Format, wie es definiert sein sollte
  8. Offene Fragen
  9. Verifikation

Diese Seite ist eine deutsche Übersetzung des englischen Originals; bei Abweichungen ist der englische Originaltext maßgeblich.