Возможно, вы никогда не слышали словечка «веппи», но теперь будьте готовы встречать его всё чаще — до тех пор, пока оно не войдёт в айтишный сленг наравне с привычными «веб», «байт» или «пиксель». Веппи — не хиппи цифрового века и не программный интерфейс для новомодных облачных решений, а «всего лишь» новый графический формат, претендующий на место сразу двух титанов сегодняшнего дня: JPEG и PNG. Facebook только что приступила к его внедрению, и этот шаг может стать решающим для судьбы как самого формата, так и всей Веб.
WebP — так он называется — совсем юный проект (трёх лет отроду), замечательный тремя аспектами. Во-первых, он позволяет хранить изображения как с потерями, так и без, причём размер файла в обоих случаях оказывается примерно на треть меньше, чем при использовании соответственно JPEG или PNG. Качество же — если без эстетства, с чисто потребительских позиций — от джипеговского неотличимо. Да, попиксельное сравнение выявит разницу между двумя форматами, однако в реальности, для абсолютного большинства простых пользователей с массовой фотоаппаратурой (где по сей день выше ценятся лишние мегапиксели, нежели сантиметры апертуры), картинки будут выглядеть одинаково.
Ради спортивного интереса попробуйте угадать, какие из сопровождающих колонку фотографий сохранены в JPEG, а какие в WebP (разница в размерах файлов почти двукратная). Чтобы не вносить дополнительных искажений, я использовал формат PNG.
Во-вторых, обеспечивая схожее качество и тот же функционал (в том числе прозрачность и анимацию), WebP обладает легко параллелизуемой структурой, что позволяет достичь сравнительно большей скорости обработки картинок. Итоговое время, правда, высчитать не так просто: нужно учесть и то, что сложность математики значительно выше джипеговской (кодирование пока в десять раз медленней при одинаковом конечном размере файла, декодирование — в полтора), но и размер файла меньше. В общем и целом скорость отображения отдельно взятой картинки получается немного выше, чем для JPEG. И отсюда — третий важный момент: алгоритм WebP патентами не обременён, исходники опубликованы под свободной (BSD) лицензией, а потому оптимизацию по скорости, конечно же, кто-нибудь ещё проведёт. Сейчас разработкой Веппи руководит Google, которая, собственно, и запустила этот формат: WebP и родственный видеодвижок VP8 достались поисковому гиганту вместе с компанией On2 Technologies, приобретённой в 2010 году. За три года гугловцы основательно доработали покупку, и теперь WebP готов к бою.
В лице Facebook Веппи нашёл своего самого крупного сторонника. Команда Цукерберга, впрочем, подошла к вопросу осторожно. С недавних пор часть фейсбуковской аудитории, пользующаяся браузерами Chrome и Opera (только они пока поддерживают WebP нативно, во всех остальных случаях требуются танцы с яваскриптом или Flash), при просмотре фотографий стала получать вместо привычного JPEG картинку в новом формате. Лично вы, скорее всего, в число избранных не попали, но вы можете заставить Facebook передать вам отдельно взятое изображение в WebP: при наличии совместимого браузера откройте изображение в новой вкладке, после чего допишите после «.jpg» в адресной строке «.webp»
Но для чего такому крупному игроку, как Facebook, понадобилось заморачиваться с практически неизвестным форматом? Дело в том, что мелкие плюсы Веппи, помноженные на фейсбуковский масштаб, оборачиваются заметной экономией. Прежде всего, это экономия трафика: примерно две трети среднестатистической веб-страницы сегодня составляют изображения, так что, передавая даже часть картинок в новом формате, Facebook экономит терабайты ежесуточно. В выигрыше и пользователи, ведь веппи-файлы меньше, а значит, передаются быстрей. А в перспективе, когда разработчики займутся оптимизацией, та и другая сторона выиграют и от более высокой скорости обработки веппи-изображений.
Обратная сторона эксперимента пока что — это несчастные пользователи, пожелавшие выгрузить фотографию из Фейсбука и получившие файл с невразумительным расширением .webp. Ни обработать, ни распечатать, ни даже просмотреть его привычными средствами они, скорее всего, не смогут: проприетарный софт понятия не имеет, что это такое (в Линуксе и Android дела обстоят лучше: мне, в тестовой версии Debian, не понадобилось даже ничего настраивать).
Что ж, однажды мы уже проходили нечто подобное. Вспомните историю PNG, появившегося в середине 90-х, но ещё и в середине нулевых остававшегося «неконвертируемой валютой»: Internet Explorer его не поддерживал либо поддерживал плохо, так что, вставляя PNG-изображение на сайт, вы рисковали, что его не увидит большая часть посетителей. В итоге Microsoft потребовалось на семь лет больше, чем сообществу open source, чтобы реализовать вменяемую поддержку PNG в своих продуктах. Зато после этого будущее новому формату было обеспечено.
Сегодня ситуация очень похожая, с той лишь разницей, что акценты в мире ИТ сместились и роль Microsoft вполне способны сыграть такие компании, как Google и Facebook. Первая уже давно применяет WebP в своих веб-сервисах, но делает это пока ещё незаметно, а потому безболезненно для пользователей. Facebook только что приступила ко внедрению. Одновременно, когда возможно, Веппи используют ещё как минимум 300 тысяч сайтов, в том числе крупных, вроде eBay. Масса сторонников нарастает, подобно снежному кому: на днях Mozilla, до того сторонившаяся WebP из-за технической сырости (неумения хранить метаданные, цветовые профили и прочее, пофиксенное к настоящему времени) и кажущейся проприетарности (таки у формата один хозяин — Google!), тоже начала работу над поддержкой его в Firefox.
Вообще, конечно, сомнительная открытость способна изгадить даже самые интересные технические решения. PNG появился как замена суперпопулярному GIF, правообладатели которого дали понять, что могут потребовать компенсацию за пользование форматом. А часто ли вы слышите о JPEG 2000 или JPEG XR — наследниках JPEG, патентная чистота которых вызывает если не нарекания, то сомнения и, естественно, препятствует их распространению? WebP в этом смысле тоже оставляет желать лучшего.
За Google закрепилась слава революционера, но революционера, предпочитающего совершать революции в одно лицо. Схема нехитрая и, в общем, уже отработанная: компания делает перспективную разработку, демонстрирует её публике, допускает к ней разработчиков со стороны, но определяет курс фактически единолично. Так было с Android, SPDY (скоростной заменой HTTP), Dart (замена Яваскрипту), так же и с WebP. Пожив в мире, который построила Microsoft, стоит ли удивляться, что многие теперь побаиваются свалиться в мир, построенный Google?
P.S. Слева — JPEG, справа — WebP.