Comparison of leading Responsive and Adaptive Image serving techniques that are relevant to a CMS environment, with an implementation example of Adaptive-Images.com within Joomla!
1 of 40
Download to read offline
More Related Content
Responsive Images in a CMS - JandBEYOND 2014
1. RESPONSIVE IMAGES
IN A CMS
IS SENDING ALL PIXELS TO ALL DEVICES
THE "RIGHT ANSWER"?
June, 2014Duke Speer J and Beyond
2. THIS TALK IS NOT ABOUT
MAX-WIDTH: 100%;
June, 2014Duke Speer J and Beyond
3. WHY LISTEN TO THIS GUY?
NO REASON! C JOOMLA! SINCE 2008
JOOMLA! TRADEMARK / LICENSING TEAM
GOVERNANCE WORKING GROUP
MARKETING TEAM
JRD TEAM
June, 2014Duke Speer J and Beyond
12. 3. LAYOUT BREAKPOINTS
MEDIA QUERIES
DEFAULT FOR DUMB BROWSERS
IN DUMB PHONES C SMALL FILE
- UNDER 641 PX
- UNDER 1025 PX
- OVER 1024 PX
June, 2014Duke Speer
Joomla and
Beyond 14
34. ADAPTIVE TO THE RESCUE?
MATTHEW WILCOX
ONE HTACCESS FILE
ONE PHP FILE
A SINGLE LINE OF JAVASCRIPT
ADAPTIVE-IMAGES.COM
June, 2014Duke Speer J and Beyond
35. INSERT IN .HTACCESS
<IFMODULE MOD_REWRITE.C>
OPTIONS +FOLLOWSYMLINKS
REWRITEENGINE ON
# ADAPTIVE-IMAGES ----------------------------------------
# ADD ANY DIRECTORIES YOU WISH TO OMIT ON A NEW LINE, AS FOLLOWS:
# REWRITECOND %{REQUEST_URI} !SOME-DIRECTORY
REWRITECOND %{REQUEST_URI} !TEMPLATES
REWRITECOND %{REQUEST_URI} !MEDIA
# SEND ANY GIF, JPG, OR PNG REQUEST THAT IS NOT STORED INSIDE ONE OF THE ABOVE DIRECTORIES
# TO ADAPTIVE-IMAGES.PHP SO WE CAN SELECT APPROPRIATELY SIZED VERSIONS
REWRITERULE .(?:JPE?G|GIF|PNG)$ ADAPTIVE-IMAGES.PHP
# END ADAPTIVE-IMAGES ----------------------------------------
</IFMODULE>
June, 2014Duke Speer J and Beyond
37. SET SETTINGS IN PHP FILE
/* CONFIG ------------------------------ */
$RESOLUTIONS = ARRAY(1382, 992, 768, 480); // THE RESOLUTION BREAK-POINTS TO USE (SCREEN
WIDTHS, IN PIXELS)
$CACHE_PATH = "AI-CACHE"; // WHERE TO STORE THE GENERATED RE-SIZED IMAGES. SPECIFY FROM
YOUR DOCUMENT ROOT!
$JPG_QUALITY = 80; // THE QUALITY OF ANY GENERATED JPGS ON A SCALE OF 0 TO 100
$SHARPEN = TRUE; // SHRINKING IMAGES CAN BLUR DETAILS, PERFORM A SHARPEN ON RE-SCALED
IMAGES?
$WATCH_CACHE = TRUE; // CHECK THAT THE ADAPTED IMAGE ISN'T STALE (ENSURES UPDATED SOURCE
IMAGES ARE RE-CACHED)
$BROWSER_CACHE = 60*60*24*7; // HOW LONG THE BROWSER CACHE SHOULD LAST (SECONDS,
MINUTES, HOURS, DAYS. 7DAYS BY DEFAULT)
/* END CONFIG ------ DON'T EDIT ANYTHING AFTER THIS LINE -------------- */
June, 2014Duke Speer J and Beyond
38. INSERT JS IN <HEAD>*
<SCRIPT>DOCUMENT.COOKIE='RESOLUTION='
+MATH.MAX(SCREEN.WIDTH,SCREEN.HEIGHT)+("DEVICEPIXELRA
TIO" IN WINDOW ? ","+DEVICEPIXELRATIO : ",1")+';
PATH=/';</SCRIPT>
*MUST BE FIRST JAVASCRIPT EXECUTED IN HEAD.
June, 2014Duke Speer J and Beyond