Symbol der App Calíope

Roadmap

Was gerade gelandet ist, was wir abwägen und wogegen wir uns entschieden haben.

Diese Seite beschreibt Calíope 1.2. Der App Store liefert derzeit 1.1 — Version 1.2 ist in Prüfung. Was unten als in 1.2 ausgeliefert steht, ist fertig und wartet auf Apple, ist heute aber noch nicht ladbar.

Calíope wächst aus drei Quellen: was über den Support hereinkommt, die Diagnoseberichte, die Nutzer freiwillig teilen, und die tägliche Arbeit an echten Datenbanken. Diese Seite sagt, wo jeder Punkt steht — auch die, gegen die wir uns entschieden haben, mit Begründung, denn eine Roadmap, die nur Versprechen auflistet, sagt wenig aus. Fehlt etwas? Schlag eine Funktion vor.

Status-Legende

Veröffentlicht In Arbeit In Prüfung Nicht geplant
🟢 Kürzlich veröffentlicht — bereits in der App; die vollständige Liste steht im Changelog

Eine Begleit-App für dein iPhone

Ausgeliefert

Calíope Companion ist eine eigene iPhone-App mit fünf Tabs — Verbindungen, Snippets, Abfrageverlauf, Assistenz-Unterhaltungen und Diagnose. Sie enthält keinen Datenbanktreiber und verbindet sich nie mit deinen Servern: alles, was sie zeigt, kommt über iCloud. Genau deshalb nennt sie den geschlossenen Schalter, statt einen leeren Bildschirm zu zeigen und dich schließen zu lassen, es sei nichts passiert. Das Einzige, was sie zurückschreibt, sind Verbindungsprofile — und die Felder, die sie nicht versteht, bleiben erhalten.

Version 1.2

MongoDB

Veröffentlicht

Ein Werkzeug für Dokumentdatenbanken mit ihrem eigenen Vokabular: Sammlungen und Dokumente durchsuchen, sie als JSON bearbeiten, Filter und Aggregations-Pipelines schreiben, Indizes verwalten und Server, laufende Operationen und Benutzer einsehen. Jeder Wert zeigt seinen Typ — ObjectId, decimal128, Datumswerte, Binärdaten — denn in einer schemalosen Datenbank ist das die halbe Information.

Version 1.2

Suchen und Ersetzen in einer ganzen Datenbank

Veröffentlicht

Text in allen Textspalten aller Tabellen suchen, sehen, wie viele Zeilen jeweils passen, und mit einer vom Server selbst berechneten Vorschau in großem Umfang ersetzen. Weichen Treffer- und Ersetzungszahl voneinander ab, wird das gesagt — die Kollation ignoriert meist Groß- und Kleinschreibung, REPLACE() nie, und ohne diesen Hinweis meldet eine Massenänderung 300 Zeilen und ändert 100, ohne dass etwas fehlschlägt.

Version 1.2

Geodaten auf einer Karte

Veröffentlicht

GEOMETRY-Spalten werden gelesen, auf einer Karte gezeichnet und durch Ziehen einer Stecknadel oder eines Stützpunkts bearbeitet. Zuvor ließ sich eine Geometriespalte nirgends in der App lesen: sie erschien als [25 bytes]. Das Ziehen setzt die Anweisung zusammen und zeigt sie dir — geschrieben wird erst, wenn du zustimmst.

Version 1.2

Ein Server, zwei Adressen

Veröffentlicht

Jedes Verbindungsprofil nimmt jetzt einen alternativen Host auf. Antwortet der Haupt-Host nicht, versucht Calíope den zweiten mit demselben Port und denselben Zugangsdaten — praktisch, wenn derselbe Server vom Mac unter einer und vom iPad unter einer anderen Adresse erreichbar ist. Läuft die Sitzung über die Alternative, wird das angezeigt.

Version 1.2

Backups von vielen Gigabyte

Veröffentlicht

Die Backup-Engine wurde neu geschrieben, sodass der Speicherbedarf nicht mehr von der Größe der Datenbank abhängt. Ein Dump von 722 MB mit 4 Millionen Zeilen erreicht 68 MB Spitzenspeicher, und das Zurückspielen dauert 19 Sekunden bei 14 MB. Abbrechen bricht wirklich ab, statt den Dump bis zum Ende weiterlaufen zu lassen.

Version 1.2

Ein Fehlerprotokoll, das du am Telefon liest

Veröffentlicht

Wenn etwas schiefgeht, erklärt Calíope es jetzt, schlägt vor, was zu prüfen ist, verlinkt das passende Hilfethema und hält den Eintrag mit Datum und Gerät fest. Die iPhone-App kann dieses Protokoll lesen — nur lesen: Aufräumen und Löschen bleiben am Schreibtisch, denn ein Telefon, das das Protokoll eines noch offenen Fehlers leeren kann, ist ein stiller Weg, den Beleg zu verlieren.

Version 1.2

Ein Backup deiner Einstellungen

Veröffentlicht

Exportiere und importiere alles, was Calíope außerhalb des Geräts aufbewahrt — Verbindungsprofile, Einstellungen, Gruppen — mit geplanten Kopien und einem Wiederherstellungspunkt, der vor jedem riskanten Schritt automatisch angelegt wird: Synchronisierung ein- oder ausschalten, Daten löschen, importieren. Geheimnisse sind Opt-in und immer verschlüsselt, und was aus einer Kopie herausfällt, wird mit Begründung in die Datei geschrieben.

Version 1.2

SQLite-Editor und Dateivorschau

Veröffentlicht

Zwei Werkzeuge, die gar keinen Server brauchen. Der SQLite-Editor öffnet lokale .sqlite- und .db-Dateien und lässt dich daran arbeiten — Struktur, Daten, SQL, Pragmas, mit Sichern/Verwerfen als Transaktion. Die Dateivorschau liest .md, .sql, .json, .csv und .log nur lesend, mit faltbarem JSON und gerendertem Markdown.

Version 1.2
🟣 In Arbeit — zugesagt und in Umsetzung

Mehr Engines: die Naht liegt schon

In Arbeit

Eine Engine zu Calíope hinzuzufügen heißt, Protokolle zu implementieren, nicht die Werkzeuge zu ändern. Diese Arbeit ist erledigt und erprobt: Backup-Engine, Schemavergleich und Fehlerkatalog laufen bereits darüber, und kein Engine-Name steht außerhalb seines eigenen Ordners — nicht einmal in den fünf Übersetzungsdateien. Für eine zweite SQL-Engine fehlt nur ihr Provider.

Grundlage in 1.2 veröffentlicht
🟡 In Prüfung — Umfang, technische Passung und Nachfrage werden abgewogen. Kein Datum impliziert

PostgreSQL

In Prüfung

Native PostgreSQL-Anbindung neben MariaDB/MySQL: Verbindungsprofile, Schema-Browser, Abfrageeditor und Exporte. Dasselbe Apple-native Erlebnis, für die Postgres-Welt. Es ist die am häufigsten gewünschte Engine, und die Grundlage oben macht daraus einen Provider statt einer Neuentwicklung.

Weitere Oberflächensprachen

In Prüfung

Calíope gibt es in fünf Sprachen: Englisch, Spanisch, Französisch, Deutsch und Italienisch. Portugiesisch und Japanisch kamen beide zur Sprache. Sag uns, welche du als Nächstes möchtest — die App ist echt übersetzt und nicht maschinell lokalisiert, jede neue Sprache ist also echte Arbeit, und wir treffen sie lieber richtig.

🔴 Nicht geplant — bewusst dagegen entschieden, mit Begründung. Diese Einträge bleiben absichtlich sichtbar

Verschlüsselte SQLite-Datenbanken (SQLCipher)

Nicht geplant

Der SQLite-Editor öffnet nur unverschlüsselte Datenbanken. SQLCipher zu unterstützen hieße, einen SQLite-Fork in einer sandboxed App-Store-App auszuliefern und zu pflegen, und das Werkzeug ist zum Betrachten von Core-Data-Speichern und eingebetteten App-Datenbanken gedacht, die nicht verschlüsselt sind.

Grund: Umfang und Wartung

Dein Standort auf der Geo-Karte

Nicht geplant

Anzuzeigen, wo du bist, würde eine Standortberechtigung und einen passenden Eintrag im App-Store-Datenschutzlabel erfordern — für etwas, das dieses Werkzeug nicht braucht: auf der Karte zählt, wo deine Daten sind, nicht wo du bist.

Grund: Datenschutzkosten ohne Nutzen

Beide Adressen vor dem Verbinden abtasten

Nicht geplant

Es wäre verlockend, Haupt- und Alternativ-Host parallel zu testen und den schnelleren zu nehmen. TCP-Verbindungen zu öffnen und ohne vollständigen Handshake fallen zu lassen, erhöht aborted_connects auf dem Server und kann in Host is blocked because of many connection errors enden. Der Wechsel passiert stattdessen beim echten Versuch.

Grund: es schadet dem Server, den du erreichen willst

MongoDB über die relationale Schicht

Nicht geplant

MongoDB ist ein eigenständiges Werkzeug mit eigener Sitzung und eigenem Satz Tabs, keine weitere Engine hinter den vorhandenen. Die relationale Abstraktion modelliert Fremdschlüssel, Binlog, Replikation und EXPLAIN; eine Dokumentdatenbank ließe das meiste davon leer, und jedes Werkzeug müsste anfangen zu fragen, welche Art Sitzung es gerade ansieht.

Grund: es wäre die falsche Form

Wie diese Roadmap funktioniert

Veröffentlicht heißt, es ist heute in der App. Die Version steht bei jedem Eintrag — beachte, dass die neueste noch in der App-Store-Prüfung sein kann.

In Arbeit heißt, es ist zugesagt und die Umsetzung läuft.

In Prüfung heißt, wir wägen Umfang, technische Passung und Nachfrage ab. Ein Liefertermin ist damit nicht gemeint.

Nicht geplant heißt, wir haben uns dagegen entschieden. Der Eintrag bleibt mit seiner Begründung sichtbar, damit die Entscheidung transparent statt stillschweigend ist.

Suchst du die vollständige Liste des Veröffentlichten? Zum Changelog →