From 5ef3d402ab8d5be9ce6ed3b41d38984a3ccaeaab Mon Sep 17 00:00:00 2001 From: Oleh Omelchenko Date: Sat, 4 Jul 2026 19:43:58 +0300 Subject: [PATCH] Docs: why-astrolabe origin drafts (uk + en) --- docs/exploration/why-astrolabe.en.md | 47 ++++++++++++++++++++++++++++ docs/exploration/why-astrolabe.md | 16 ++++++++++ 2 files changed, 63 insertions(+) create mode 100644 docs/exploration/why-astrolabe.en.md create mode 100644 docs/exploration/why-astrolabe.md diff --git a/docs/exploration/why-astrolabe.en.md b/docs/exploration/why-astrolabe.en.md new file mode 100644 index 0000000..47e07f1 --- /dev/null +++ b/docs/exploration/why-astrolabe.en.md @@ -0,0 +1,47 @@ +# Why Astrolabe exists + +I've worked with visualization tools for close to a decade, and for the last few years +I've also taught data work in most of its forms — SQL, Python, spreadsheets, Power BI, +Tableau, the list goes on. + +Out of everything I've used in that time, Vega-Lite is one of my favorite ways to make a +chart. It combines things that almost never come together in one tool: + +- **It's an open standard.** A chart is a plain JSON file. No registration, no account, + no service that can be discontinued out from under it. Specs I wrote years ago still + render today, and I have every reason to believe they'll render in ten. +- **It's web-native.** Most popular tools have to be installed (Tableau, Power BI) or run + inside a particular environment (Altair, ggplot). For teaching, that raises the floor + twice: technically — students on Linux can't install most BI suites at all — and + conceptually. I want to teach _visualization_, not programming. +- **It's declarative.** This point is really an ode to the Grammar of Graphics that + ggplot popularized: you describe what the chart is, not how to draw it. My favorite + tool for preparing data is SQL, another declarative language, and Vega-Lite scratches + exactly the same itch. +- **It's interactive.** This is what sets it apart from workhorses like matplotlib and + ggplot: cross-filtering, tooltips, and brushing are a few lines of JSON, not an + afternoon of event-handler code. Interactivity multiplies one chart into dozens — a + different view for every filter state a reader can choose. + +And yet, when I went looking for a comfortable place to write and keep these charts, I +couldn't settle on anything. Vega-Lite came buried inside heavier BI tools, or in the +official editor — a scratchpad that holds one spec at a time and keeps nothing. And using +the full power of the format was fiddly in practice: to attach a custom font to a chart, +you had to be handy with web development first. The low floor I praise to my students +wasn't there for me either. + +So I decided to build my ideal tool for Vega-Lite charts :) + +At first it was just a snippet editor: a list of specs, and clicking one opens an editor +with a live preview. Then datasets wanted to be their own thing — stored once, referenced +by name from any chart, instead of pasted into every spec. Then a visual chart builder, +for the days when you'd rather click than type. And then custom themes with your own +fonts — the exact itch that used to require a web developer, now a file-upload away. + +Somewhere along the way the tool also acquired a stance. Everything stays in your +browser: no account, no server, and no AI model reading your charts. Part of that is +principle. Most of it is the plain reality that the data I chart at work is confidential, +and I wanted a tool where that question simply never comes up. + +If you make charts with Vega-Lite — or you've been looking for a reason to start — +[Astrolabe](/) is where mine live now. diff --git a/docs/exploration/why-astrolabe.md b/docs/exploration/why-astrolabe.md new file mode 100644 index 0000000..413e802 --- /dev/null +++ b/docs/exploration/why-astrolabe.md @@ -0,0 +1,16 @@ +## Що надихнуло на цей проєкт + +Я використовую інструменти візуалізації в роботі вже майже десятиліття, а також вже декілька років викладаю роботу з даними та візуалізацію в багатьох аспектах - SQL, Python, Google SHeets, Power BI Tableau - список не вичерпний. + +Маючи доволі широкий досвід як в інструментах, так і в оточеннях візуалізації, можу сказати що Vega-Lite - це один із моїх найулюбленіших інструментів з створення візуалізації. Він поєднує багато речей, які складаються в ідеальний інструмент для багатьох цілей: + +- опенсорс. Відсутність необхідності реєструватись є сильним аргументом на користь того, що мої візуалізації будуть доступні довгий час та не поламаються, або для сервісу, в якому я їх створив, буде припинена підтримка. +- крос-платформеність та веб-орієнтованість. Більшість популярних засобів з візуалізації мають бути інстальовані (Tableau, Power BI) або запускатись в певному оточенні (Altair, ggplot) - відповідно, якщо ми говоримо про використання їх для навчання, це підіймає поріг входу як технічно (студенти з Linux не можуть встановити більшість BI систем), так і концептуально (я хочу викладати _візуалізацію_ а не _програмування_). +- декларативність. Цей пункт - скоріше ода до Grammar of Graphics, популяризований пакетами типу ggplot. Також моїм улюбленим інструментом для аналізу/підготовки даних є SQL, що теж є декларативною мовою. +- інтерактивність. Те, що вигідно відрізняє Vega-Lite від популярних мастодонтів типу Matplotlib або ggplot - те, що я можу доволі легко і невимушено створювати інтерактивні графіки з крос-фільтрацією., додавати тултіпи тощо. Це посилює можливості інструменту візуалізації на порядки, адже інтерактивність одразу "помножує" один графік на десятки чи сотні залежно від обраного фільтру. + +Разом з тим, коли я шукав зручний інструмент для створення та редагування візуалізацій, було доволі складно зупинитись на чомусь конкретному. Vega-Lite або був частиною якогось більш складного BI-інструменту, або мав надто скорочене застосування (Vega-Editor), або було недостатньо зручно користуватись всіма можливостями інструменту (щоб підключити кастомний шрифт, треба було бути підкованим в веб-розробці). + +Отже, я вирішив створити свій ідеальний інструмент для створення графіків в Vega-Lite :) + +Спершу це була ідея просто редактор "сніппетів" - список специфікацій, по вибору відкривається редактор і превʼю. Потім зʼявилась ідея додавати/витягувати набори даних в окремі сутності. Згодом виникла і ідея побудувати візуальний редактор, а ще згодом - можливість створення та збереження кастомних тем