В 1998 году я работал начинающим программным менеджером в команде Internet Explorer в Microsoft. Моим первым проектом был выпуск Internet Explorer 4 Plus, CD-диска c IE4 и кучей другого триального мусора, который мы продавали по $49 за коробку. Да, собирайтесь-ка вокруг ребятки, сейчас я расскажу вам о временах, когда браузеры продавались в физических коробках на CompUSA, пачка жвачки стоила половину цента, а кола все еще содержала кокаин.
Ну, я отвлекся.
Мы выпустили Internet Explorer 4 и активно работали над Internet Explorer 5, который был полон крутых фич, таких как оффлайн-режим при помощи CDF, совершенно новый движок Trident, а также «Weblications» — сильно опередившая свое время попытка дать разработчикам возможность создавать богатые приложения в браузере (хотя, я думаю, что это и привело в конечном итоге к изобретению AJAX).
В то время я постоянно оставался на работе до 10 вечера, в основном, из-за бесплатного ужина, ну и отсутствия личной жизни.
И вот, в один из таких вечеров один из наших старших разработчиков Бхарат Шиям попросил меня заглянуть к нему в офис, чтобы показать что-то. Думаю, он как раз писал в тот момент какую-то удивительную, но совершенно бесполезную спецификацию или патент. Так что я направился к нему в офис, где нашел Бхара согнувшимся над своим компьютером — это был 133-мегагерцевый пентиум — в одном окне которого было полно нелепицы Win32 C++ COM, а в другом был его локальный билд IE5.
«Зацени это», — сказал он и добавил закладку в любимые. Удивительно было то, что слева от его закладки красовалась милая иконка! До той поры еще никто не изобрел технологию, позволяющую делать это. Однако Marc Andressen не думал об этом, и этот парень богат, не правда ли?
Бхарат сказал: «Неплохо, не правда ли? Ну что, включим эту фичу?». Я ответил: «Да, конечно, но как это работает?». Далее он рассказал мне, что все, что нужно сделать — это просто добавить файл favicon.icon в корень своего IIS-сервера! Так что я сказал: «конечно, это звучит здорово» — и отправился обратно к себе в офис.
На следующий день мой начальник позвал меня к себе. «Ты согласовал эту фичу?». Я ответил: «Да, конечно». Тогда он накричал на меня, сказав, что Бхарат использовал меня — он специально искал молодого PM-а, чтобы включить эту фичу, а я должен был отказать. Я пообещал, что впредь так делать не буду.
Но теперь, когда я оглядываюсь назад, понимаю, что мы все сделали правильно. Серьезно, ну насколько опасна могла быть эта фича?
Я все еще помню, как рассказывал своему другу Майклу Редвину из Yahoo о favicon.ico. Он просматривал логи Yapache ради интереса, как он это обычно делал, и заметил необычный вспелск HTTP запросов по адресу www.yahoo.com/favicon.ico. Он спросил, что это за штука, favicon.ico? Я объяснил ему. Он был настолько возбужден, что тут же закинул фавикон на сервер, что, похоже, стало первым официальным фавиконом в истории.
Вот вам история изобретения favicon.ico. Для вас, ребятки.
Рэй.
Комментарии (16)
SerJook
07.04.2015 18:24+19Причина миллиарда ошибок 404 по всему миру.
Iv38
07.04.2015 19:19+9Да, вот это отвратительно. Вместо того, чтобы позволить владельцу сайта указать иконку в коде, они просто взяли и захардкодили ее, включая и формат файла. Теперь указать иконку можно, и даже формат может быть не ico, но если она не указана, браузер все равно ее запросит. До сих пор. Один лишний запрос, но масштабированный на миллиарды сайтов.
AreD
07.04.2015 21:36+3А если подумать, иконка задается в секции head, и ничто не мешает не дергать этот урл, если иконка не прописана, ну вести себя как с обычными картинками, но нет, браузер дергает ее паралельно с первым запросом первой страницы. Возможно ваш вопрос не к тому, кто изобрел favicon, а к производителям современных браузеров?
Iv38
07.04.2015 21:42+8Разработчики браузеров не хотят ломать обратную совместимость с этим «стандартом», который никто не принимал. Плохо, что эта фича была внедрена настойчивым разработчиком и неопытным менеджером проекта. Возможно именно из-за непроработанности идеи ее и не хотел принимать начальник главного героя.
force
08.04.2015 16:11Сервер может вернуть ошибку, если он динамический (или какой-нить nginx выплюнуть 502), а т.к. иконка обычно отдаётся статикой — она может загрузиться.
bachin
Иконка сайта — вещь незаменимая в браузере в котором открыто несколько вкладок.
Есть два вопроса (да, я понимаю что это перевод, вопросы к читателям, а не к автору):
1) зачем надо было изобретать свой собственный формат .ico который даже родным виндовым пейнтом нельзя было создать?
2) кто-нибудь может сказать почему в «старой опере» отказались от иконки в списке посещенных урлов по дефалтовым настройкам? я до сих пор пользуюсь этим браузером и каждый раз после установки приходится восстанавливать иконку (и несколько других вещей)
Ayahuaska
1) В одном файле несколько разноразмерных значков + прозрачность же.
rocket
1) Подскажите примеры использования favicon для размеров, более чем 16x16?
2) Почему при создании технологии apple-touch-icon не решились использовать контейнер ico, если он так хорош?
peter-moskvin
1.1 Например в IE есть возможность закрепления иконок на панели задач. Там ожидаются иконки большего размера
1.2 С увеличением разрешения, очевидно, размер favicon должен быть больше
1.3 Любой браузер может закреплять ярлык сайта на рабочем столе. С иконкой…
Aingis
2) Очевидно, размеры не те, а Apple любят чтобы всё было вылизано идеально под них.
Ayahuaska
Раз уж начали говорить, об ICO, давайте не забывать, что он не только в фавиконах есть.
lolipop
в те времена вкладок еще не существовало, т.е. эта иконка была видна только в одном случае — когда страничка была добавлена в избранное. т.е. фича по сути всё же бесполезная на тот момент.
alemiks
>Иконка сайта — вещь незаменимая в браузере в котором открыто несколько вкладок.
угу (с) Apple Safari
nitro80
>>>.ico который даже родным виндовым пейнтом нельзя было создать
Что-то не понимаю, вполне ms paint умел сохранять в ico (правда расширение надо было руками вписывать)