Хабрахабр

История о том, как мы иконку PVS-Studio меняли

0 ознаменовал новую веху в истории анализатора PVS-Studio – теперь доступен анализ не только кода, написанного на C, C++, C#, но также и Java. Релиз 7. Было ещё одно глобальное изменение, которое вы навряд ли пропустили. Кроме этого глобального нововведения продолжают улучшаться и дорабатываться существующие механизмы анализа, добавляются диагностические правила. Мы изменили иконку.

В статье вы не найдёте хитрых приёмов или советов по разработке иконок. Примечание. Всё достаточно прозаично. Цель статьи немного в ином – рассказать историю, и по возможности сделать это интересно.
С чего такое решение? Почему бы её и не обновить с глобальным обновлением версии? Текущая иконка была уже старой и не менялась многие годы. 0 нужно придумать что-то новое. На том и порешили, что к релизу 7.

Для лучшего понимания следует проследить за историей изменений, которая будет изложена ниже. У вас наверняка возник вопрос – как от трёхмерных зелёных букв 'PVS' мы пришли к тому, к чему пришли?

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

Почему бы не использовать его в качестве иконки? Вернёмся к вопросу о том, зачем вообще понадобилось экспериментировать с геометрическими фигурами, если и в статьях, и на стендах – везде фигурирует единорог?

Да, единорог действительно уже сильно ассоциируется с PVS-Studio, поэтому перед экспериментированием с новой иконкой мы проверили, как смотрелся бы единорог в качестве иконки.

Некоторые примеры вы можете увидеть ниже.

Окно установщика:

Часть контекстного меню, вызванного из Solution Explorer:

И чем меньше иконка, тем хуже обстояли дела. Выглядит не очень, правда? Кстати, между собой мы прозвали эту иконку «бананом», так как в размере 16x16 от банана этого единорога отличить невозможно. В каком-нибудь Process Hacker, например, единорог смотрелся совсем уж неприлично.

На самом деле мы уже экспериментировали с единорогом в качестве иконки несколько лет назад. Поэтому мы решили не экспериментировать с рисованием новых единорогов специально для иконок, а попробовать изменить существующую (зелёные буквы 'PVS'). Результат работы был просто выброшен. Тогда была заказана разработка иконки у профессионала.

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

Были нарисованы 3 иконки, из которых и предстояло выбрать.

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

Были эксперименты с изменением расстояния между буквами, формой треугольника (с равнобедренного на равносторонний) и прочее. Третья представленная иконка хоть и выглядела лучше на фоне двух остальных, но всё ещё не удовлетворяла всем желаниям. Первая версия такой иконки выглядела следующим образом. Одним из ключевых моментов стал, пожалуй, отказ от одноцветности и расширение цветовой палитры – выделение отдельного цвета для каждой буквы.

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

Ключевым решением, которое сильно повлияло на дальнейшие работы, а также нашло отражение и в финальном результате, стало расположение буквы 'V' следующим образом:

Оставались вопросы по поводу границы между буквами 'P' и 'S', так как она не выглядела такой изящной, начиналась 'нигде' и уходила 'в никуда'. По поводу 'V' вопросов у нас больше не было – она идеально вписалась (хоть и была теперь больше похожа на галочку). По сравнению с 'V', линии которой и начинались, и заканчивались в углах фигуры, это выглядело уныло.

Давай выкинем её, и тогда линия на границе синего и зелёного естественным образом расположится аналогично 'V'.» И это было попаданием в яблочко! Тут коллегой (Paull, привет) была высказана мысль, которая определила дальнейшее ключевое направление работ (цитата не дословная): «А зачем нам эта 'надстройка' над треугольником?

Стали экспериментировать — смотрелось здорово. Красиво, минималистично, границы расположены так, как нужно! Чтобы при сравнении с другими, рядом находящимися, сразу было понятно, кто здесь фаворит. Довольные результатом, мы даже этот прототип решили назвать как-то по-особенному — 'UltimateTriangle'. Ну вы поняли, непредвзятое сравнение 🙂

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

Если буквы 'P' и 'V' здесь ещё как-то можно увидеть, то 'S' явно перестала читаться. У коллег же была другая претензия. Может быть её и можно было 'достроить', но для этого нужно иметь совсем крутое воображение.

Разрабатывая прототипы для решения обозначенной выше проблемы, Екатерина (ага, Kate_Milovidova, тебе тоже привет 🙂 ) немного изменила геометрию фигуры, добавив еще один угол и превратив её из треугольника в… вытянутый и подрезанный треугольник? Так от треугольника мы двинулись дальше. Неважно, как оно звучит, выглядеть это стало ещё более свежо!

Набросок новой фигуры:

А так он выглядел после переноса в цифровой формат:

Для представления буквы 'S' было решено попробовать использовать тёмную линию. Изменение геометрии явно пошло на пользу, но не хватало разделения элементов / выделения 'буквы' (кому чего). Результат представлен ниже.

Теперь основным элементом, выделяющимся на фоне остальных и акцентирующим внимание на себе, стала тёмная 'стрелка'. Как видно, линия усугубила дело.

Почти финальный вариант выглядел так: А вот разделение фигуры на три явно отделённых компонента решило проблему.

Коллеги тоже – теперь они более чётко видели здесь буквы 'PVS' (да как вы это делаете то?!). Я был доволен результатом.

Реакция Евгения, нашего генерального директора, (EvgeniyRyzhkov, привет и тебе тоже 🙂 ), сначала была примерно следующей: «Здорово, но где тут 'PVS'?» Удивительно, но через некоторое время и он стал видеть здесь буквы…

Дальнейшие доработки были связаны с небольшой корректировкой цветов и выверением расстояния между элементами – оно не должно было смотреться слишком большим, когда изображение отображается в крупном масштабе, но линия не должна выглядеть еле заметной полоской на маленьких изображениях – 16x16, например.

В итоге остановились на следующем варианте, который и стал финальным.

0, то уже наверняка и сами видели эту иконку, но на всякий случай приведу несколько примеров того, как она выглядит в разных местах. Если Вы использовали PVS-Studio 7.

Окно установщика:

Часть контекстного меню, вызванного из Solution Explorer:

Внешний вид окна прогресса анализа при переключении открытых окон:

Пример того, как новая иконка отображается при поиске:

Ниже представляю краткий путь от старой до новой иконки:

Кстати, не могу не спросить, а видите ли вы в новой иконке буквы 'PVS'? Вроде бы вышло неплохо, как считаете?

Заключение

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

Однако и с тех пор уже утекло много воды (как минимум, мы переехали в новый офис), так что нам определённо ещё есть, что рассказать… Тем, кому интересны подобные истории, рекомендую также прочитать статью (если вдруг вы её пропустили) "Как 10 лет назад начинался проект PVS-Studio".

The story of how we changed the PVS-Studio icon Если хотите поделиться этой статьей с англоязычной аудиторией, то прошу использовать ссылку на перевод: Sergey Vasiliev.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть