Редактор векторной графики Gravit стал открытым

Gravit

Немецкая компания Quasado выпустила исходный код редактора векторной графики Gravit под двойной лицензией — GPLv3+ и коммерческой.

Эта новость — несколько неожиданное продолжение драмы с участием смертельно обиженных на Adobe приверженцев Macromedia Freehand, а также собственно команды Quasado, которая пережила два ребрендинга проекта (Expressive > Stagestack > Gravit), неуспешную попытку краудфандинга и переписывание кода с Qt4/C++ на HTML5, CSS и JavaScript.

Новый редактор, получивший название Gravit, по-настоящему всеяден: он работает как онлайновое приложение, доступен в виде сборок для Linux, Mac и Windows, его можно установить в Chrome и Chrome OS. И да — теперь на GitHub ещё и доступен исходный код.

Gravit

Хотя рядом со свободным Inkscape и закрытым Adobe Illustrator приложение выглядит бедновато, имеющаяся функциональность обещает проекту интересное будущее. Базовые инструменты рисования, множественные обводки, система  привязки с «умными» направляющими, мастер-страницы, трансформации и выравнивание объектов — всё это делает готовящийся к сентябрю релиз 1.0 более чем просто любопытным.

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

Александр, судя по твоему посту на Medium, у вас не тот случай, когда компания разорилась и отдала сообществу код, потому что жалко  своего труда. Но вы и не резвая молодёжь, которая тащится от идеи свободного ПО, не понимая при этом, как на нём заработать. Какую бизнес-модель придумали себе вы?

Gravit — основа нашего будущего онлайнового облачного сервиса для совсместной работы над дизайнерскими проектами, взаимодействия  с заказчиками  и т.д. Это и будет основным источником финансирования разработки Gravit.

В посте на Medium ты также упоминаешь продажу коммерческих плагинов как ещё один источник доходов. Можешь привести пару примеров?

Конечно. Это, в первую очередь, быстрое прототипирование сайтов и создание анимации. Кроме того, мы работаем над коммерческим плагином, который реализует  интерпретатор PostScript и добавляет чтение и запись файлов AI, PDF, EPS и PS. Само собой, поскольку код Gravit открыт, желающие могут написать свободный аналог такого плагина.

Учитывая твой богатый опыт  работы с SVG (прим. ред.: проект Renesis SVG Player), немного странно, что вы используете в Gravit только HTML5, CSS и JS. Как это вышло?

Для наших задач SVG оказался слишком медленным и недостаточно гибким. Поскольку я изучил этот стандарт вдоль и поперёк, решение было не идеологическим, а сугубо техническим, и, как показала практика, верным.

То есть вы спроектировали собственный DOM?

Именно так. Если быть точным, мы придумали свою модель графа сцены (scene graph). Она очень похожа на модель, которую мы уже использовали в Stagestack (прим. ред.: старая версия программы на Qt4), и которая уже была оптимизирована под быстрый рендеринг и применение в сценах с большим количеством изменений, т.е., по сути, под анимацию.

Как Gravit будет справляться с крупными проектами, где много кривых, узлов кривых, градиентных заливок и блюра? Вы будете использоваться WebGL?

WebGL пока что не доступен повсеместно, да  и Canvas 2d за счёт аппаратного ускорения уже чертовски быстрый.

Главными причинами, по которым сообщество Free Freehand вас поддерживало, были планы создать редактор по образу и подобию Freehand и реализовать поддержку файлов в этом формате. Насколько успешна ваша работа в этих направлениях?

Gravit уже объединяет в себе всё самое лучшее из Freehand и Fireworks. Ну и кроме того, импорт файлов Freehand у нас уже частично готов, и этот код мы позднее тоже освободим, чтобы любой мог его улучшить.

Насчёт «самого лучшего из Freehand и Fireworks» в одном приложении: насколько близко вы воспроизводите принцип работы инструментов Freehand?

Сообщество Free Freehand выдало нам длинную презентацию, которую они когда-то подготовили для Adobe, чтобы показать, чего им не хватает в Illustrator. Большинство их запросов мы уже реализовали в Gravit (прим. ред.: стоит отметить, что часть запросов реализована и в Adobe Illustrator CC).

Но поскольку мы хотели создать инструмент, одинаково пригодный для экранной графики и вывода на печать, пришлось немало попотеть над объединением удачных решений из Fireworks и Freehand. В некоторых случаях проектирование занимало больше времени, чем написание собственно кода.

Сообщество Free Freehand до сих пор работает с вами?

Мы ожидали гораздо более активного участия. В контакте с нами осталось всего 25 человек или около того.

У меня сложилось впечатление, что вы переоценили готовность участников этого сообщества  финансово поддержать ваше начинание (прим.ред. было собрано ~48% от запрошенных 100 тысяч евро). И если страница Stagestack прямо упоминала Freehand, то  сейчас на странице проекта Gravit вообще ни слова о приложениях Adobe/Macromedia. Это маркетинговое решение?

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

Одним из  результатов переписывания Expressive/Stagestack с Qt4/C++ на HTML5/JS стало уменьшение  объёма кода с ~400 тысяч строк до ~100 тысяч строк. Как вы этого добились?

Тут есть несколько моментов:

  • Поработав над Expressive/Stagestack, мы поняли, как писать более эффективный код.
  • Мы написали более эффективную низкоуровневую библиотеку вычислительной геометрии.
  • Мы задействовали уже реализованные возможности браузеров, такие как поддержка HTML5 Canvas API, CSS3 и HTML5 Layouts.
  • JavaScript оказался настолько выразительным языком, что мы создали собственный объектно-ориентированный фреймворк для JS и за счёт этого уменьшили количество кода.

Ты считаешь возможным сделать Gravit векторным редактором с полноценной поддержкой плашечных цветов, CMYK и надёжного экспорта в PDF с обрезными и прочими метками?

Да! Это одна из самых сложных задач,  учитывая то, что программа написана всего лишь на HTML5, CSS и JS, но мы собираемся это сделать.

Как вы собираетесь решать проблему с лицензированием у Pantone? Будете использовать XREF?

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

Чем планируете заняться после выпуска Gravit 1.0 в сентябре?

«Предпечатной» частью функций программы. Кроме того, мы добавим некоторые вещи, которые хотелось бы перенести из Fireworks и Freehand, чтобы «нарастить мяса» в версии 2.0: символы, состояния (Fireworks) и расширенные возможности работы с типографикой (Freehand).

2 Comments

    • Как явно следует из текста интервью, онлайновый редактор — основа запланированного платного облачного сервиса.

      Как вы представляете «сделать как было»? :)

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*