Как я придумал идею совершенного инструмента для работы с информацией

Лонгрид-документация приложения, выполняющего функции Notion, Obsidian, Roam Resarch, IA Writer, OneNote, Workflowy, Things и других — только лучше.

Оглавление:

Предыстория. О причинах появления идеи.

Я помню, как в детстве был страстно увлечен подготовкой рюкзака на все случаи жизни. В нем был пенал, заполненный карандашами, ручками и прочими инструментами; были батарейки, вероятно альбом для рисования, фонарь, гимнастические жгуты, наручные часы и прочее. Содержимое обновлялось – убиралось лишнее и добавлялось нечто более "необходимое".

В сознательном возрасте, эта потребность в совершенной подготовке к любым обстоятельствам, привела меня к поискам в дисциплине, продуктивности и лучшей организации жизни.

С 2016 года, моя жизнь стала тесно связана с написанием текстов. Я менял виды деятельности, но привычка писать заметки, вести дневник и конспекты важных для меня материалов – неизменно оставалась со мной.

К 2020 году, количество записей в разных сервисах превысило две тысячи, что затруднило нахождение нужной информации. Я задумался о поиске одного инструмента, что мог бы удовлетворить все мои потребности.

После попытки сделать это в notion, я пришел к организации файлов в .md формате с возможностью их открытия в разных программах: IA Writer, Obsidian, VS Code.

Несмотря на то, что большинство потребностей удовлетворяются разными функциями этих инструментов (особенно с использованием плагинов в Obsidian), меня все же гложила идея о том, что я вижу, как можно сделать лучше.

Тогда я и начал концептуализировать идею совершенного приложения для взаимодействия с информацией.

Подготовка. Что должно быть в этом инструменте?

Работа с информацией – это прежде всего работа с текстом и инфографикой, то есть тем, что можно быстро считать, вернувшись к ним через какое-то время и оперативно восстановить представление о предмете исследования.

В понятии "текста", на первый взгляд, нет ничего сложного, но процесс работы с простым текстом в разных программах отличается, что на моем опыте, серьезно сказывается на получаемых результатах. Так, эталоном в работе с текстом, для меня стал IA Writer. Минимализм, интуитивное управление, эстетика; нативный софт, делающий взаимодействие с программой гладким, предсказуемым (что оказалось одним из решающих аргументов).

Инфорграфика – это возможность отображения сложной информации в простой форме. Это может быть список, таблица, канбан, таймлайн, паутина связей, карта, диаграмма, иерархия, схема, ну и конечно – произвольный скетч.
Референсами тут являются:

  • Obsidian с его возможностью генерации различный форм отображения записей с помощью плагинов (например канбан, таблиц, иерархий и т.д). Не говоря об "обратных ссылках" и паутине связей.
  • Notion с возможностью представления одной базы данных в разных видах, с возможностью применения фильтров и сортировки.
  • Roam Research (и его альтернативы Athens, Logseq) с фокусом на проставление связей в ежедневных записях.
  • Workflowy и Xmind с удобством организации иерархии.
  • OneNote, Figma/Sketch и Miro с возможностями свободного скетчинга.
  • Scrivener с удобным набором инструментов писателя.

Теория. Описание функций приложения и его логики.

Приложение с открытым Документом
Приложение с открытым Документом

Организатор

"Рабочая зона" (workspace) – ограничивает разные сферы применения приложения: работа/жизнь, проекты, личное/публичное...

Каждая из них имеет свои файлы, настройки, плагины и т.д.

Выбор Рабочей Зоны
Выбор Рабочей Зоны

Все взаимодействие с приложением строится на основе четырех базовых типах Страниц:

  • Документ. Привычная заметка, с расширенными возможностями markdown форматирования.
  • Стэк. Документ, содержащий в себе дочерние Страницы. Выполняет функцию "папки".
  • Смарт-Стэк. Документ, представляющий ссылки на другие Страницы. Выполняет различные функции (которые будут описаны далее), что можно кратко описать как "динамичная папка".
  • Канвас. Безграничное пространство, на котором могут размещаться и группироваться страницы остальных типов, а также различные виды графики – связи, текст, геометрические формы, рисунки и т.д.

Скрываемая панель организатора содержит главный Стэк "Входящие" (можно переименовать), в который по умолчанию попадают все создаваемые Страницы, а также закрепленные пользователем Страницы (и плагины, но об этом позже).

Закрепленные в организаторе Страницы можно группировать, что автоматически создает Смарт-Стэк.

Навигация по Организатору
Навигация по Организатору

Рабочая область

Рабочая область – это основная зона взаимодействия с контентом.
Для разных типов страниц ее вид будет меняться.

Документ

Обычный текстовый документ, по простоте работы сравнимый с Apple Notes или Bear Notes.

Как основа внутренней архитектуры файлов был выбран формат обычного markdown текста, для гарантии долговечности – я хорошо запомнил горький опыт переезда из OneNote и Notion.

В настройках приложения можно выбрать режим "рендера" текста:

  • Форматированный, когда спецсимволы markdown разметки автоматически прячутся (как в Typora);
  • Гибридный, когда показываются спецсимволы, вместе с визуальным изменением (например **жирный текст** - как в IA Writer)

Поддерживаются основные правила разметки markdown:

  • Заголовки 6 уровней
  • Список и перечисление с отступами
  • Выделение, жирный текст, зачеркивание, подчеркивание, курсив
  • Цитата
  • Код
  • Внутренние и внешние ссылки
  • Вставка других страниц и файлов (изображения, медиа и другие)
  • Примечания
  • Таблица
  • Линия
Основные правила markdown разметки
Основные правила markdown разметки

Стэк, Смарт-Стэк

Стэк и Смарт-Стэк – это обычные Страницы-Документы с дополнительным функционалом работы с другими страницами.

В Стэке, элементы создаются и хранятся внутри самого Стэка (являются "дочерними" и привязаны к нему).

Текстовый вид отображения Стэка
Текстовый вид отображения Стэка

Тогда как содержимое Смарт-Стэка формируется с помощью двух основных параметров: "Включая" и "Исключая". В параметр ввода "Включая" помещаются Страницы, что будут создавать содержимое выбранного Смарт-Стэка, а в параметр "Исключая" – Страницы, что будут исключаться из полученного содержимого и пользовательские фильтры содержимого, которые будут создавать правила ограничения по более узким критериям.

Например, я хочу отображать в созданном Смарт-Стэке все заметки, кроме заметок с паролями. Так, я добавляю в поле "Включая" Стэк "Входящие", а в поле "Исключая" – те заметки, что я хочу игнорировать, либо заметки, что содержат в своем тексте слово "пароль".

Текстовый вид отображения Смарт-Стэка
Текстовый вид отображения Смарт-Стэка

Возможность использования в этих полях других Смарт-Стэков делает возможности использования неограниченными: я могу создать Смарт-Стэк, содержащий в поле "Включая" несколько других Смарт-Стэков, с примененными там фильтрами.

Свойства

У каждой страницы есть свойства, получаемые от Стэка, в котором она находится. Например, это наименование, дата создания, дата изменения. Свойства страницы показываются в правом боковом меню.

Боковая панель со Свойствами и Обратными ссылками
Боковая панель со Свойствами и Обратными ссылками

Пользователь может создавать свои свойства – на этом строится большая часть работы со Стэками и Смарт-Стэками. Для каждого свойства можно выбрать зону его видимости: будет ли оно распространятся только на элементы Стэка, в котором создается, или будет наследоваться и на элементы дочерних Стэков.

Когда одна страница ссылается на другую, у этой другой автоматически создается системный Смарт-Стэк, включающий в себя "обратную ссылку".

Помимо базовых типов свойств – текста, ссылки, цвета, и т.д. – есть свойство "Ссылка на Страницу в Стэке/Смарт-Стэке". Это возможность, позволяющая реализовать, помимо самого референса на другую страницу, селектор или мультиселектор.

Например, создав Стэк "Статусы Задач" и внеся в него элементы "В очереди", "В процессе", "Отмена", "Архив", "Завершено" – я могу использовать этот Стэк, как свойство статуса моего проекта или задачи.

Выбор Страницы из Стэка "Статусы Задач" в свойстве "Статус"
Выбор Страницы из Стэка "Статусы Задач" в свойстве "Статус"

Используя один Стэк для всех статусов задач, я имею возможность без труда, в одном месте следить за всеми проектами, с помощью "Обратных Ссылок".

Представления

Для каждого Стэка и Смарт-Стэка есть возможность создания "Представления". Представление имеет свои настройки: вид отображения, группировка и сортировка и фильтры.

Группировка – это выбор параметров, по которым будет происходить объединение элементов Стэка в Представлении. Например для "Канбана", это может быть группировка по "Статусам", что мы создали выше.

Сортировка работает так же, как и в остальных приложениях.

Фильтры отображения не удаляют Страницы из Стэка или Смарт-Стэка, но прячут их в конкретном "Представлении".

Выбор и настройка Представления
Выбор и настройка Представления

Виды отображения сгруппированы по 3 типам:

  • Список (линейная вертикальная связь)
  • Иерархия (связь родитель-дети)
  • Блоки (возможность гибкой настройки)

Список – это тип отображения, что имеет вертикальное размещение элементов, по одному на строке.

В этой группе находятся:

  • Таблица, привычная по работе с Notion и Airtable
  • Полноэкранный список
  • Сплит-список — список с демонстрацией элементов слева и их полноценным открытием справа
  • Лента — непрерывный список открытых страниц

Иерархия — это тип взаимосвязи элементов по их уровню вложенности.

В этой группе:

  • Outline (Workflowy)
  • Дерево (XMind)

Блоки — это тип отображения с глубокой настройкой.

В этой группе:

  • Свободное размещение — пользователь сам расставляет карточки на холсте, имея возможность их группировать и т.д. Тут же — возможность представления «паутины связей».
  • Матричное размещение — позволит сделать пролистываемый горизонтально или вертикально список карточе; канбан, или таймлайн, используя группировку.

Модули Документа

Помимо основных функций работы с текстом, описанных в блоке про Документ, у пользователя есть возможность использования дополнительных функций.

Модуль "Комментарии" – это аналог функции из Google Docs, или Pages – когда пользователь выделяет часть текста и имеет возможность начать цепочку комментариев к выделенному фрагменту. Ключевым отличием данной функции является то, что каждая цепочка комментариев является Стэком, как и само Свойство "Комментарии" в правом боковом меню.

Отметка о наличии комментария на строке отображается с правой стороны Документа, в зоне модулей.

Комментарии
Комментарии

Модуль "Вычисления" выводит результат математических выражений в зоне модулей, а также позволяет работать с переменными.

Модуль вычислений
Модуль вычислений

Еще одна возможность – создание программируемых кнопок и полей. При написании функции в специальном блоке кода, напротив этой строки, в зоне модулей появиться либо кнопка, доступная для запуска действия, либо поле с выводом необходимой информации.

Расширенные возможности работы с Ссылками в Документе

Помимо привычных ссылок на другие страницы через символы "[[ссылка]]", пользователь может получать доступ к:

  • элементам Стэка/Смарт-Стэка через "/": [[имя-Стэк-страницы/имя-элемента-Стэка]]
  • комментариям Страницы через "//": [[имя-страницы//имя-комментария/имя-элемента-цепочки-комментариев]]
  • дочерним и родительским элементам в иерархии через "." и "..": [[имя-Страницы-в-иерархии.имя-дочернего-элемента..имя-Страницы-в-иерархии]]
  • входящим(обратным) и исходящим ссылкам Страницы через "<<" и ">>": [[имя-Страницы<<имя-обратной-ссылки]] и [[имя-Страницы>>имя-исходящей-ссылки]]

Это некоторая адаптация работы с автоподсказками в интеллектуальных средах программирования. Почему бы не применить это в работе с текстом?

Гибкая работа с ссылками в тексте. По аналогии работы с кодом в программировании.
Гибкая работа с ссылками в тексте. По аналогии работы с кодом в программировании.

Помимо обычной вставки других Страниц в Документ через "![[]]", есть возможность создания локальных Смарт-Стэков через "!([in][out])": !([Страница-Стэк-Рецепты][filter("сахар"), Страница-Стэк-Сладкое])

В настройках "Рабочей Зоны" у пользователя есть возможность назначить свои "спецсимволы" для работы с расширенной разметкой (например вместо символов "**" делать текст жирным по символам "$$")

Канвас

Канвас — это безграничное пространство, на котором можно размещать другие Страницы любых типов.

Например, я могу разместить в одной стороне несколько паутин связей, а в другой — открыть пустой текстовый документ. При открытии новых документов они будут свободно размещаться на холсте, и пользователь будет иметь возможность расставлять их и менять размер — больше не нужно мучаться с мультиоконностью, закреплением и откреплением страниц, подобно тому, как это происходит в Obsidian. Канвас позволяет работать со всеми типами страниц без необходимости открытия новых окон — инструменты редактирования динамически переключаются под активную Страницу.

Канвас
Канвас

В добавок к этому, пользователь может размещать примитивные геометрические фигуры, текст, изображения и рисунки стилусом.

Навигатор

Навигатор – это инструмент перемещения по пути к открытой Странице, а также глобальный и локальный поиск.

Навигатор
Навигатор

В левой стороне показывается путь к открытому файлу. При клике на Страницы, осуществляется переход к ним.

Нажав на свободное пространство активируется режим глобального поиска, а при введении символа "/" поиск будет осуществляться по выбранному Стэку/Смарт-Стэку, либо Документу.
Введя "+" можно быстро создать новую Страницу.

Возможности навигатора
Возможности навигатора

Результаты поиска можно открыть в отдельном окне – это временный Смарт-Стэк, с которым можно делать все, что и с обычным (и который можно сохранить).

Поиск
Поиск

Есть и режим визуальных связей, в нем визуально показывается путь к Странице, а также входящие и исходящие связи к ней. Эта Страница является временным Канвасом, который тоже можно сохранить.

Режим связей навигатора
Режим связей навигатора

Плагины

Чтобы не перегружать приложение функциями, которые могут не понадобиться пользователю, есть включаемые плагины.

Плагин "Задачи" позволяет помечать Стэк как "Выполнимое" и делать его проектом. Включение этого плагина создает в Организаторе 2 Смарт-Стэка: "Задачи" и "Выполненное".

Работа с хэштэгами также реализована через плагин (тут это называется "Контекст"): в организаторе активируется Смарт-Стэк с упоминанием всех хэштегов в проекте.

Есть плагины более специализированных "Контекстов": Контексты Времени (упоминания дат через "@"), контексты Места (упоминания геопозиций через "&"). Для этих Контекстов создаются специальные Смарт-Стэки, имеющие дополнительную опцию Представления: в виде таймлайна или календаря для Контекстов Времени и в виде географической карты для Контекстов Места. Плагин Контекста Времени также имеет возможность создать Смарт-Стэк "Сегодня" в Организаторе – для доступа к актуальным Страницам, а также "Когда-нибудь" – для неопределенных дат.

Пользователь может создать и свой "Контекст" – ему нужно задать спецсимвол, который будет собирать упоминания о нем во всех Страницах. Он также может изменить спецсимвол и для других Контекстов.

Послесловие

Чтобы не затягивать и без того очень подробное описание нереализованного приложения, опущу детали про идеи плагинов (работа с файлами/медиа, автоматизации "Рабочей Зоны", режим совместной работы, рекомендации связей по анализу ключевых слов и синонимов, экспорт "Рабочей Зоны" как веб-сайта и другие), про мобильное приложение (что в простом и минималистичном интерфейсе позволяет содержать в себе весь описанный функционал) и про идею единой "экосистемы исследователя", включающей в себя браузер, агрегатор email/мессенджеров/rss, инструмент визуализации данных, читалка epub/pdf/rtf/...

Идея совершенного приложения это конечно прекрасно, но без реализации она все же безполезна.

Анализируя свои возможности по организации создания такого продукта, я скорее оцениваю их как недостаточные.

Возможно, прочтение этого описания кому-то окажется полезным в реализации своего продукта, либо "Человек-Реализатор" вдохновиться и пожелает создать этот продукт – я буду рад принять участие в этом предприятии.

А пока, предлагаю всем заинтересованным в продукте людей оставить свой email – при появлении новостей по проекту, вы будете уведомлены:

По результатам прочитанного материала можно сделать вывод о моих невероятных возможностях нахождения, визуализации и описания продуктовых идей, поэтому вы всегда можете связаться со мной в телеграм, если видите, чем я могу быть вам полезен: @genrihgrigoryan

Также, вы можете подписаться на мой блог по философии: @originlook

1919
5 комментариев

Интересный концепт) спасибо за детальное описание) в статье не увидел пункта про планируемую монетизацию. На чем деньги делать-то будете?

Платное приложение (либо подписка, либо единоразовый платёж) + маркетплейс плагинов.
Если идти в сторону работы с медиа-файлами и возможностью облачного хранилища, то покупка дополнительного места в облаке.

Было бы еще очень неплохо, если добавить фишку ограничения доступа к страницам для гостей, или по паролю, а также ограничение по действиям - полный доступ, только редактирование, только комментирование и только чтение.

Это по умолчанию подразумевается при активации плагина совместной работы — про все мелкие детали в рамках и без того большой статьи нецелесообразно писать :)

Есть конечно моменты которые можно додумать.
Но даже без них ОЧ продуманный концепт!
Точно более продуманный чем обс ((