The web is now more global and diverse than ever. How can you ensure that your website delivers a high-performance experience regardless of device type and connectivity?
distance Physical context Pixel dimensions Tablet Desktop TV Mobile 176 x 220 to 800 x 1280 600 x 800 to 2048 x 1536 800 x 600 to 2560 x 1600 1280 x 720 to 1980 x 1080 0.3m 0.5m 0.7m 3m
of handling different device types & sizes with layout changes • Useful technique, not without its issues • Default technique for web developers • Primarily a layout technique 1024px 768px 320px
page weight increasing • In terms of raw CPU power, RAM & connectivity mobile will always lag • Mobile context: • shorter attention span • higher sensitivity to delays
significantly below industry average • Server-side adaptation— different content served for every device • Different prioritisation of content per device type • High dynamic range
• Site hosting becomes faster & cheaper • Lower bandwidth & CDN bills • Get more out of every server • Greater market reach: high-end 4G-connected device is the edge case, not the norm
about the state of the Internet throughout the rest of the world. Many of us are fortunate to live in high bandwidth regions, but there are still large portions of the world that do not. By keeping your client side code small and lightweight, you can literally open your product up to new markets. …entire populations of people simply could not use YouTube because it took too long to see anything. http://blog.chriszacharias.com/page-weight-matters — Chris Zacharias, YouTube “ “
• Adapt sites wholesale within infrastructure • No developer time required • Site visitors protected from poor craftsmanship • Provides additional levers for controlling site delivery • Selective inclusion / exclusion / compression of content • Tailor site response to bots—they don’t care about looks
to do this in C code front-facing servers • Easier • Resulting intelligence available downstream • Single point to maintain & update NGINX Ruby PHP NodeJS HTTP REQUEST + DEVICE DATA
!= null && value.equals(“true”)) { // do tablet stuff` } <?php if (isset($_ENV["X-DeviceAtlas-isTablet"])) // do tablet stuff ?> if ENV[‘X-DeviceAtlas-isTablet’] # do tablet stuff end if (process.env[‘X-DeviceAtlas-isTablet’]) { // do tablet stuff }
global web brands—the web has moved on • Reduce server load & bandwidth costs while improving site visitor experience • Adding device intelligence is straightforward—short time to value • All downstream apps can benefit • Tried & trusted technology, used by many top brands