A long time ago, we just had “libraries” on the Web. Then we wound up with “shims” and still later “polyfills”. If you have ever read Remy Sharp’s article “What is a polyfill?” then you might understand why I find myself searching for the right word for this new paradigm I have noticed developing and why none of these existing words seem adequate or appropriate: An increasing number of proposals for standards are coming with open source implementations that allow users to try them out, think out it, ask questions and help better the proposal itself. Because solutions are not provided by a browser, but are “opt in” by the author (like libraries, polyfills and shims) there is no technical problem created by people writing their sites using different versions of it and may of them provide a very similar but ever so slightly different api than the native one they are proposing, so there is no forward compatibilty risk either.
HitchJs work like this, as do adobe’s recent proposal and x-tags and others (the practical benefits of this model is discussed a bit in our recent post About :time).
So, if it’s not neatly definable as any of those things, that raises the question: What do you call them?
I have heard proposals like “polymimic” and “draft shimplementation”. I’d like to hear your proposals…
Update: A few others have recently latched on to some similar ideas since this was written, the best term we have come up with thus far is “forward polyfill”. My friend and CSS Custom Properties alternative proposal co-author Francois has also recently added a blog post arguing that TypeScript is actually a pretty good example of exactly this sort of thing. It’s worth reading if you are having deep thoughts about this sort of thing: read on.