snowflake
snowflake in the context of the indieweb, is typically used to refer in a derogatory way to "snowflake APIs", APIs that are (often silo) website or service provider-specific (unique like snowflakes) rather than an open standard.
Typical sites (silos) and services create their own unique API because they think their service is special (when typically there are numerous others like it). Thus they are called "snowflake" APIs.
This uniqueness means every time you want to code for a new service, you have to spend the time to learn their particular snowflake API.
A better approach would be for new services to adopt standard APIs (social standards) so they would "just work" with existing code that supports those standards.
Lacking a standard API for an area, a service should look at and perhaps imitate what previous similar services have done / are doing.
Possible Lack of Design
It is possible that snowflake APIs aren't directly an intentional consequence of a developer wanting something beautiful and unique, but rather a side-effect of their development process (no explicit design).
In most production shops - the public facing API is rarely designed, rather a collection of changes and scaffolding that ends up being what remains (citation needed of at least some examples, if "most" is true).
Often the API is not designed so much as an artifact of the backend architecture of the site, e.g.:
- WiThings API
- Jawbone to some extent
FAQ
Are Snowflake APIs due to lack of standards
Q: If we presume ignorance rather than malice, is it possible that the reason why there are so many snowflake APIs is due more to a lack of obvious standardized approach to creating these APIs?
Or it's possible some standards are hard to find, or it's not clear that they are a well-adopted standard.
A: Possible but unlikely. If that were the case then new services would simply mimic previous similar services, but instead, they (nearly) always just make up their own API.
Mentions
Mentions of "snowflake API" or "snowflake" in reference to an API being a unique one-off, in posts, tweets, etc.
2009
- 2009-11-23 @ChrisMessina tweet:
And, another beautiful fucking snowflake profile API: http://j.mp/in-profile Sigh. Guess they missed the memo about PortableContacts.net.
2008
- 2008-12-20 Chris Messina: Where weβre going with Activity Streams (see also ActivityStreams)
- 2008-12-08 @Kevinmarks tweet:
Joe Smarr says PortableContacts solves the Beautiful Fucking Snowflake API problem
1999
Possible origen for this derogatory use of snowflake:
- 1999 Fight Club: "[...] You are not special. You are not a beautiful or unique snowflake. [...]"
See Also
- API
- silos
- Twitter's unique id service https://developer.twitter.com/en/docs/basics/twitter-ids.html
- popularized by Fight Club but predates it https://www.esquire.com/entertainment/books/news/a52667/chuck-palahniuk-snowflake-alt-right-origen/
- https://twitter.com/debcha/status/1205100558396338176
- "A few years ago, @PennyRed asked me, as a materials scientist, how snow behaves in quantity, and she got an answer from me as someone who grew up near the Canadian Shield, lives in New England, and spends time in the mountains." @debcha December 12, 2019
- https://lickability.com/blog/the-end-of-quotebook/