Ícono de la app Calíope

Roadmap

Qué se está construyendo, qué estoy valorando, qué he decidido no hacer y qué acaba de llegar.

Esta página describe Calíope 1.5. Es la versión que estoy construyendo ahora mismo; la 1.4 ya está en la App Store en todos los aparatos, el Mac incluido. Así que lo de la 1.5 aparece abajo como publicado porque está terminado en la versión que construyo, pero no se puede descargar hasta que la 1.5 llegue a la App Store.

Calíope crece de tres cosas: lo que llega por soporte, los informes de diagnóstico que la gente decide compartir y el trabajo diario contra bases de datos reales. Esta página dice en qué punto está cada cosa — incluidas las que decidí no hacer, con su motivo, porque un roadmap que solo enumera promesas no cuenta gran cosa. ¿Falta algo? Sugiere una función.

Leyenda de estados · salta a una sección

🟡 En estudio — valorando alcance, encaje técnico y demanda. Sin fecha implícita

Más motores: la costura ya está puesta

En estudio

Sumar un motor a Calíope es implementar unos protocolos, no editar las herramientas. Ese trabajo está hecho y probado: el motor de respaldos, el comparador de esquemas y el catálogo de errores ya pasan por ahí, y ningún nombre de motor se escribe fuera de su propia carpeta — ni siquiera en los cinco archivos de traducción. PostgreSQL fue el primer motor que llegó así, en la 1.3, sin reescribir ni una herramienta. SQL Server llegó igual en la 1.5; cuál viene después todavía se está valorando.

Base en 1.2 · primer motor nuevo en 1.3

Redis

En estudio

Un almacén clave-valor en memoria, que tiene otra forma que una tabla: un explorador de claves con los patrones que de verdad se escriben, el tiempo de vida de cada clave a la vista y editable, un visor que dibuja cada valor según su tipo —cadena, lista, conjunto, conjunto ordenado, hash, stream— y un panel de servidor con memoria, espacio de claves y clientes. Aquí no hay SQL, así que llegaría como herramienta propia, igual que llegó MongoDB.

ClickHouse

En estudio

Analítica columnar en servidor, por su interfaz HTTP. Lo que aporta es la escala a la que un motor por filas no llega: agregaciones sobre miles de millones de renglones, y vistas materializadas que mantienen precalculada la parte cara. Reutiliza el editor SQL y el árbol de esquema, con su propio dialecto y su propio vocabulario para lo que compone una tabla. La analítica columnar en un archivo local llegó con el Editor DuckDB en la 1.5; ClickHouse llevaría esa misma forma a un servidor, y Redis sumaría el clave-valor.

Más idiomas de interfaz

En estudio

Calíope viene en cinco: inglés, español, francés, alemán e italiano. Han salido el portugués y el japonés. Dime cuál querrías el siguiente — la app está traducida de verdad, no localizada a máquina, así que cada idioma nuevo es trabajo real y prefiero acertar.

🔴 Descartado — decidido que no, con su motivo. Se quedan a la vista a propósito

Bases SQLite cifradas (SQLCipher)

Descartado

El Editor SQLite abre sólo bases sin cifrar. Soportar SQLCipher significa distribuir y mantener un fork de SQLite dentro de una app en sandbox de la App Store, y la herramienta está pensada para inspeccionar almacenes de Core Data y bases embebidas de aplicaciones, que no van cifradas.

Motivo: alcance y mantenimiento

Tu ubicación en el mapa espacial

Descartado

Enseñar dónde estás exigiría un permiso de ubicación y su entrada en la ficha de privacidad de App Store, a cambio de algo que esta herramienta no necesita: en el mapa lo que importa es dónde están tus datos, no dónde estás tú.

Motivo: coste de privacidad sin beneficio

Sondear las dos direcciones antes de conectar

Descartado

Sería tentador probar el host principal y el alternativo en paralelo y quedarse con el más rápido. Abrir y cerrar conexiones TCP sin completar el handshake suma aborted_connects en el servidor y puede acabar en Host is blocked because of many connection errors. El failover ocurre en el intento real.

Motivo: perjudica al servidor al que quieres llegar

MongoDB a través de la capa relacional

Descartado

MongoDB es una herramienta autocontenida, con su propia sesión y su propio juego de pestañas, no un motor más detrás de los que ya hay. La abstracción relacional modela claves foráneas, binlog, replicación y EXPLAIN; una base de documentos dejaría casi todo eso vacío, y cada herramienta tendría que empezar a preguntarse qué clase de sesión está mirando.

Motivo: sería la forma equivocada
🟢 Publicado recientemente — las tres más recientes; la lista completa, en el changelog

SQL Server

Publicado

Microsoft SQL Server, por la misma costura por la que entró PostgreSQL y con un driver que escribí a partir del protocolo que publica Microsoft. Perfiles de conexión, explorador de esquema con sus esquemas, editor SQL con sus propios fragmentos, palabras clave y fichas de funciones, EXPLAIN visual, respaldos y restauración, mantenimiento, inicios de sesión y permisos con el DENY enseñado como tal, y monitorización del servidor. Versión 2022 o posterior, siempre cifrado. La replicación sigue siendo cosa de MySQL y MariaDB, y lo que el motor no tiene se oculta en vez de enseñarse apagado.

Versión 1.5

Editor DuckDB

Publicado

Un segundo motor local compilado dentro de la app, junto al Editor SQLite y sin ninguna conexión que configurar. Abre un archivo .duckdb sin ningún servidor que instalar, o consulta un Parquet, CSV o JSON donde ya está — no se importa ni se copia nada. Árbol de esquema con secuencias, tipos y macros, grilla de datos, SQL con tope de filas y Detener, SUMMARIZE, exportar e importar la base entera, adjuntar otra en sólo lectura, y los archivos DuckDB como fuente de Reportes.

Versión 1.5

Calíope en tu iPhone

Publicado

Calíope se dispone para el teléfono y se instala desde la misma página de la App Store que el Mac y el iPad. Es el cliente entero, no un visor: conecta a tus servidores y ejecuta tus consultas, con las mismas herramientas que el iPad y sin una sola comprobación de aparato en todo el árbol. Tus perfiles, snippets, historial y conversaciones con el asistente llegan por tu propio iCloud, y cuando ese interruptor está cerrado lo nombra en vez de mostrar una pantalla vacía y dejarte concluir que no pasa nada.

Versión 1.4

Cómo funciona este roadmap

En curso significa que está comprometido y el trabajo está en marcha.

En estudio significa que estoy valorando alcance, encaje técnico y demanda. No implica fecha de entrega.

Descartado significa que decidí no hacerlo. La entrada se queda visible con su motivo, para que la decisión sea transparente y no silenciosa.

Publicado significa que hoy está en la app. En cada entrada figura la versión en la que llegó — y ten en cuenta que la más reciente puede no estar todavía en la App Store; el aviso de arriba dice cuál es.

¿Buscas la lista completa de lo publicado? Ver el changelog →