How We Got the Favicon (2017)
thehistoryoftheweb.com
thehistoryoftheweb.com
<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... 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).
There should be a browser directive for this. It feels like we should be able to tell the browser no.
Of course you can now have a different favicon for every page, or update it dynamically, so that semantic argument is no longer as strong.
<link rel="icon" href="data:,">So far, this is what I've come up with -
<link rel="icon" href="data:image/svg+xml,%3csvg%3e %3c/svg%3e">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... [1] https://css-tricks.com/emojis-as-favicons/
They come in handy more often than you’d think.
https://twitter.com/billticehurst/status/1288721150780964866...
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/ , 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.
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.
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.
The only place where I've seen multiple sizes needed was for SPAs on mobile phones etc. and that's a whole different set of tags.
Mipmaps are common in video game graphics format though!
Pretty much nothing outside the apple ecosystem supports .icns
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.
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.
I don't think I would! Explains a lot about the nightmares of web development.
W3C reined that in, and the W3C staff people are the real deal. Though eventually big browser vendors were able to push through whatever they wanted, maybe sometimes sabotage things they don't like (e.g, HTML5 Offline mechanisms competing with browser vendor's app store), etc.
Amazingly, this still happens today.
I run into it occasionally. Most recently over the weekend on a county voter registration web site which stated that Internet Explorer was "required."
9/10 (maybe 99/100) times, the issue has nothing to do with the browser, but these questions have a strong normalizing effect. Even if the browser has nothing to do with it, people who don't know better will stick to Chrome, "just to be safe".
http://web.archive.org/web/20070210004825/http://www.alexhop...
My team was blown away when I delivered pages that dynamically changed with fresh data without the user having to interact with it, and without page refreshes or auto-refreshed iframes. Of course it only worked in IE but that was OK.
The server-side data format I chose was XML since that was in vogue.
People mostly didn't think of it until XHR became popular.
IE4 implemented XML Data Islands with Java Applets, anyone could do it.
MSXML XMLHTTP was ActiveX component, as was one of the crossorigin tools - Flash, anyone could do it.
I have to check JSONP support.
Plugins like flash and java applets were non-starters for many enterprises.
XML Data Islands, as I recall, did not do any network requests. They were chunks of XML. Anyone could not do network requests with XML Data Islands.
RSExecute... I looked it up. Ok I stand corrected although it is not clear when that was released for IE.
JSONP? What? JSON did not exist back then. Are you trolling?
> Copyright 1999 Microsoft Corporation. All Rights Reserved.
Versions above are from the article [1].
XML Data Islands network requests:
<OBJECT width=0 height=0
classid="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39"
id="xmldso">
</OBJECT>
<SCRIPT for=window event=onload>
var doc = xmldso.XMLDocument;
doc.load("books.xml");
JSONP: I've referred it as an idea of loading data in remote <script> callback.>>>> You could even do that before XmlHttpRequest
MSXML is just a widely deployed ActiveX control, not part of the browser like favicon. Anyone could implement it or java applet.
I know, you're thinking JSON didn't exist back then, I must be trolling.
I'm not, and it did!
JSON is short for "JavaScript Object Notation". With rare exceptions, it's valid JavaScript already! So JSONP only needs pure JavaScript, nothing else.
However, back then it wasnt necessary to use object notation at all. As it was returning a script to run, the script could just call functions directly instead of assembling an object.
Aside from JavaScript, people also used a Java applet or Flash to do the communication (faster than JSONP) as most browsers had at least one of those installed. Java and Flash could both be called from JavaScript.
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.