SlideShare a Scribd company logo
ATLANTIC INTERNET MARKETING CONFERENCE 2009 | M. JACKSON WILKINSON | APRIL 23, 2009




         KEEPING IT


        SNAPPY
 Designe
         IMPROVING
                                     WEBSITE
                                     P ER FOR MANC E
          rs: Don
leave ye          ’t
         t. Pleas
                  e!
THE INTRO
M. JACKSON WILKINSON
         Jackson of all Web Trades, Master of One
PERFORMANCE
http://www.flickr.com/photos/jurvetson/
Keeping it Snappy: Improving Website Performance
PERFORMANCE:
MAKING THE CODEZ
   BETTER?!
PERFORMANCE:
USER EXPERIENCE
Keeping it Snappy: Improving Website Performance
Keeping it Snappy: Improving Website Performance
BUT
Irate




  Your Users’
  Frustration
w/ Performance




         Lenient


                   Pleasure to Use                             PayPal
                                     Your Users’ Frustration
                                          w/ Your Site
Irate




  Your Users’
  Frustration
w/ Performance




         Lenient


                   One-Time Visit                           Daily Tool
                                    Your Users’ Frequency
                                     of Use of Your Site
Ye, the...

DESIGNERS
Irate




  Your Users’
  Frustration
w/ Performance




         Lenient


                   Pleasure to Use                             PayPal
                                     Your Users’ Frustration
                                          w/ Your Site
Irate




 Your Users’
  Frustration
w/ Performance


          Lenient


                    Pleasure to Use                             PayPal
                                      Your Users’ Frustration
                                          w/ Your Site
Keeping it Snappy: Improving Website Performance
When we looked at the actual download speeds of
            the sites we tested, we found that there was no
             correlation between these and the perceived
          speeds reported by our users. About.com, rated
           slowest by our users, was actually the fastest site
          (average: 8 seconds). Amazon.com, rated as one
          of the fastest sites by users, was really the slowest
                         (average: 36 seconds).



http://www.uie.com/articles/download_time/
There was still another surprising finding from
         our study: a strong correlation between perceived
           download time and whether users successfully
             completed their tasks on a site. There was,
         however, no correlation between actual download
          time and task success, causing us to discard our
          original hypothesis. It seems that, when people
           accomplish what they set out to do on a site,
                 they perceive that site to be fast.


http://www.uie.com/articles/download_time/
Tip #1:



SCENT
http://www.flickr.com/photos/julieanna/
Keeping it Snappy: Improving Website Performance
Keeping it Snappy: Improving Website Performance
CONFIDENCE
SCENT
Tip #2:



FEEDBACK
Keeping it Snappy: Improving Website Performance
Keeping it Snappy: Improving Website Performance
Submit
Submit
Tip #3:



SCANNABILITY
Tip #3:



SCANNABILITY
   (not a Real Word)
HIERARCHY
Tip #4:



MENTAL MODELS
    are your friend.
Keeping it Snappy: Improving Website Performance
Telephone:

 PICK UP PHONE
     DIAL
 WAIT (RINGING)
PERSON ANSWERS
     SPEAK
Telephone:          Skype:

 PICK UP PHONE     RUN PROGRAM
     DIAL           CLICK NAME
 WAIT (RINGING)    WAIT (RINGING)
PERSON ANSWERS    PERSON ANSWERS
     SPEAK             SPEAK
Telephone:       VoIP Product:

 PICK UP PHONE      RUN PROGRAM
                      CLICK NAME
     DIAL
                   CHOOSE PROTOCOL
 WAIT (RINGING)   ENTER PASSPHRASE

PERSON ANSWERS      WAIT (RINGING)
                  ATTEMPT CONNECTION
     SPEAK              SPEAK
Ye, the...

FRONT-END
DEVELOPERS
Tip #1:



WATCH THE JS!
1. KEEP SCRIPTS EXTERNAL
2. SCRIPTS AT THE BOTTOM
3. FRAMEWORKS
4. REFACTOR
Tip #2:



HTTP REQUESTS
1. DON’T USE @import
  <style type=”text/css”>
      @import url('/css/a.css');
  </style>
1. DON’T USE @import
 <link rel=‘stylesheet’ href=‘css/a.css’>
2. FEWER STYLESHEETS
  @import url('/css/typography.css');
  @import url('/css/layout.css');
  @import url('/css/color.css');
3. IMAGE SPRITES
4. FLUSH THE BUFFER
   <?php flush(); ?>
Tip #3:



ASSET AWARE
1. GZIP COMPONENTS
2. OPTIMIZE IMAGES
2. OPTIMIZE IMAGES
      GIF > PNG
   SOME JPEG > PNG
     PNGCRUSH
3. MINIFY JAVASCRIPT
4. MULTIPLE ASSET HOSTS
Tip #4:



PREFETCH
Ye, the...

BACK-END
ENGINEERS
Tip #1:



AB
ab -n 1000 -c 100 http://humblegourmand.com/



Server Software:           Apache/2.0.52
Server Hostname:           humblegourmand.com
Server Port:               80

Document Path:             /
Document Length:           13909 bytes

Concurrency Level:         100
Time taken for tests:      49.44416 seconds
Complete requests:         1000
Failed requests:           0
Write errors:              0
Total transferred:         14147000 bytes
HTML transferred:          13909000 bytes
Requests per second:       20.39 [#/sec] (mean)
Time per request:          4904.441 [ms] (mean)
Time per request:          49.044 [ms] (mean, across all concurrent requests)
Transfer rate:             281.68 [Kbytes/sec] received
ab -n 1000 -c 100 -H 'accept-encoding: gzip' http://humblegourmand.com/



Server Software:        Apache/2.0.52
Server Hostname:        humblegourmand.com
Server Port:            80

Document Path:          /
Document Length:        4037 bytes

Concurrency Level:      100
Time taken for tests:   46.761164 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      4298000 bytes
HTML transferred:       4037000 bytes
Requests per second:    21.39 [#/sec] (mean)
Time per request:       4676.117 [ms] (mean)
Time per request:       46.761 [ms] (mean, across all concurrent requests)
Transfer rate:          89.75 [Kbytes/sec] received
Tip #2:



CACHING
1. PAGE CACHING
2. FRAGMENT CACHING
3. VARYING
MEMORY
  DISK
DATABASE
Tip #3:



QUEUEING
Tip #4:



SERVING ASSETS
1. NEVER SERVE ASSETS
FROM THE APPLICATION
2. CONFIGURE ETAGS
3. SET AN EXPIRES HEADER
Tip #5:



HARDWARE
1. RAM HELPS DBs
2. APP SERVERS ARE EASY
3. DB SERVERS ARE HARD
FINAL THOUGHTS
FIN
Get in Touch!

speakerrate.com/whafro
  jackson@jounce.net
       @whafro

More Related Content

PPTX
Peter Newhook - Make Data Dance
PPTX
Blog
PPTX
Ember Conf 2016: Building Mobile Apps with Ember
PPTX
Phonegap Day 2016: Ember/JS & Hybrid Apps Tips
PDF
Build a Joomla website by Drag n Drop with JSN PageBuilder and JSN PowerAdmin
PPT
Moving from WordPress.com to WordPress.org
PDF
Asset Positioning for Performance
PDF
Presentation Skills: How To Deal With The Four Personalities
Peter Newhook - Make Data Dance
Blog
Ember Conf 2016: Building Mobile Apps with Ember
Phonegap Day 2016: Ember/JS & Hybrid Apps Tips
Build a Joomla website by Drag n Drop with JSN PageBuilder and JSN PowerAdmin
Moving from WordPress.com to WordPress.org
Asset Positioning for Performance
Presentation Skills: How To Deal With The Four Personalities

Viewers also liked (20)

PDF
Presentation Elevation Spring 2015
PDF
Building an HTML5 Video Player
PDF
Jacks of All Trades or Masters of One?
PDF
Pen & Paper Tools for getting from Research to Design
KEY
Usability & Webdesign 2010
PDF
Say Goodbye to Bullet Points
PDF
Basic Chemistry on Your Slide
PDF
Social Media Is Dead: Long Live Common Sense.
PDF
What the F**K is Social Media: One Year Later
PDF
Bring Your Textbook to Life! Ideas & Resources
PDF
The Now and Next of Learning and Technology
PDF
10 E-Learning Trends to watch in 2016
PDF
16 Tips on How To Make Money on Udemy – Passive Income from Teaching Online
PPTX
Zara Marketing Campaign Design
PPTX
Shall we play a game?
PDF
Study: The Future of VR, AR and Self-Driving Cars
PDF
What Would Steve Do? 10 Lessons from the World's Most Captivating Presenters
PPTX
Can We Assess Creativity?
PDF
Hype vs. Reality: The AI Explainer
PDF
Visual Design with Data
Presentation Elevation Spring 2015
Building an HTML5 Video Player
Jacks of All Trades or Masters of One?
Pen & Paper Tools for getting from Research to Design
Usability & Webdesign 2010
Say Goodbye to Bullet Points
Basic Chemistry on Your Slide
Social Media Is Dead: Long Live Common Sense.
What the F**K is Social Media: One Year Later
Bring Your Textbook to Life! Ideas & Resources
The Now and Next of Learning and Technology
10 E-Learning Trends to watch in 2016
16 Tips on How To Make Money on Udemy – Passive Income from Teaching Online
Zara Marketing Campaign Design
Shall we play a game?
Study: The Future of VR, AR and Self-Driving Cars
What Would Steve Do? 10 Lessons from the World's Most Captivating Presenters
Can We Assess Creativity?
Hype vs. Reality: The AI Explainer
Visual Design with Data
Ad

Similar to Keeping it Snappy: Improving Website Performance (20)

PDF
Offline of web applications
PDF
Offline for web - Frontend Dev Conf Minsk 2014
PDF
Don't screw it up! How to build durable API
PPTX
Performance soapui siege_last
PPTX
Diana Carciu - Performance Testing with SoapUi and Siege.pptx
PDF
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
PPT
loadrunner
PDF
Presemtation Tier Optimizations
PPTX
Progressive Web Apps - Overview & Getting Started
PPT
Fast and Easy Website Tune Ups
PDF
Forensic Tools for In-Depth Performance Investigations
PDF
Forensic tools for in-depth performance investigations
PDF
The Progressive Web and its New Challenges - Confoo Montréal 2017
PPTX
Why Progressive Web Apps For WordPress - WordCamp Finland
PPTX
Using Automation to Meet Demands for Performance and Quality
PPTX
Why progressive apps for WordPress - WordSesh 2020
PDF
Stress Test as a Culture
PPTX
Production debugging web applications
PDF
Progressive Web Apps by Millicent Convento
PPTX
Software that eats the world! - PerformDay Brussels
Offline of web applications
Offline for web - Frontend Dev Conf Minsk 2014
Don't screw it up! How to build durable API
Performance soapui siege_last
Diana Carciu - Performance Testing with SoapUi and Siege.pptx
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
loadrunner
Presemtation Tier Optimizations
Progressive Web Apps - Overview & Getting Started
Fast and Easy Website Tune Ups
Forensic Tools for In-Depth Performance Investigations
Forensic tools for in-depth performance investigations
The Progressive Web and its New Challenges - Confoo Montréal 2017
Why Progressive Web Apps For WordPress - WordCamp Finland
Using Automation to Meet Demands for Performance and Quality
Why progressive apps for WordPress - WordSesh 2020
Stress Test as a Culture
Production debugging web applications
Progressive Web Apps by Millicent Convento
Software that eats the world! - PerformDay Brussels
Ad

More from M. Jackson Wilkinson (7)

PDF
Rebooting the Blue Button
PDF
Designing for Silence
PDF
Tips for Presenting
PDF
How MacGyver Would Do Design Research
PDF
PDF
Up to Speed on HTML 5 and CSS 3
PDF
Design and UX in an Agile Process
Rebooting the Blue Button
Designing for Silence
Tips for Presenting
How MacGyver Would Do Design Research
Up to Speed on HTML 5 and CSS 3
Design and UX in an Agile Process

Recently uploaded (20)

PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
cuic standard and advanced reporting.pdf
PPT
Teaching material agriculture food technology
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
Cloud computing and distributed systems.
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
A comparative analysis of optical character recognition models for extracting...
cuic standard and advanced reporting.pdf
Teaching material agriculture food technology
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Cloud computing and distributed systems.
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Digital-Transformation-Roadmap-for-Companies.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Spectral efficient network and resource selection model in 5G networks
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Review of recent advances in non-invasive hemoglobin estimation
Diabetes mellitus diagnosis method based random forest with bat algorithm
Building Integrated photovoltaic BIPV_UPV.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Mobile App Security Testing_ A Comprehensive Guide.pdf
A Presentation on Artificial Intelligence
Chapter 3 Spatial Domain Image Processing.pdf
Programs and apps: productivity, graphics, security and other tools

Keeping it Snappy: Improving Website Performance