40 karma · joined October 22, 2010
No two emoji bombs are alike: there are factorial 15 combinations for Happy Birthday - that’s 1,307,674,368,000 - and factorial 31 combinations for Christmas, etc.
I personally use it to wish team mates a happy birthday, or send the a "get well" note when they call in sick.
It’s a fun project that I wanted to share - I appreciate any and all feedback!
I’ll check this on the weekend; very curious what‘s causing this. Will fix & let you know.
Thanks for your feedback and suggestion!
My intention was to be a good HTTP citizen and return the correct status code with a decent representation.
Returning 200 for "not actually found what you wanted, but here's something else you can use" seems odd, but maybe I'm just being too pedantic here and the pragmatic way would be better.
Thanks for pointing out the Firefox issue again, it would have probably never occured to me that FF behaves that way. That hint saved me a lot of time "fixing" the parser.
Favicons change very, very rarely, so they are perfect candidates for caching; fast extraction and caching are core features of Favicon Kit.
It was mainly the fact that Cloudflare does not cache by MIME type, but by file extension (https://support.cloudflare.com/hc/en-us/articles/200172516-W...) and/or would require page rules (https://support.cloudflare.com/hc/en-us/articles/11500320685...) to honor cache-control headers. (It‘s been a while since I’ve made that decision, so I hope I'm remembering the reasons correctly!)
KeyCDN was simple to set up and their pricing was equally simple and very reasonable, so I ended up staying with them.
I hope this answers your question, JohannesH!
1) Static CDNs
We live in a wonderful time where CDNs are essentially free for small projects. I use CloudFlare for almost everything, simply because it’s so easy to set up, it gives you a free SSL endpoint, it allows you to use naked domain names (faviconkit.com instead of www.faviconkit.com) and it just works well. The HTML is hosted on Github Pages, which is also free.
1a) Number of edge servers
CloudFlare: 151 https://www.cloudflare.com/network/ CloudFront: 117 https://aws.amazon.com/cloudfront/details/ KeyCDN: 30+ https://www.keycdn.com/global-cdn Google Cloud CDN: 90+ https://cloud.google.com/cdn/
There are a few unique aspects of Favicon Kit specifically - the setup here is a tiny little bit more "sophisticated", which is why I chose Key CDN for the API itself.
2) Money spent on infrastructure (at least in the beginning)
+ Favicon Kit used to run on Heroku until recently, so I spent a few bucks on their hosting and CI plan. (It now runs on AWS Lambda) + I have a paid Github account. + CloudFlare is free. + KeyCDN so far cost me < 100€
There are/have been a few free and open source alternatives out there. I built Favicon Kit because I wanted something fast, scalable and - most of all - reliable.
Most of the free alternatives vary in features, disappear after a while or just become inactive (even besticon’s Heroku demo).
Favicon Kit wants to be the sustainable, reliable, solid, production-grade service for favicons.
There will eventually be a paid plan which guarantees availability for paying customers.
Did it actually give you a broken image? It’s supposed to return a "B" on a grey background in such a case.
In addition to the other use cases already mentioned here, imagine an e-mail client such as GMail that - in lack of a photo of the sender - at least shows the sender’s company logo (which in many cases is the domain’s Favicon). In such scenarios Favicon Kit can serve as a fallback for services like Gravatar.
The number after the domain is meant to be "this or the next greater size"; the actual size depends on what the source web site offers.