Warum wir noch einen Markdown-Editor entwickelt haben
Es gibt bereits viele Markdown-Editoren – warum also noch einen entwickeln? Nicht, weil es an Funktionen mangelt, sondern weil die Werte, die ein Produkt offenlegt, die Spuren, die das Speichern hinterlässt, und das Gefühl unter den Fingerspitzen noch nie gemeinsam in einem einzigen Produkt gestimmt haben.

Jedes Mal, wenn ich einen Markdown-Editor auswählte, musste ich auf etwas verzichten.
Apps mit komfortabler Inline-Bearbeitung veränderten die Datei beim Speichern. Apps, die die Datei unverändert bewahrten, ließen beim Bearbeiten zu wünschen übrig. Apps mit umfangreichen Notizfunktionen waren selbst zum Öffnen eines einzigen Dokuments zu schwerfällig.
Am Ende hatte ich immer zwei Editoren gleichzeitig geöffnet.
Deshalb begann ich, mote zu entwickeln. Einen Editor, der alle drei Anforderungen erfüllt.
- Markdown-Zeichen verbergen und direkt bearbeiten
- Die von mir geschriebene Datei unverändert speichern
- Ohne Web-Engine leichtgewichtig arbeiten
Es gibt bereits viele Produkte, die jeweils eine dieser Anforderungen erfüllen. Aber ich konnte keines finden, das alle drei gleichzeitig erfüllt.
Über Leichtgewichtigkeit spreche ich in Zahlen
Die meisten Markdown-Editoren mit Inline-Bearbeitung verwenden eine Web-Engine wie WebKitGTK oder Chromium. Dabei wird Markdown in HTML umgewandelt und im Browser dargestellt.
Das erleichtert die Implementierung, verursacht aber Kosten. Es ist, als würde neben dem Dokument noch ein Browser mitlaufen. Die Zahl der Prozesse und der Speicherverbrauch steigen, und auch Tasteneingaben durchlaufen mehrere Schritte.
Nur wenige Produkte legen diese Kosten jedoch offen. Auf den Produktseiten bleibt statt Angaben zur CPU-Auslastung im Leerlauf oder zur Eingabeverzögerung nur das Wort „leichtgewichtig“ stehen.
mote macht es anders.
CPU-Auslastung im Leerlauf, Speicherverbrauch, Eingabeverzögerung und Startzeit werden auf demselben Computer auf dieselbe Weise gemessen. Auch die Messskripte und Rohdaten befinden sich im Repository. Builds, die das festgelegte Leistungsbudget überschreiten, werden nicht veröffentlicht.
Auch für Vergleiche werden nur Werte verwendet, die zum selben Zeitpunkt gemessen wurden. Werte, die nicht gemessen werden konnten, werden nicht als 0 angegeben, sondern als nicht gemessen gekennzeichnet.
Denn Leichtgewichtigkeit sollte kein Gefühl, sondern ein Messwert sein.
Beim Speichern wird die Datei nicht verändert
Wenn man Dokumente mit git verwaltet, stößt man manchmal auf seltsame Diffs.
Obwohl man nur eine Zelle in einer Tabelle geändert hat, erscheinen im nächsten Commit auch zahlreiche unveränderte Zeilen. Das liegt daran, dass der Editor beim Speichern die Abstände oder die Ausrichtung der Tabelle neu angepasst hat. Die eine von mir geänderte Zeile vermischt sich dann mit zwanzig vom Editor geänderten Zeilen.
Nicht alle Inhalte werden verändert. Es gibt auch Editoren, die Zeilenumbrüche und aufeinanderfolgende Leerzeichen gut bewahren. Unterschiede entstehen hauptsächlich bei Tabellen und Ausrichtungen. Auch die Funktion, Dateien unverändert zu speichern, gibt es nicht nur bei mote.
Trotzdem hielt ich sie für eine unverzichtbare Voraussetzung.
Bei mote ist der Text die Grundlage. Die Bytes der Datei werden unverändert in den Puffer geladen, und fett dargestellte Zeichen, Tabellen und Formeln werden darüber gezeichnet. Beim Speichern wird der Puffer unverändert auf die Festplatte geschrieben.
Die Darstellung darf sich verschönern, aber die Datei wird nicht heimlich verändert.

Zuerst sorgen wir dafür, dass die koreanische Eingabe richtig funktioniert
Die subtilen Unannehmlichkeiten webbasierter Editoren spürt man unter den Fingerspitzen. Auch wenn Scrollen, Unschärfeeffekte und Bewegungen ähnlich aussehen, unterscheiden sie sich doch ein wenig von den nativen Anwendungen des Betriebssystems.
Bei der Eingabe von Koreanisch werden die Unterschiede noch deutlicher.
Mitunter werden Zeichen während der Zusammensetzung getrennt, der Cursor springt oder Eingaben am Zeilenende gehen verloren. Diese Probleme entstehen bei der Verarbeitung koreanischer Kompositionsereignisse durch Web-Editoren.
Bei mote lässt das Betriebssystem Zeichen und Effekte direkt zeichnen. Auch die koreanische Zeichenkomposition wird unmittelbar von der Eingabemethode der Plattform übernommen. Dafür muss die Eingabe für jedes Betriebssystem separat implementiert und auf echten Geräten überprüft werden. Derzeit wird Linux unterstützt; macOS und Windows befinden sich in Entwicklung.
Es ist der schwierigere Weg, aber für Menschen, die lange Texte schreiben, ist dieser Unterschied wichtig.

# blass sichtbar; Fettdruck, Kursivschrift und Inline-Code darüber werden ohne Zeichen dargestellt.Vielleicht gibt es nicht viele Menschen, die mote brauchen.
Entwickler, die READMEs und Designdokumente mit git verwalten. Menschen, die lange Texte auf Koreanisch schreiben. Menschen, die ihren Editor auf dem Notebook den ganzen Tag geöffnet lassen.
Aber die Gründe, aus denen sie einen Editor verlassen, sind eindeutig.
Unübersichtliche Diffs. Stockende koreanische Eingabe. Ein unaufhörlich laufender Lüfter.
Wir haben auch festgelegt, was wir nicht tun werden
mote bietet keine Synchronisierung, keine Plugins, keine Backlinks, keine KI und keine Funktionen für die Zusammenarbeit.
Wir entwickeln keine eigene Synchronisierung. Es gibt weder Konten noch Server. Nicht einmal eine separate Konfigurationsdatei wird im Dokumentordner angelegt. Funktionen, die einen Zustand benötigen, der sich nicht in Markdown ausdrücken lässt, haben wir nicht aufgenommen.
Deshalb bleiben im Ordner nur .md-Dateien zurück. iCloud, Syncthing und git funktionieren unverändert, ohne überhaupt von der Existenz von mote wissen zu müssen.
Auch eine Plugin-API stellen wir nicht bereit. Denn selbst ein einziger von einem Plugin ausgeführter Timer könnte unser Leistungsversprechen brechen. Themes, Snippets und Exportvorlagen halten wir dagegen offen. Mit ihnen lässt sich das Aussehen des Ergebnisses verändern, ohne die Leistung während der Bearbeitung zu beeinträchtigen.
Auch Backlinks und eine Graphenansicht entwickeln wir nicht. Denn dieses Produkt soll nicht mit Notizdatenbanken konkurrieren. Unterstützt werden nur eine Ordnerstruktur und standardmäßige relative Links.
Auch KI integrieren wir nicht. Sie fasst Texte weder zusammen noch schreibt sie weiter, und sie liest auch nicht den Dokumentordner aus, um Inhalte nach außen zu senden. Dass der Editor meine Dokumente nirgendwohin sendet, ist unserer Ansicht nach ebenfalls eine wichtige Funktion.
Auch Zusammenarbeit in Echtzeit wird nicht unterstützt. Für gemeinsames Bearbeiten müsste das Dokumentmodell des Servers die maßgebliche Grundlage sein. Das würde mit dem Grundsatz kollidieren, die Datei auf der Festplatte unverändert zu bewahren.
Zwischen diesen beiden Möglichkeiten hat sich mote für die Datei entschieden.
Wenn Sie das Ökosystem von Obsidian benötigen, ist Obsidian die bessere Wahl. Wenn Ihnen die langjährige Stabilität von Typora wichtig ist, passt Typora besser. Auch die Typografie von iA Writer ist noch immer ein Ziel, das wir erreichen müssen.
mote will nicht alle Markdown-Editoren ersetzen.
Es war auch nicht einfach noch ein weiterer Markdown-Editor nötig.
Es wurde ein Editor gebraucht, der Dateien und Notebooks gleichermaßen respektiert.