taming 3rd party content

15

Click here to load reader

Upload: sergey-chernyshev

Post on 18-May-2015

1.105 views

Category:

Technology


1 download

DESCRIPTION

Sergey Chernyshev presents about reducing the harm caused by these tools and best practices for consumers as well as creators of such 3rd party content.

TRANSCRIPT

Page 1: Taming 3rd party content

Taming 3rd party content

Page 2: Taming 3rd party content

What's third party?

"Loaded from another server..."

- Sergey Chernyshev

Page 3: Taming 3rd party content

All over your site

Page 4: Taming 3rd party content

<script>

Easy to integrate!

Easy to update!

Easy to grab user info!

Page 5: Taming 3rd party content

</script>

Blocks rendering!

Depends ontheir servers!

Security & privacy risk!

Page 6: Taming 3rd party content

SLO-JS

SingleLine Of

JavaScript

Page 7: Taming 3rd party content

Ads

• Pay bills ($$$)

• Chain of brokers

• Rich (heavy) content

• Need lots of user data

Page 8: Taming 3rd party content

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

Page 9: Taming 3rd party content

Ads: Solutions!

• Load after content is loaded

• Use IFrames

• Don't use 3rd party engines

Page 10: Taming 3rd party content

Widgets

• Free content or functionality

• Use JS for everything

• Rarely cache

• More complexity for your site

Page 11: Taming 3rd party content

Widgets: how bad?

• Varies dramatically

• Less reliable then ad networks

Page 12: Taming 3rd party content

Widgets: Solutions!

• Find more static (or flash) version

• Rewrite using their AJAX API

• Use any API and assemble on back end, cache

Page 13: Taming 3rd party content

Trackers

• Show what's going on

• Need lots of user data

• Delay load event (a little)

Page 14: Taming 3rd party content

Trackers: what to do?

• Not so bad. Not much you can do either.

• Use async version if exists (Google Analytics)

Page 15: Taming 3rd party content

When YOUdevelop 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)