
How We Got the Favicon (2017) - simonpure
https://thehistoryoftheweb.com/how-we-got-the-favicon/
======
billti
When I'm testing locally with a trivial site, those favicon 404 requests
bugged me when checking the log. I'm also a little bit obsessive about keeping
my pages small. This resulted in me going down a rabbit hole of the GIF spec
to see the smallest inline blank favicon I could create. I ended up with:

    
    
      <link rel="icon" href="data:image/gif;base64,R0lGODlhEAAQAAAAACwAAAAAAQABAAACASgAOw==">
    

Putting that small line in my HEAD tag gets rid of those annoying extra
requests, and results in no favicon (it's just a totally transparent image).

If interested in the format, I put a gist up at
[https://gist.github.com/billti/81d4b601c9022ba3655a3a03873ca...](https://gist.github.com/billti/81d4b601c9022ba3655a3a03873caff8)
with the small node.js script I wrote to generate various examples. (You can
see more examples and links in the comments in the top if interested).

~~~
simonpure
I was looking into the same issue and learned that modern browsers now also
support SVG images for favicons.

So far, this is what I've come up with -

    
    
      <link rel="icon" href="data:image/svg+xml,%3csvg%3e %3c/svg%3e">

~~~
billti
Interesting solution! It shows at the "no favicon" image on the page tab (the
dog-eared page icon) in the latest Chrome/Edge for me, not as a blank/clear
icon. (I get that same result when I used GIFs that were invalid).

~~~
simonpure
Thanks for letting me know. I probably have to tweak it a bit to make sure
it's valid in all browsers.

While researching, I've found some fun things people have been doing using
text and emojis in SVGs [0]

[0] [https://lean8086.com/articles/using-an-emoji-as-favicon-
with...](https://lean8086.com/articles/using-an-emoji-as-favicon-with-svg/)
[1] [https://css-tricks.com/emojis-as-favicons/](https://css-
tricks.com/emojis-as-favicons/)

------
neilv
I've never heard the definitive story of how autocomplete got added to the URL
bar, but it might've been a particular route from Emacs...

I was talking with a manager for one of the Web browsers in '96, and mentioned
a little Emacs add-on,
[https://www.neilvandyke.org/webjump/](https://www.neilvandyke.org/webjump/) ,
which combined Emacs autocompletion with a bunch of arbitrary site-specific
code to be a smart hotlist/bookmarks/search/etc. for Web browsers. The manager
suddenly ignored everything else we were talking about, which I thought was
more important, and drilled down into this little Emacs curiosity. Next thing
I knew, completion was added to their browser's URL bar (but not the other
things WebJump did).

The autocompletion wasn't my invention (it might've been Emacs's, decades
earlier), of course, and a lot of people knew about it, including via noted
Emacs hacker JWZ famously at Netscape, so there are numerous other paths it
could've coincidentally gotten into browsers. I'd just be slightly tickled if
that one conversation happened to be the prompt for someone's effort to add
it.

------
neilv
When people went through or analyzed their Web logs, bandwidth was expensive,
and a page load was often 1 small HTML request plus maybe a GIF/JPEG or 3...
the addition of these favicon requests was annoying. Also, Microsoft was
widely disliked by Internet people, so this didn't help.

Another funny thing about the favicons... Sun had a template that a lot of
people ended up copying, but the file format contained multiple resolutions.
So it wasn't that unusual to see a Sun favicon logo on a site that wasn't Sun,
because some site developer or Webmaster used Sun's template, replaced only
the one for the resolution they used, so it looked good to them.

------
Eric_WVGG
I've always been deeply annoyed by the name "favicon," which as the article
notes has its roots in the "favorites" list.

No, Microsoft, when I marked this page for later, that doesn't make it my
favorite. Maybe I'm researching political enemies, or have a "favorites"
folder of "software companies I can't stand"

Between this and the "My Computer" icon from Windows 95, I have a deep and
abiding hatred of whomever was in charge of naming things at Microsoft in the
nineties.

~~~
Lammy
C:\Documents and Settings\Lammy\

~~~
samplatt
Yeeesss, let's just add an extra 25 characters to our user's root directory.
Oh and also add capitals and spaces to it, within a system that typically
hates those.

~~~
Lammy
My totally baseless assumption is that it was a cute passive way to force
developers to properly support UNC Paths of all types by making something as
essential as %USERPROFILE% include spaces and intentionally break all the
eight-dot-three conventions.

------
im3w1l
A nice thing about the initial ico-format is that it can contain multiple
resolutions. Nowadays you will see multi-res using separate files but that
took a long time to happen.

~~~
scrollaway
Indeed, I think ICO is the only common-use format to support that (I guess
JPEG "sort of" does support it but not in any usable multi-resolution way).

Mipmaps are common in video game graphics format though!

~~~
Ivoah
macOS's .icns files (typically used for app icons) can (and usually do) also
store multiple resolutions in a single file.

~~~
account42
> common-use format

Pretty much nothing outside the apple ecosystem supports .icns

------
Const-me
> it was not at all unusual to see browser makers experiment with new features
> and ideas in the hopes of gaining some sort of advantage

Another feature introduced this way was AJAX in IE 5.0, specifically the
XMLHttpRequest JavaScript object.

It’s funny how the whole modern web 2.0 was enabled by an obscure feature. For
the initial few years only Microsoft’s own products used that. It was
implemented for Outlook web access, a component of their Exchange server that
allows users to access their e-mails and relevant stuff without Outlook
installed.

Then google found about it, made gmail.com, the rest is history.

~~~
sergeykish
There were other interfaces too - RSExecute should have worked with IE3+ and
NN3+ [1].

And XMLHTTP while shipped quickly was hardly accidental. MSXML was Microsofts
big push for XML, it was always meant to fetch data without page reload (XML
data islands in IE4). And it was ActiveX component which was bringing
Microsoft to the Web strategy.

Another famous ActiveX-based software - Flash.

[1]
[https://daurril.org/wrox/ASPToday/990930-191.htm](https://daurril.org/wrox/ASPToday/990930-191.htm)

------
achillean
One of the more interesting techniques we used for finding phishing websites
was to start indexing the favicons. Since then we've used them for lots of
other cool things and I'm always surprised when people don't know what they
are. They can also be used to provide a somewhat different perspective of what
the Internet looks like:

[https://faviconmap.shodan.io/](https://faviconmap.shodan.io/)

------
rideontime
> Incidentally, you’d be surprised just how many relatively major browser
> features have snuck their way into releases like this.

I don't think I would! Explains a lot about the nightmares of web development.

~~~
ponker
And explains XmlHttpRequest, also from Microsoft.

~~~
kevincox
You mean XMLHttpRequest. The two acronyms are capitalized differently for
added quality.

~~~
ponker
I loled

------
burnte
A while later Mozilla added support for favicons to be any graphics format.
When it went live in nightly builds, I immediately changed the favicon at
MozillaNews to be an animated GIF, thus creating the world’s first animated
favicon.

------
qzw
It’s interesting to read about how it actually happened, but it does seem like
one of those inevitable features that would’ve been added sooner or later.

~~~
necovek
What do you consider inevitable about it? It feels like bookmarks are falling
out of fashion, at least in that nobody looks at them in their traditional
list format, and they are mostly useful for url bar autocompletion.

And I don't remember seeing favicons of random web sites in the URL bar, which
is how they were otherwise prominently featured when introduced.

So if anything, I would say their existence was short-lived but their demise
was inevitable ;)

More interesting feature that was introduced with IE (3 I think) was link
hovering, and Netscape only caught up with 4.0 which took ages to come out.
That has changed the accepted styling for hyperlinks forever and was the first
instance of smooth non-JS "animations" in wide use!

Another interesting thing was the "active desktop" that came out with IE4 I
think, though that never caught on. It was still fun to put a web page as your
desktop background on NT4 which I used during that time before moving full
time to GNU/Linux.

~~~
im3w1l
Favicons live on in the tab.

~~~
visarga
Not just live on, but are essential in navigation. I have so many open tabs
that the favicon is the only differentiating thing between them. When I last
tried to switch to FF from Chrome the lack of pre-cached favicons made all my
bookmarks look like shit and I just couldn't stand it, so I bounced back.

~~~
yoavm
On Firefox, you could go to the Library and right click the Bookmarks folder,
choose "Open all in tabs". It'll take a moment but all your icons should be
fetched afterwards.

------
nitwit005
I've kind of wondered what percentage of HTTP requests are requests for non-
existant favicon.ico files.

~~~
Jaruzel
It could be time for browser maintainers to start removing support for
automatic favicon.ico requests, and fall back to simply supporting the meta
tag.

~~~
account42
This would break the favicon for direct image links, PDFs and automatic
directory listings.

~~~
Jaruzel
Well, the browser could just stop doing it for certain types of content.

------
dheera
It was an interesting time because IE actually broke a lot of new trails on
the web by breaking standards and single-handedly adding features. Netscape,
the more "standards-complaint" browser, lost out because of conformity.

------
kentbrew
thehistoryoftheweb.com is a cultural treasure and I'm very happy it's there.
One thing that would make me like it more: if I could submit a pull request or
two....

------
luckyorlame
More Microsoft Suck

