Slide 1

Slide 1 text

Taming 3rd party content

Slide 2

Slide 2 text

What's third party? "Loaded from another server..." - Sergey Chernyshev

Slide 3

Slide 3 text

All over your site

Slide 4

Slide 4 text

Easy to integrate! Easy to update! Easy to grab user info!

Slide 5

Slide 5 text

Blocks rendering! Depends on their servers! Security & privacy risk!

Slide 6

Slide 6 text

SLO-JS Single Line Of JavaScript

Slide 7

Slide 7 text

Ads • Pay bills ($$$) • Chain of brokers • Rich (heavy) content • Need lots of user data

Slide 8

Slide 8 text

Ads: how bad is it? • document.write (blocks, can't be post loaded) • Sometimes up to 7 nested wrappers, more then 20 requests • Fail rarely, but block the whole site

Slide 9

Slide 9 text

Ads: Solutions! • Load after content is loaded • Use IFrames • Don't use 3rd party engines

Slide 10

Slide 10 text

Widgets • Free content or functionality • Use JS for everything • Rarely cache • More complexity for your site

Slide 11

Slide 11 text

Widgets: how bad? • Varies dramatically • Less reliable then ad networks

Slide 12

Slide 12 text

Widgets: Solutions! • Find more static (or flash) version • Rewrite using their AJAX API • Use any API and assemble on back end, cache

Slide 13

Slide 13 text

Trackers • Show what's going on • Need lots of user data • Delay load event (a little)

Slide 14

Slide 14 text

Trackers: what to do? • Not so bad. Not much you can do either. • Use async version if exists (Google Analytics)

Slide 15

Slide 15 text

When YOU develop widgets! • Don't use document.write! • HTML placeholder, async code & data • Cache JS code (in the browser) • Cache all or part of the data (know your TTLS) • Provide static alternative to SLO-JS (image / HTML to download / flash)