Предлагаю читателям Geektimes статью Рэя Сан «Inventing Favicon.ico».

В 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)


  1. bachin
    07.04.2015 18:24
    +1

    Иконка сайта — вещь незаменимая в браузере в котором открыто несколько вкладок.
    Есть два вопроса (да, я понимаю что это перевод, вопросы к читателям, а не к автору):
    1) зачем надо было изобретать свой собственный формат .ico который даже родным виндовым пейнтом нельзя было создать?
    2) кто-нибудь может сказать почему в «старой опере» отказались от иконки в списке посещенных урлов по дефалтовым настройкам? я до сих пор пользуюсь этим браузером и каждый раз после установки приходится восстанавливать иконку (и несколько других вещей)


    1. Ayahuaska
      07.04.2015 18:30
      +7

      1) В одном файле несколько разноразмерных значков + прозрачность же.


      1. rocket
        08.04.2015 15:20

        1) Подскажите примеры использования favicon для размеров, более чем 16x16?
        2) Почему при создании технологии apple-touch-icon не решились использовать контейнер ico, если он так хорош?


        1. peter-moskvin
          08.04.2015 16:03

          1.1 Например в IE есть возможность закрепления иконок на панели задач. Там ожидаются иконки большего размера
          1.2 С увеличением разрешения, очевидно, размер favicon должен быть больше
          1.3 Любой браузер может закреплять ярлык сайта на рабочем столе. С иконкой…


        1. Aingis
          08.04.2015 16:18

          2) Очевидно, размеры не те, а Apple любят чтобы всё было вылизано идеально под них.


        1. Ayahuaska
          09.04.2015 08:39

          Раз уж начали говорить, об ICO, давайте не забывать, что он не только в фавиконах есть.


    1. lolipop
      08.04.2015 01:41
      +1

      в те времена вкладок еще не существовало, т.е. эта иконка была видна только в одном случае — когда страничка была добавлена в избранное. т.е. фича по сути всё же бесполезная на тот момент.


    1. alemiks
      08.04.2015 17:35

      >Иконка сайта — вещь незаменимая в браузере в котором открыто несколько вкладок.
      угу (с) Apple Safari


    1. nitro80
      12.04.2015 14:06

      >>>.ico который даже родным виндовым пейнтом нельзя было создать

      Что-то не понимаю, вполне ms paint умел сохранять в ico (правда расширение надо было руками вписывать)


  1. SerJook
    07.04.2015 18:24
    +19

    Причина миллиарда ошибок 404 по всему миру.


    1. Iv38
      07.04.2015 19:19
      +9

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


      1. AreD
        07.04.2015 21:36
        +3

        А если подумать, иконка задается в секции head, и ничто не мешает не дергать этот урл, если иконка не прописана, ну вести себя как с обычными картинками, но нет, браузер дергает ее паралельно с первым запросом первой страницы. Возможно ваш вопрос не к тому, кто изобрел favicon, а к производителям современных браузеров?


        1. Iv38
          07.04.2015 21:42
          +8

          Разработчики браузеров не хотят ломать обратную совместимость с этим «стандартом», который никто не принимал. Плохо, что эта фича была внедрена настойчивым разработчиком и неопытным менеджером проекта. Возможно именно из-за непроработанности идеи ее и не хотел принимать начальник главного героя.


          1. Reeze
            08.04.2015 00:14
            +3

            Some men just want to watch the world burn.


        1. force
          08.04.2015 16:11

          Сервер может вернуть ошибку, если он динамический (или какой-нить nginx выплюнуть 502), а т.к. иконка обычно отдаётся статикой — она может загрузиться.


    1. forgotten
      08.04.2015 17:42

      Миллиарда ли…