Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Better By Proxy at Mobilism, 2015

Better By Proxy at Mobilism, 2015

Proxy browsers get a bad rep. “They’re antiques.” “They behave in weird ways.” “They’re crappy browsers.” But a deeper understanding of what they accomplish, and what they do behind the scenes, reveals that they’re actually quite ingenious. And far from becoming outdated, they’re uniquely positioned to bring the web to the next wave of people and devices around the world.

We’ll look some of the more popular proxy browsers today, what they do, how to ensure your site works well on them, and why that’s so important.

Presented at Mobilism 2015 in Amsterdam, NL on March 27, 2015.

Tim Kadlec

March 27, 2015
Tweet

More Decks by Tim Kadlec

Other Decks in Programming

Transcript

  1. 0 3500 7000 10500 14000 Pakistan Iran India Azerbaijan Armenia

    Belarus China Bosnia Kazakhstan Georgia Macedonia Denmark US Netherlands
  2. 0 3500 7000 10500 14000 Pakistan Iran India Azerbaijan Armenia

    Belarus China Bosnia Kazakhstan Georgia Macedonia Denmark US Netherlands 10x
  3. 23%

  4. Potential Issue #3:
 Image transcoding or compression may result
 in

    blurry images Solution:
 Use Cache-Control: no-transform
  5. contextmenu dblclick error keydown keypress keyup mousemove mouseenter mouseleave mouseout

    mousewheel resize scroll touchcancel touchend touchmove touchstart
  6. Limit data consumed and limit impact on device while providing

    a nearly equal experience to a typical browser.
  7. contextmenu dblclick error keydown keypress keyup mousemove mouseenter mouseleave mouseout

    mousewheel resize scroll touchcancel touchend touchmove touchstart
  8. if('querySelector' in document! !&& 'localStorage' in window! !&& 'addEventListener' in

    window) {! !! // bootstrap the javascript application! }!
  9. if('querySelector' in document! !&& 'localStorage' in window! !&& 'addEventListener' in

    window) {! !! // bootstrap the javascript application! }! Sure, why not.
  10. var hasStorage = (function() {! try {! localStorage.setItem(mod, mod);! localStorage.removeItem(mod);!

    return true;! } catch (exception) {! return false;! }! }());! if( 'querySelector' in document! !!! && hasStorage! !!! && 'addEventListener' in window ){! !! // bootstrap the javascript application! }!
  11. var hasStorage = (function() {! try {! localStorage.setItem(mod, mod);! localStorage.removeItem(mod);!

    return true;! } catch (exception) {! return false;! }! }());! if( 'querySelector' in document! !!! && hasStorage! !!! && 'addEventListener' in window ){! !! // bootstrap the javascript application! }!
  12. “The journey begins by letting go of control, and becoming

    flexible. John Allsopp Dao of Web Design