- be extensible, by using plugins to support more websites;
- save resources, by limiting the number of HTTP requests needed for image resolution. Some plugins make zero HTTP requests and guess the image URL right away.
ImageResolver.js currently supports 9gag, Imgur (widely used on Reddit), flickr (requires an API key) and Instagram. For regular webpages, it will try OpenGraph meta tags (popularized by Facebook) then fallback to HTML parsing.
Here are the slides of my presentation (in french):