[Right now, Faster Images is a work-in-progress, a proof-of-concept for an idea. It is ready for testing and further development. It is not ready for production websites.]

The Faster Image module will convert your content images (images uploaded when content was created) into data files, and embed that data into your site's HTML. This technique of converting images into embedded data is called Data URI scheme.

While it might sound crazy, this technique can accelerate the loading of a page by reducing the number of http requests. Frequently, a page's loading time is not slowed down by limitations on the available download bandwidth — it's slowed down by: 1) limitations on the number of separate files that can be downloaded at the same time, and 2) throttled upload speeds that slow the browser's ability to make the needed http requests. By embedding the image data into the HTML file itself, one file is downloaded instead of multiple files. Google image search now uses this method, with a noticeable improvement in page loading time.

This module focuses on replacing the images linked from the HTML (not the CSS). If you want to replace images in your CSS with Data URI, take a look at the CSS Embedded Images module or use a tool like SASS.

This module was started after Jen Simmons and Peter Lubbers had an intense discussion over dinner one night about Data URIs and Drupal.


[note April 16: right now, this module converts all images into Data URIs. Ideally it would instead be an option when creating an image style — "Dear Drupal, Please do convert this 100x100 thumbnail into a Data URI / but ignore that 960-wide image…"

There's debate about when Data URI is faster and when it's not. Conventional wisdom says use it on small images and not larger ones. Honestly, testing is needed (especially for mobile), and different people will want to use Data URIs differently. Building this tool into Drupal's image style system will allow everyone to use Data URIs as they desire, and to be able to easily test out different combinations.]

Project Information