January 2, 2022

платформа для творчества

Представь программную экосистему, в которой один файл можно открывать в бесконечном числе различных программ для творчества. Хочешь отредактировать вектор — идёшь в векторный редактор. Анимировать — кидаешь тот же файл в инструмент для моушена. Добавить объёмных частей — открываешь в 3D редакторе. Потом хочешь их тоже анимировать, снова переходишь в моушен редактор. Ах, если бы инструменты для творчества умели так бесшовно общаться друг с другом...

Несколько лет назад я придумал создать эдакого конкурента Adobe: разные программы для каждой креативной задачи, со всеми можно работать одновременно над одним проектом. Есть несколько способов реализации такой экосистемы!

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

Конечно же можно и объединить все функции в одной программе и просто переключаться между режимами работы. Это модальная система (mode — режим). Так сейчас происходит в 3D редакторах типа Blender, где можно делать всё от рендеринга и самого 3D до анимации. Программа становится огромным комбайном — платформой, на основе которой можно сделать почти всё. И таким программам, кажется, это не сильно мешает. Думаю, в таком проекте важнее всего иметь очень мощный фундамент: максимально гибкий, но при этом строгий и формальный. Основной движок должен работать как часы.

Третья опция — можно упростить всё (но легче от этого не становится): фундаментом будет являться формат файла или метод коммуникации между приложениями — открытый протокол. Сейчас у многих приложений есть свой API и нужно использовать «клей», чтобы их соединить — писать код, который будет переводить данные в одну или в другую сторону. Если они будут использовать один протокол, по которому можно будет интегрировать их без написания лишних конвертеров, взаимодействие станет намного более тесным. Приложения станут больше похожи на тесно связанные модули одной большой системы, чем на отдельные островки созидания.

В этом же направлении мыслят Hundred Rabbits — классные ребята, делающие компактный красивый софт. Они говорят, что вместо сложных многофункциональных комбайнов, цифровые инструменты должны выполнять только одну задачу и тесно интегрироваться друг с другом, как кубики конструктора. А пользователь уже соберёт из модулей нужный ему инструмент. Не менее интересна и статья, на которую они ссылаются: http://viznut.fi/texts-en/permacomputing.html (осторожно, много букв!)

Ещё можно пофантазировать о создании такой платформы или экосистемы в онлайн среде, или как минимум чтоб она была подключена к интернету. Так все тяжёлые файлы будут храниться в облаке, обновление файлов во всех программах на всех устройствах станет моментальным, и даже Figma-мультиплеер может стать доступным по умолчанию везде. Если шагнуть ещё дальше, даже сложные вычисления такие как рендеринг можно будет переместить в облако (см. cloud gaming, Mighty app).

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

Го создавать креативную империю будущего вместе?


Основной канал: https://t.me/gleb_sexy