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

Image optimization pipeline

Image optimization pipeline

Images are the one of the oldest items on the web (right after HTML) and still so little has changed since we started to use them. That's if you don't count lots of creative talent that went into creating them, so much in fact that it created the web as we know now, rich, shiny and full of marketing potential.

That being said, images on our websites are the largest payload shifted back and forth across the wires of the net taking big part in slowing down pages. Still we can safely assume that we are going to have only more images and they will only grow bigger, along with the screen resolutions on user computers.

If you want to stop slowing down your pages and reducing user experience, it's time to take images seriously and implement image processing pipeline within your organization!

http://www.meetup.com/SF-Web-Performance-Group/events/53786302/

Sergey Chernyshev

March 01, 2012
Tweet

More Decks by Sergey Chernyshev

Other Decks in Technology

Transcript

  1. SERGEY CHERNYSHEV • Work at truTV/Turner • Organize NY Meetup

    • Developed ShowSlow and a few other tools @SergeyChe, @PerfPlanet
  2. WHY IMAGES? • Largest Payload (63%) • Grew 21% in

    size in 2011 • Main connection blocker • The visual indicator • We will only get more of them 598K
  3. AUTOMATE • Extra step in photo editor's workflow • Not

    obvious to photo editors, they shouldn't care • User Generated Content can't be manually processed
  4. WHERE TO AUTOMATE? • PhotoShop scripting • CMS hooks •

    Version control commit hooks • Application logic (especially for UGC) • File system monitors
  5. SMUSHING (lossless compression) • Removes meta-data • Preserves quality •

    Saves more then you think! • Kudos to Stoyan & Nicole META-DATA
  6. LOSSY COMPRESSION 100% 90% 80% 70% 60% 50% 40% 30%

    20% 10% Increase compression until quality visibly degrades
  7. LOSSY COMPRESSION 100% 90% 80% 70% 60% 50% 40% 30%

    20% 10% But it heavily depends on size and content of an image
  8. CSS SPRITES • Games are cool! • Reduces latency cost

    • SpriteMe.org • Don't overdo it • We need automation for this!
  9. RESIZE TO SIZE • Thumbnails! • Never resize in the

    browser • Create a map of sizes for each image type • Changing proportions is hard • Do not resize on the fly Preserving Proportions Changing Proportions
  10. REWRITE URLS • Enabling/disabling and moving CDNs (including SSL) •

    Domain sharding • Different setups in DEV/QA/PROD <IMG SRC="<?=U('/AWESOME.JPG') ?>" ALT="AWESOME PIC" /> • Caching forever • Data URIs?