Будет ли интерфейс Blender улучшен в свете непрекращающихся дискуссий на эту тему? Тон Роозендаал высказал своё авторитетное мнение.
Предлагаем вашему вниманию полный перевод статьи, которую Тон выложил в блоге разработчиков незадолго до начала ежегодной конференции в Амстердаме.
В таком активном проекте как Blender тема интерфейса, эргономики, дизайна, фокуса и иных важных принципов неизбежно поднимается снова и снова. Это свидетельствует о том, насколько сильно желание сообщества сделать отличный инструмент создания 3D, и работа с «опенсорсной динамикой» такого рода — одна из сильнейших сторон веба и социальных медиа.
Но есть пара аспектов, требующих особого внимания. Динамика в онлайне уязвима, особенно когда люди чувствуют неуверенность в будущем или не знают, какая судьба ждёт их вклад в общее дело, либо не до конца уверены в процедуре принятия решений. Неуверенность и сомнения ведут к стрессу, и от этого люди становятся едкими, часто сами того не замечая.
Поэтому здоровый и цветущий опенсорсный проект должен быть максимально прозрачным. Необходимо предельно ясно говорить о ключевых целях и общих ценностях, доступно объяснять, как включиться в проект и как в нём принимаются решения.
В этой статье я попытаюсь просуммировать ключевые цели проекта, подтверждая тем самым нашу работу за последнее десятилетие, и позаботиться о том, чтобы мы вместе смогли двигаться дальше к великому будущему.
Фокус проекта: Blender предназначен для художников
Официально цель Blender Foundation звучит следующим образом:
Предоставить художникам-одиночкам и небольшим командам инструментарий полного цикла создания 3D.
В этом простом предложении сходятся воедино ключевые моменты.
Художники и команды:
Мы работаем для людей, которые считают себя художниками и создают 3D в одиночку или в составе небольших команд. Определение «художник» довольно расплывчато: в него можно включить инженеров, промышленных дизайнеров, архитекторов и учёных. Каждый из них может испытывать серьёзный интерес к работе с софтом для создания 3D в каких-то своих целях.
Фраза «Blender предназначен для художников» также означает, что API для программирования или среда исполнения скриптов для достижения этой цели имеют второстепенную важность.
Полный инструментарий для 3D:
Blender должен быть готов для создания завершённых, целостных продуктов, без необходимости покупать или запускать другие программы. Генерируемая им графика должна выглядеть настолько хорошо, чтобы ей можно было делиться с другими или сделать её основой своего дохода.
Поток производства:
Мы хорошо знакомы с тем, как работает производство компьютерной графики (для анимации, кино, спецэффектов, игр) и хотим, чтобы Blender закрывал все потребности профессионалов, чтобы пользователи могли вместе создавать сложные работы.
Свободный проект:
Blender следует быть не только полновесным пакетом производства 3D-контента, но и быть при этом свободным ПО!
Но, вместе с тем, Blender ориентирован на всех
В продуктовом маркетинге совершенно обычна ситуация, когда целевая аудитория намного меньше реальной аудитории. Одним просто нравится относить себя к группам людей, которых они считают крутыми, а другие действительно работают над тем, чтобы стать частью этих групп.
В свободном софте вроде Blender эта конфликтная ситуация ещё заметнее. По какими-то причинам для дорогого 3D-софта быть узкоспециализированным — норма, но бесплатный/свободный софт при этом, «разумеется», обязан угодить всем.
Это ложное представление живо и внутри самого сообщества СПО. Почитайте, что на Slashdot пишут о Blender, и вы сами увидите, как сообщество вокруг Linux считает, будто Blender принадлежит именно ему, а мы (конечно же) никак не можем им угодить.
Поэтому мы делаем продукт для небольшой группы людей и даём его всем. Ну и противоречие! Но, как видите, это работает. Пожалуй, я собьюсь со счёта, если попытаюсь прикинуть, с каким энтузиазмом о Blender отзывались люди, которые обнаружили, что эта крохотная ерундовина оказалась вполне продвинутой и полезной для решения их задач и в прямом смысле слова изменила их жизнь.
«Легко изучить» против «легко пользоваться»
В идеале вы делаете инструменты такими, чтобы они были просты в изучении, имели очевидный интерфейс, быстро работали и оставались удобными даже когда вы с ними давно и прочно освоились.
На практике же это не всегда так, и уж точно это не про 3D. Если вы решили разработать лёгкие в освоении инструменты для работы с 3D, вам придётся пожертвовать скоростью работы и простотой для опытных пользователей. Вам придётся спроектировать интерфейс, который оптимален для новичка и не пригоден для опытного пользователя, имеющего желание и возможность делать сложные вещи и обладающего достаточным временем для «вылизывания» конечного результата.
В случае с инструментами, которыми вы пользуетесь ежедневно, действует простое правило: научись один раз, пользуйся всю жизнь. Поэтому мы стараемся сделать функции Blender в первую очередь удобными и согласованными между собой. В этом случае инструменты получаются логичными и воспринимаются как интуитивно понятные.
Мы делаем Blender для его пользователей
Мы не пытаемся сделать программу намеренно исключающей широкое применение — любой может стать пользователем Blender. Обычно, чтобы немного «подколоть», я говорю, что не слишком заинтересован в завоевании новых пользователей. Но это и правда неразумное целеполагание.
Ровно так же я не заинтересован в поддержке пользователей Maya, SketchUp или форумных троллей, который всё равно не пользуются Blender. А зачем нам это? К чему работать ради людей, которым ваша работа не слишком-то и важна, если у вас уже есть сотни тысяч благодарных пользователей?
Работая с людьми, которые держатся нас годами, которые вложили время и силы в изучение Blender, которые начали своё дело, используя программу, или даже просто пользуются ею ради удовольствия, мы как минимум получаем лояльных пользователей, которые настроены позитивно и руководствуются правильными соображениями. Позитивная энергия, позитивные результаты и счастливые пользователи!
Не ориентируйтесь на середину
В повседневной жизни вы имеете дело с большим числом программ, каждая из которых помогает решать совершенно определённые задачи. Вы можете рисовать, писать тексты, готовить макеты публикаций для печати, редактировать изображения и при этом не испытывать никакого интереса к получению профессиональных навыков выполнения работы такого рода.
Именно здесь в игру вступают стандарты: усреднение, пресловутый «общий знаменатель», общераспространённые установки по умолчанию и т.д. Всё это — совершенно нормальные вещи, необходимые для получения быстрого результата. Но это не значит, что такой подход идеален и достоен подражания. В противном случае вы рискуете навсегда застрять на уровне новичка.
Я считаю самого себя середнячком — в плане таланта и в плане владения техническими навыками. Я понимаю условности и могу принять их, либо отказаться от них, использовать готовые установки по умолчанию или создать собственные. Важнее здесь то, что я предпочитаю ориентироваться на совершенство: что во всём мире самое лучшее, и как я могу сделать это доступным в Blender? Я хочу коснуться звёзд!
Все программисты и художники, с которыми мне довелось работать в прошлом и с которыми я работаю по сей день, разделяют со мной эту страсть. Мы знаем, что, возможно, мы — посредственность без особых навыков. Но мы не довольствуемся имеющимся и ориентируемся на самое лучшее.
Я бы ни за что не стал ставить своей целью получение среднего результата — я хочу поднять планку среднего результата. Следование общепринятым соглашениям тут не поможет, здесь надо следовать видению.
Разработка на волне производства
Ключевыми событиями, которые сформировали Blender, стали открытые игровые и кинопроекты, которыми руководили Blender Foundation и Blender Institute.
Мы на полгода (и даже больше) набирали в команду лучших 3D-художников, чтобы сделать реально интересный проект, а в центр внимания поставили их потребности для решения задач в ходе производства контента.
Любой, кто работал над подобным проектом, может подтвердить: интерфейсы с упором на красоту не помогают делать кино. Первоочередное значение имеет надёжность софта и его способность решать ваши задачи, а также предоставлять предсказуемо работающие и стабильные, но очень продвинутые функции.
Разумеется, этим 3D-художникам важна эргономика — они обожают грамотно спроектированные интерфейсы. И, конечно же, они ненавидят несогласованности и презирают все недоработки в Blender, о которых нам прекрасно известно.
Но существующие недочёты находятся в балансе со всем остальным, ведь наш приоритет — технологии. Мы помогаем художникам решать творческие задачи, давая им продвинутые функции, даже если первое время у этих функций отвратный интерфейс.
Я хочу, чтобы в ближайшие годы такие художники и команды стали движущей силой в разработке Blender. Для этого мы готовимся запустить проект Gooseberry (полнометражный фильм, который будет создан географически распределённой командой), и, конечно, планируем поддерживать нашу профессиональную соцсеть Blender Network.
Взять и заменить весь интерфейс?
Многие опубликованные недавно идеи по улучшению эргономики могут создать ложное впечатление, будто интерфейс Blender можно вот так взять и поменять. Или что за эту работу можно заплатить, даже если для этого придётся нанять дюжину людей и год платить им зарплату.
Ошибкой здесь является мнение, будто интерфейс — это что-то существующее вне внутренней логики программы и легко заменяемое. На самом же деле, хороший интерфейс (и уж точно это про интерфейс Blender) не является абстрактным слоем поверх бэкенда. Напротив, он является отражением внутреннего устройства программы.
В реальности достаточно существенная часть кода Blender (больше четверти) является «интерфейсом». Вы не можете написать хоть какой инструмент, не понимая «интерфейс». Вы не можете делать композитинг или рендеринг, не следя за ним. Система частиц является «интерфейсом». То, как работает система анимации, тоже относится к «интерфейсу». Чтение и запись файлов — опять «интерфейс». Даже откат действий является «интерфейсом».
Поэтому заменить интерфейс настолько же реально, насколько реально подменить сценарий в кинофильме. Давайте не будем сейчас этим заниматься. Полное переписывание Blender рано или поздно может случиться, но я считаю, что во внутреннем дизайне Blender всё ещё немало удачных идей, а нерешённых задач нам хватит на несколько лет работы вперёд.
Все мы люди, все мы человеки
С 2010 года разработчики ведут в вики список задач, которые необходимо решить. В него включён перечень ошибок, которые невозможно исправить «малой кровью», хотя сделать это обязательно надо.
Этот список уже сейчас пугающе велик. Многие функции в Blender — совершенно калечные, недоделанные или работающие наполовину. Это видно и невооружённым взглядом, но если всмотреться пристальнее, то окажется, что это касается почти каждой всего Blender.
Чем же тогда все занимаются? Ведь с 2010 года в код внесены десятки тысяч исправлений и улучшений, дописано множество новых инструментов и функций. И всё же остаётся столько недоделок и откровенных косяков? Как вообще может быть, что интерфейс до сих пор в ужасном состоянии?!!одинодин!!
Было бы неплохо, если бы люди, которые критикуют Blender (или хотят поучаствовать в его разработке), потратили немного времени на изучение матчасти. Команда проекта, а это более 100 регулярных участников, не сказать чтобы изнывала от безделия в ожидании гениальных идей извне. Ну и назвать их некомпетентными идиотами тоже никак нельзя. Каждый участник проект знает недочёты Blender и свои собственные недочёты. Но они честно стараются.
Держать этот проект на плаву — нелёгкая задача, но ещё больше сил отнимает его развитие. Простые решения проблем, к сожалению, кончились. Если бы мы о них знали, мы бы давно их применили, знаете ли!
Ну и последний момент – работа должна быть в УДОВОЛЬСТВИЕ! Нужно испытывать неподдельный интерес, «зависая» с разработчиками, работая с художниками и поддерживая дружелюбный и открытый проект. У нас тут не корпорация, и я надеюсь, что так будет и впредь. Мы можем себе позволить относиться ко всему спокойнее — принимать несовершенство как данность и добавлять в Blender недоделанные, но многообещающие проекты.
Включайтесь в работу!
Критически важным фактором успеха для Blender является ежедневное взаимодействие пользователей с разработчиками. Принятием решений и работой по ним занимаются «команды модулей» — небольшие группы разработчиков и художников, которым выданы соответствующие полномочия.
Этот подход работает очень хорошо, особенно когда роли участников прозрачны, и когда с участникам команды можно открыто обсудить их работу. И уж точно это лучше, чем голосование и онлайн-опросники.
Такие команды сформированы вокруг разных участков кода Blender: анимация персонажей, спецэффекты и motion tracking, Cycles и шейдеры, игровой движок, инструменты моделирования.
Точно так же отдельная команда занимается интерфейсом, но последние два года её активность невелика. Им нужные новые дизайнеры, которые умеют писать код, либо программисты, которые умеют дизайнить. Но им также нужны и художники с высоким авторитетом, которые будут активно тестировать изменения и регулярно принимать участие в принятии решений.
Надеюсь, что в ходе ближайшей Blender Conference или вскоре после неё мы сможем спланировать дальнейшую работу команды, занимающейся интерфейсом. Эта команда не будет «решать будущее интерфейса», она будет заниматься совершенно приземлёнными вещами — следить за происходящим в разработке и взаимодействовать с программистами.
Первой задачей, очевидно, будет один из проектов Google Summer of Code этого года, где студент занимался разработкой новой панели инструментов.
Что будет со всеми предложенными идеями по интерфейсу?
Давайте сначала договоримся, что мы сходимся во мнениях о фокусе проекта и главных проблемах дизайна Blender. Этот фокус нужен нам, чтобы вместе двигать проект в будущее. Если мы договоримся об этом, все моменты, по которым мы сейчас не сходимся, в дальнейшем могут быть улажены.
Немало поступивших предложений сводятся к тому, что Blender должен быть проще для новичков, оставаясь мощным инструментом профессионалов. Опытным пользователям тоже нравятся панели инструментов и настраиваемость интерфейса. Но это могут оценить по достоинству и начинающие пользователи, поэтому нужно просто взять и сделать это.
Интеграция Python в Blender тоже со временем обрастёт дополнительными возможностями. API для управления интерфейсом уже существуют, но мы дополним их функцией создания и построения собственных редакторов. Это можно будет использовать самыми разными способами — например, перекраивать UI под риггинг или трёхмерную печать для студентов.
Я прекрасно понимаю, что главной причиной страстных дискуссий вокруг интерфейса является отсутствие активной работы в этом направлении. Наш проект должен быть более открыт для новых разработчиков, и для этого нам надо улучшить документацию, наладить взаимодействие с аудиторией через сайт и активнее рассматривать патчи. Мы знаем, что реальный объём работы всегда больше посильного!
С другой стороны, наш проект уже невероятно успешен и активен. Вот действия, которые мы собираемся предпринять:
- Обновить blender.org, инструменты отслеживания ошибок и обработки патчей. Перейти на Git.
- Убедиться в том, что команды модулей активны и включают как участников проекта, так и заинтересованных пользователей.
- Расширить команду фонда (спонсируемых разработчиков) специалистами, которые могут программировать интерфейс и заниматься эргономикой.
- Сделать следующий открытый кинопроект, увеличить участие студий и профессионалов и сделать так, чтобы они могли нанимать программистов и стали активными членами сообщества, участвующими в принятии решений.
Подведём итоги! Да, мы будем заниматься интерфейсом. Но мы будем вносить не радикальные изменения, а решать проблемы одну за другой. Для этого нам понадобятся людям, способные справиться с этой задачей в нужный момент.
И давайте не забывать об истинной цели – сделать инструмент для 3D-художников, которые хотят рассказывать истории, создавать умопомрачительные работы, игры и мультфильмы. А ещё — вместе получить море удовольствия!
Тон Роозендаал
Источник: (Re)defining Blender
6 ответов to “Тон Роозендаал о будущем интерфейса Blender”
25.10.2013
krreНа Git нужно было ещё пять лет назад перейти. Хорошо хоть разговоры на эту тему пошли, а то раньше вообще даже не заикались.
25.10.2013
Александр ПрокудинЕсли я правильно понимаю, там уже не разговоры пошли, а подготовка. Чтобы после выпуска 2.69 и перейти.
25.10.2013
IntuosВообще я в большем согласен с Тоном .Какой нафиг интерфейс , причем тут вообще интерфейс , вон автостол прикрутили рибоны везде и что , большая половина юзеров сидит под автокадом на классике ,в максе все его по максимуму минимизируют, а то Андрюша всех прям взбудоражил, не канеш кастомизация это круто но суть не…
Инструментарий и стабильность во главу ставить надо.
Можно посмотреть на Збраш там с интерфейсом вообще караул , ну все ни как у людей,а считается почти эталоном .
26.10.2013
КолобокОх, как много чита-а-ать-то… Не, тов. Прокудину, конечно, прижизненный памятник, но я не осилил дочитать. :)
06.11.2013
ivanя в блендере слаб, но можно высказаться? пора подумать про уменьшение ручной работы,про увеличение гибкости.делать 2 года 15 минутный фильм слишком долго.
06.11.2013
Александр ПрокудинЭто вы о каком мультфильме? :)