Обращаю внимание — тема интимная. Оценку не делаю. Любой другой личный опыт не лучше и не хуже.
Несколько человек действительно интересовались моим опытом и пробовали использовать.
Статья из двух частей. Первая — лирика о пройденном пути. Вторая часть — про подходы работы с Obsidian и Canvas. Если интересно только прикладное применение, сразу переходите ко второй части.
Эволюция
Многие, видя как сейчас работаю в Obsidian, задают вопросы о приложении и моём способе ведения записок.
Так появилась идея написать эту статью про эволюцию персональной базы знаний.
Начиналось всё конечно же с бумаги. Надежно, но не удобно.
Проблемы начинаются сразу же, когда надо упорядочить информацию, найти что-либо или поделиться копией.
В GTD описаны примеры концепций, которые разрешают проблему с порядком и копированием в бумажной базе знаний. Но считаю их громоздкими для нашего времени.
Пришло время для специальных приложений ведения записок. Это были различные инструменты из репозиториев в linux-е.
Немного лучше, но множество проблем оставались не решёнными.
Появились средства для поиска, перекрёстных ссылок, тегирования и т.п.
К сожалению часто приложения делались со своим хитрым форматом хранения данных, например, в Sqlite. Вопрос большой с переносимостью появился при работе с разных компьютеров. Доступ к базе знаний хотелось иметь сразу со всех своих устройств.
Тем временем безлимитный интернет стал повсеместной нормой. Linux и технологии виртуализации сделали большой скачёк, с этим последовало широкое развитие услуг аренды виртуальных серверов.
Наступила эпоха своей личной википедии. Завёл для личных нужд доменное имя и виртуалку. Мне понравился dokuwiki. Проработал в нём долгое время. Wiki подняло базу знаний до совершенства — любая глубина вложенности, история изменений, перекрёстные ссылки, теги, todo списки с чекбоксами, разграничение доступа к отдельным документам или разделам и чертовски приятное оформление.
Прогресс шёл дальше. Смартфоны полностью вытеснили кнопочные мобилки. Для личной онлайн википедии начались сложные времена с появлением нового условия — доступность в любой момент со смартфона — в метро, в междугородних поездках, в поездах дальнего следования, в самолетах. Начался поиск новых решений, подпадающих под требования:
- доступ из offline
- синхронизация со всеми своими устройствами
- понятное внутреннее устройство (без жёсткой привязки к внутреннему формату разметки и базы данных)
- дружественность к собственной инфраструктуре (управляемая синхронизация)
Формат markdown стал фактически общепринятым стандартом — синтаксис понятный, любые текстовые редакторы поддерживают его разметку.
Архитектура в dokuwiki поспособствовала лёгкой миграции базы знаний в локальное пространство, так как под капотом простые текстовые файлы с небольшим отличием от markdown.
Осталось подобрать удобный редактор и средство синхронизации.
Первыми подопытными редакторами стали vim и vscode.
C управлением базой знаний при установке дополнительных плагинов справлялись хорошо. Однако был фатальный недостаток — они работают на компьютере, но не доступны на смартфоне. Там другие редакторы, с другими процессами. Это не удобно.
Следующим подопытным стал Joplin. Это приложение специализировано для работы с локальной базой знаний. Выполнило все мои требования:
- markdown под капотом
- приложение для компьютеров и смартфонов
- гибкие способы синхронизации устройств
Качество самого приложения к сожалению оказалось не достаточным. Не очень удобно работалось на смартфоне, при обновлении ломались плагины, возможно из-за их отставания от основного приложения.
Obsidian
Последней каплей терпения стал сломавшийся плагин для draw.io. Был вынужден сдаться и попробовать Obsidian.
Программа полностью проприетарная, но бесплатная для персонального использования.
Миграция markdown трудностей не вызывает.
Проработка приложения отличная. Использовать приятно.
Расскажу немного подробнее как использую Obsidian.
К моменту миграции на Obsidian авторы доделали встроенный плагин Canvas. Это киллер-фича. На первый взгляд покажется, что она пересекается с draw.io, но только лишь на первый. Для меня Canvas стал основным инструментом для сохранения контекстов. В силу специфики работы, происходят постоянные переключения между множеством задач и вопросов.
Использую этот плагин для повседневных нужнд:
- дашборд к рабочим процессам,
- точка перехода к большим проектам и продолжительным задачам,
- и так же как место для записи и разрешения любых мелких вопросов
Дашборд к рабочим процессам
На начальной странице с помощью встраиваемых фреймов размещены представления фильтров из трекера задач. В одном месте наблюдаю за различными процессами, важными для меня в текущий период.
Хотел уже сам разработать инструмент для этого, но Obsidian с Canvas решили задачу полностью и как мне надо.
Переход к проектам и большим задачам
В работе и в жизни есть проекты и большие задачи. В Obsidian Canvas они из отдельных карточек превращаются в отдельные документы. В начальном документе ставлю ссылку на большой проект и сопроводительный комментарий
Это может выглядеть так:
Работа над небольшими задачами
Для работы с небольшими задачами применяю подход выделения цветом:
- красный — надо сделать
- жёлтый — в работе
- зелёный — готово
Это может выглядеть так:
Мозговой штурм
На собраниях проводятся шумные обсуждения. В таком формате любые тезисы важны. Стараюсь выцеплять из потока мыслей ключевые фразы и записывать их в Obsidian Canvas.
Это выглядит так:
Каждая карточка — это какая-то фраза или мысль. Записав всё, после обсуждения возможно сделать сводный итог с учётом различных предложений
Где же тут markdown?
На самом деле везде. Итоги работы над проектами и большими задачами могу фиксировать в отдельные markdown-документы:
Под капотом Obsidian Canvas тоже спрятан markdown. Сам Canvas — это специальный json, а записки в карточках — это markdown записанный в отдельные поля в json-е.
Исходник:
Синхронизация
Obsidian одинаково хорошо сделан для работы на компьютерах и на смартфонах.
Но нужна синхронизация папки с документами моей базы знаний.
Решается гибко:
- средствами от знаменитых вендоров — google drive, yandex disk, dropbox
- или с помощью собственной инфраструктуры — nextcloud и т.п.
Для себя остановился на syncthing. Позволяет синхронизировать устройства через p2p:
- Syncthing ставится на компьютер и на смартфон
- Устанавливается доверие друг другу обменом ключей — ctrl+c&ctrl+v или фото qr-кода
- Приложения находят друг друга в одной подсети через udp и широковещательные запросы, в разных подсетях через сеть публичных relay серверов
Чтобы через разные подсети ускорить поиск можно помочь своим экземплярам syncthing одним или несколькими способами:
- поднять свой приватный relay сервер на виртуалке с внешним ip-адресом, в приложениях syncthing указать relay-сервер
- поднять ещё одну копию syncthing на виртуалке и установить её в доверие к своим устройствам
Первая полная синхронизация делается долго, настраивается сложно, но затем в процессе повседневного использования выполняется за секунды.
Минус — жрёт батарейку в смартфоне.
The End
Сейчас Obsidian — стал основным инструментом для работы. Только описанными подходами не ограничиваюсь. Постоянно что-то изменяется.