SlideShare a Scribd company logo
1 of 41
Download to read offline
Front-end Performance
Kornel Lesi!ski
London Web Standards 2010
Why front-end?

Every site has one
Same technologies everywhere
Page generation time—milliseconds
JavaScript execution time—milliseconds
Page loading time—seconds
Why performance?
Google/Bing speed test

Delays under half a second impact business metrics
The cost of delay increases over time and persists
Number of bytes in response is less important than
what they are and when they are sent
Use progressive rendering
Factor in Google ranking (affects 1%)
 Grain of salt needed for Webmaster Tools page speed
 and "Let's make web faster" site
Nielsen’s
response time limits

 100ms feels instantaneous
 1s keeps flow uninterrupted
 10s is the limit (especially without feedback)
Enemy #1: Latency
Latency


Since modems bandwidth improved 300 times
Latency improved 3 times
Latency isn't going away
HTTP & TCP/IP latency
Three-way handshake: SYN, SYN-ACK, ACK
2 ping times to download anything
Pipelining unreliable
Slow start = unused bandwidth
HTTPS is much much worse
Reduce number of requests
Reduce number of requests
Merge all JavaScript files into one

  don’t forget to put newlines between files

Merge all CSS files into one

  don’t use @import!            Bu
                                     tn
                                       ot
  use @media print                          in P
                                                HP
                                                  !
                  Auto mate this
CSS sprites
Merge many small images into one
Use background-position
Good for hover effects



                            Not clipboard-friendly
                            Avoid huge bitmaps
                            Maintenance pain
Parallelise!

 IE7 has 2 connections limit per hostname (not server)
 That's what RFC2616 suggests
 Use cookie-less assets sever (CDN)
 Serve CSS from same host as HTML
Cache forever
mod_expires
!"#$%&'()*)#&+$,-.&/#0.+1023+#45'+6+)&-%7

Change URL when content changes
'8)4&9:6;<=>?''

Verify cacheability
  Mnot's cacheability engine redbot.org
  Webkit's audit
  web-sniffer.net
Scripts
@2?5,&08>3%$8& is evil
Scripts are black box. Can affect rest of the document:

 A'?%$#8B
 ++@2?5,&08>3%$8&C1AD997EF
 A/'?%$#8B
 A'?%$#8+'%?G1H227BA/'?%$#8B
 99B
@2?5,&08>3%$8& is evil

Makes parser wait for scripts
WebKit, Firefox and IE8 parse page twice
IE7 and Opera don't!
There’s no hope for scripts that write scripts
@2?5,&08>3%$8&C1A'?%$#8+'%?GI@$'-'8&%JK
Scripts must be at end of body

         A'?%$#8+'%?B


           A/L2@)B
:-%+N@&H&%%&@F
H50?8$20+@&H&%CHE+M
++:-%+&GN@&H&%%&@F
++N@&H&%%&@G&PH50?8$20CEM&CEFHCEOQH
O
                  …
@&H&%CH50?8$20CEM
++@2N'85HHCEF
OEF
                 …
@&H&%GH50?8$20CHEM'&8*$,&258CHR6EO+
@&H&%CN@&H&%%&@EF+
N@&H&%%&@G0544F
Waiting for ad.doubleclick.net…




                         Ads
Ads
Place at very end of document
and use #2'$8$20Q-L'2458&




Use $H%-,& otherwise

SWFObject is great
Remember embeds and buttons are same thing
Don't use @&H&% attribute

 Few browsers support except IE
 Poor support in IE too
 Quirky and not really asynchronous
 @2?5,&08>3%$8& won't work anyway

 -')0? is better, but beware of race conditions
Hosted libraries don't help

 Few users have same version cached
 Extra penalty if they don't
 Caches are not as persistent as you think
 You’ll need your own scripts file anyway
Waterfall
Waterfall
Waterfall

                   Bad




            Good
Waterfall
 IE7 and Opera differ from everything else
 www.webpagetest.org
 Fiddler
   Enable "streaming mode"!
 WebKit inspector
 Firebug
YSlow   Google PageSpeed
Progressive rendering
               friend or foe?
Makes slow pages faster
Makes fast pages slower
Rendering delay: load under 2s for greatness
Specify image dimensions
Specify float widths
Avoid clearing divs or brs!   Lorem ipsum. This is subliminal message. You
                              love this presentation. Kornel is the best. Lorem
                              ipsum dolor sit amet, consectetur adipisicing elit,
                              sed do eiusmod tempor incididunt ut labore et

Use overflow:hidden
                              dolore magna aliqua. Ut enim ad minim veniam,
                              quis nostrud exercitation ullamco laboris nisi ut
                              aliquip ex ea commodo consequat. Duis aute irure
                              dolor in reprehenderit in voluptate velit esse cillum
                              dolore eu fugiat nulla pariatur. Excepteur sint

Use clearfix where             occaecat cupidatat non proident, sunt in culpa qui
                              officia deserunt mollit anim id est laborum.
                              Lorem ipsum. This is subliminal message. You
                              love this presentation. Kornel is the best. Lorem


overflow can't be used
                              ipsum dolor sit amet, consectetur adipisicing elit,
                              sed do eiusmod tempor incididunt ut labore et
                              dolore magna aliqua.
                              Ut enim ad minim veniam, quis nostrud
                              exercitation ullamco laboris nisi ut aliquip ex ea
                              commodo consequat. Duis aute irure dolor in
                              reprehenderit in voluptate velit esse cillum dolore
                              eu fugiat nulla pariatur.
                              Excepteur sint occaecat cupidatat non proident,
                              sunt in culpa qui officia deserunt mollit anim id est
                              laborum. Lorem ipsum. This is subliminal
                              message. You love this presentation. Kornel is the
                              best. Lorem ipsum dolor sit amet, consectetur
                              adipisicing elit, sed do eiusmod tempor incididunt
                              ut labore et dolore magna aliqua. Ut enim ad
                              minim veniam, quis nostrud exercitation ullamco
                              laboris nisi ut aliquip ex ea commodo consequat.
                              Duis aute irure dolor in reprehenderit in voluptate
                              velit esse cillum dolore eu fugiat nulla pariatur.
                              Excepteur sint occaecat cupidatat non proident,
                              sunt in culpa qui officia deserunt mollit anim id est
                              laborum.



                                 AL%+?4&-%G-44B
Avoid clearing divs or brs!   Lorem ipsum. This is subliminal message. You
                              love this presentation. Kornel is the best. Lorem
                              ipsum dolor sit amet, consectetur adipisicing elit,
                              sed do eiusmod tempor incididunt ut labore et

Use overflow:hidden
                              dolore magna aliqua. Ut enim ad minim veniam,
                              quis nostrud exercitation ullamco laboris nisi ut
                              aliquip ex ea commodo consequat. Duis aute irure
                              dolor in reprehenderit in voluptate velit esse cillum
                              dolore eu fugiat nulla pariatur. Excepteur sint

Use clearfix where             occaecat cupidatat non proident, sunt in culpa qui
                              officia deserunt mollit anim id est laborum.
                              Lorem ipsum. This is subliminal message. You
                              love this presentation. Kornel is the best. Lorem


overflow can't be used
                              ipsum dolor sit amet, consectetur adipisicing elit,
                              sed do eiusmod tempor incididunt ut labore et
                              dolore magna aliqua.
                              Ut enim ad minim veniam, quis nostrud
                              exercitation ullamco laboris nisi ut aliquip ex ea
                              commodo consequat. Duis aute irure dolor in
                              reprehenderit in voluptate velit esse cillum dolore
                              eu fugiat nulla pariatur.
                              Excepteur sint occaecat cupidatat non proident,
                              sunt in culpa qui officia deserunt mollit anim id est
                              …




                                 !"#$%&'(#)(&&*
Bandwidth
Gzip, gzip, gzip

 HTML, CSS, JS—everything text-based >50% savings
 Very fast, faster than network
 mod_deflate/mod_compress
 PHP filter
 Automatically negotiated
Minify

 10-15% users might not ask for gzip (lousy proxies,
 antivirs, corporate firewalls)
 Makes gzipped files even smaller
 YUI Compressor for CSS and JS
 Google Closure Compiler advanced optimisations
 Makefile is a good idea
Image reduction

Lowest number of colours
Don't use PNG24. If you do, try posterize
Use PNG8+alpha (Photoshop sucks. Fireworks rocks)
Don't use GIF
JPEG likes blur and 8x8 boundaries
ImageAlpha
pornel.net/imagealpha
Image optimisation

Remove unused data: comments, EXIF metadata,
colour profiles (use sRGB with gamma 2.2)
Find optimal compression strategy (gzip levels and
methods, PNG filters)
No loss in quality
ImageOptim
imageoptim.pornel.net

More Related Content

Viewers also liked (10)

Symptoms of a Billing and Payment Problem
Symptoms of a Billing and Payment ProblemSymptoms of a Billing and Payment Problem
Symptoms of a Billing and Payment Problem
 
Living Comenius_my week in Paris by Eddy
Living Comenius_my week in Paris by EddyLiving Comenius_my week in Paris by Eddy
Living Comenius_my week in Paris by Eddy
 
Global
GlobalGlobal
Global
 
BITTERROOT CONSPIRACY "THE FUND" WFC HOLDINGS Corp dba Wells Fargo & Co/MN -N...
BITTERROOT CONSPIRACY "THE FUND" WFC HOLDINGS Corp dba Wells Fargo & Co/MN -N...BITTERROOT CONSPIRACY "THE FUND" WFC HOLDINGS Corp dba Wells Fargo & Co/MN -N...
BITTERROOT CONSPIRACY "THE FUND" WFC HOLDINGS Corp dba Wells Fargo & Co/MN -N...
 
Proposed New US fashion design law 2010
Proposed New US fashion design law 2010Proposed New US fashion design law 2010
Proposed New US fashion design law 2010
 
Feast of saint martin celebrated in santarcangelo by cassoli alberto 3 d
Feast of saint martin  celebrated in santarcangelo by cassoli alberto 3 dFeast of saint martin  celebrated in santarcangelo by cassoli alberto 3 d
Feast of saint martin celebrated in santarcangelo by cassoli alberto 3 d
 
Sorrento Scenario - Summer 2011 newsletter
Sorrento Scenario - Summer 2011 newsletterSorrento Scenario - Summer 2011 newsletter
Sorrento Scenario - Summer 2011 newsletter
 
Let's Get It Started - Business Documentation
Let's Get It Started - Business DocumentationLet's Get It Started - Business Documentation
Let's Get It Started - Business Documentation
 
Presenation-eng
Presenation-engPresenation-eng
Presenation-eng
 
Himneyo intro
Himneyo introHimneyo intro
Himneyo intro
 

Similar to Front-End Performance

Keynote training 2011
Keynote training 2011Keynote training 2011
Keynote training 2011
Doug Evans
 

Similar to Front-End Performance (20)

Web design for beginners
Web design for beginnersWeb design for beginners
Web design for beginners
 
Specifying line-clamp
Specifying line-clampSpecifying line-clamp
Specifying line-clamp
 
20 Copywriting Disasters (and how to avoid them)
20 Copywriting Disasters (and how to avoid them)20 Copywriting Disasters (and how to avoid them)
20 Copywriting Disasters (and how to avoid them)
 
EVO Energy Consulting Brand Development
EVO Energy Consulting Brand DevelopmentEVO Energy Consulting Brand Development
EVO Energy Consulting Brand Development
 
Tech Tools: The New Ecosystem of Events
Tech Tools: The New Ecosystem of EventsTech Tools: The New Ecosystem of Events
Tech Tools: The New Ecosystem of Events
 
3 Macro Tech Trends for the Events Industry
3 Macro Tech Trends for the Events Industry3 Macro Tech Trends for the Events Industry
3 Macro Tech Trends for the Events Industry
 
10 chart and slide design tips for better reports
10 chart and slide design tips for better reports10 chart and slide design tips for better reports
10 chart and slide design tips for better reports
 
Dear compiler please don't be my nanny v2
Dear compiler  please don't be my nanny v2Dear compiler  please don't be my nanny v2
Dear compiler please don't be my nanny v2
 
Concept Keynote Template (MAC) - Presentation
Concept Keynote Template (MAC) - PresentationConcept Keynote Template (MAC) - Presentation
Concept Keynote Template (MAC) - Presentation
 
Making the Transition from Print to Digital Design

Making the Transition from Print to Digital Design
Making the Transition from Print to Digital Design

Making the Transition from Print to Digital Design

 
2019-11 NewOpsDays Dallas - Sysadmin to SRE _v1.1
2019-11 NewOpsDays Dallas  - Sysadmin to SRE _v1.12019-11 NewOpsDays Dallas  - Sysadmin to SRE _v1.1
2019-11 NewOpsDays Dallas - Sysadmin to SRE _v1.1
 
Eric Cleaver White Design / KMS Celebration Preso
Eric Cleaver White Design / KMS Celebration PresoEric Cleaver White Design / KMS Celebration Preso
Eric Cleaver White Design / KMS Celebration Preso
 
Vaadin 7 what next
Vaadin 7   what nextVaadin 7   what next
Vaadin 7 what next
 
ProJet x60 Color-Jet Printer Best Practices (AMUG 2016)
ProJet x60 Color-Jet Printer Best Practices (AMUG 2016)ProJet x60 Color-Jet Printer Best Practices (AMUG 2016)
ProJet x60 Color-Jet Printer Best Practices (AMUG 2016)
 
Delivering Unbundled Legal Services Over the Internet
Delivering Unbundled Legal Services Over the InternetDelivering Unbundled Legal Services Over the Internet
Delivering Unbundled Legal Services Over the Internet
 
Agile Software Development for Non-Developers
Agile Software Development for Non-DevelopersAgile Software Development for Non-Developers
Agile Software Development for Non-Developers
 
Applying Chaos Engineering to Build Resilient Serverless Applications
Applying Chaos Engineering to Build Resilient Serverless Applications Applying Chaos Engineering to Build Resilient Serverless Applications
Applying Chaos Engineering to Build Resilient Serverless Applications
 
Keynote training 2011
Keynote training 2011Keynote training 2011
Keynote training 2011
 
PowerPoint - Mastering The Art
PowerPoint - Mastering The ArtPowerPoint - Mastering The Art
PowerPoint - Mastering The Art
 
How to Create a Virtual Law Practice
How to Create a Virtual Law PracticeHow to Create a Virtual Law Practice
How to Create a Virtual Law Practice
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 

Front-End Performance

  • 2. Why front-end? Every site has one Same technologies everywhere Page generation time—milliseconds JavaScript execution time—milliseconds Page loading time—seconds
  • 4. Google/Bing speed test Delays under half a second impact business metrics The cost of delay increases over time and persists Number of bytes in response is less important than what they are and when they are sent Use progressive rendering
  • 5. Factor in Google ranking (affects 1%) Grain of salt needed for Webmaster Tools page speed and "Let's make web faster" site
  • 6. Nielsen’s response time limits 100ms feels instantaneous 1s keeps flow uninterrupted 10s is the limit (especially without feedback)
  • 8.
  • 9.
  • 10. Latency Since modems bandwidth improved 300 times Latency improved 3 times Latency isn't going away
  • 11. HTTP & TCP/IP latency Three-way handshake: SYN, SYN-ACK, ACK 2 ping times to download anything Pipelining unreliable Slow start = unused bandwidth HTTPS is much much worse Reduce number of requests
  • 12. Reduce number of requests
  • 13. Merge all JavaScript files into one don’t forget to put newlines between files Merge all CSS files into one don’t use @import! Bu tn ot use @media print in P HP ! Auto mate this
  • 14. CSS sprites Merge many small images into one Use background-position Good for hover effects Not clipboard-friendly Avoid huge bitmaps Maintenance pain
  • 15. Parallelise! IE7 has 2 connections limit per hostname (not server) That's what RFC2616 suggests Use cookie-less assets sever (CDN) Serve CSS from same host as HTML
  • 16. Cache forever mod_expires !"#$%&'()*)#&+$,-.&/#0.+1023+#45'+6+)&-%7 Change URL when content changes '8)4&9:6;<=>?'' Verify cacheability Mnot's cacheability engine redbot.org Webkit's audit web-sniffer.net
  • 18. @2?5,&08>3%$8& is evil Scripts are black box. Can affect rest of the document: A'?%$#8B ++@2?5,&08>3%$8&C1AD997EF A/'?%$#8B A'?%$#8+'%?G1H227BA/'?%$#8B 99B
  • 19. @2?5,&08>3%$8& is evil Makes parser wait for scripts WebKit, Firefox and IE8 parse page twice IE7 and Opera don't! There’s no hope for scripts that write scripts @2?5,&08>3%$8&C1A'?%$#8+'%?GI@$'-'8&%JK
  • 20. Scripts must be at end of body A'?%$#8+'%?B A/L2@)B
  • 21. :-%+N@&H&%%&@F H50?8$20+@&H&%CHE+M ++:-%+&GN@&H&%%&@F ++N@&H&%%&@G&PH50?8$20CEM&CEFHCEOQH O … @&H&%CH50?8$20CEM ++@2N'85HHCEF OEF … @&H&%GH50?8$20CHEM'&8*$,&258CHR6EO+ @&H&%CN@&H&%%&@EF+ N@&H&%%&@G0544F
  • 23. Ads Place at very end of document and use #2'$8$20Q-L'2458& Use $H%-,& otherwise SWFObject is great Remember embeds and buttons are same thing
  • 24. Don't use @&H&% attribute Few browsers support except IE Poor support in IE too Quirky and not really asynchronous @2?5,&08>3%$8& won't work anyway -')0? is better, but beware of race conditions
  • 25. Hosted libraries don't help Few users have same version cached Extra penalty if they don't Caches are not as persistent as you think You’ll need your own scripts file anyway
  • 28. Waterfall Bad Good
  • 29. Waterfall IE7 and Opera differ from everything else www.webpagetest.org Fiddler Enable "streaming mode"! WebKit inspector Firebug
  • 30. YSlow Google PageSpeed
  • 31. Progressive rendering friend or foe?
  • 32. Makes slow pages faster Makes fast pages slower Rendering delay: load under 2s for greatness Specify image dimensions Specify float widths
  • 33. Avoid clearing divs or brs! Lorem ipsum. This is subliminal message. You love this presentation. Kornel is the best. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et Use overflow:hidden dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint Use clearfix where occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum. This is subliminal message. You love this presentation. Kornel is the best. Lorem overflow can't be used ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum. This is subliminal message. You love this presentation. Kornel is the best. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. AL%+?4&-%G-44B
  • 34. Avoid clearing divs or brs! Lorem ipsum. This is subliminal message. You love this presentation. Kornel is the best. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et Use overflow:hidden dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint Use clearfix where occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum. This is subliminal message. You love this presentation. Kornel is the best. Lorem overflow can't be used ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est … !"#$%&'(#)(&&*
  • 36. Gzip, gzip, gzip HTML, CSS, JS—everything text-based >50% savings Very fast, faster than network mod_deflate/mod_compress PHP filter Automatically negotiated
  • 37. Minify 10-15% users might not ask for gzip (lousy proxies, antivirs, corporate firewalls) Makes gzipped files even smaller YUI Compressor for CSS and JS Google Closure Compiler advanced optimisations Makefile is a good idea
  • 38. Image reduction Lowest number of colours Don't use PNG24. If you do, try posterize Use PNG8+alpha (Photoshop sucks. Fireworks rocks) Don't use GIF JPEG likes blur and 8x8 boundaries
  • 40. Image optimisation Remove unused data: comments, EXIF metadata, colour profiles (use sRGB with gamma 2.2) Find optimal compression strategy (gzip levels and methods, PNG filters) No loss in quality